Re: Using values from inside a matrix for a new row
- To: mathgroup at smc.vnet.net
- Subject: [mg122402] Re: Using values from inside a matrix for a new row
- From: Jacopo Bertolotti <jacopo.bertolotti at gmail.com>
- Date: Thu, 27 Oct 2011 06:32:55 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201110262140.RAA00149@smc.vnet.net>
A conceptually simple (but ugly) way to do that is to first define a array filled with zeroes via the command Table and then use a For loop to fill it with the desired values. a = Table[0, {i, 10}]; For[i = 1, i <= 10, i++, If[i == 1, a[[i]] = {1, 2, 3}, a[[i]] = a[[i - 1]] + 1] ]; MatrixForm[a] A more compact/elegant/efficient (but also less intuitive) way is to re-think it in the form of functional programming and use something like the FoldList command to do the job: MatrixForm@FoldList[Plus, Range[3], Table[1, {9}]] Regards Jacopo On 10/26/2011 11:40 PM, Michelle A wrote: > Hello, > I am new to Mathematica and I am trying to create an array of values > that uses info from the line above. I'm thinking of it like how Excel > would do it but I'm not sure how to go about it in Mathematica. I've > been getting the RecursionLimit error when I try to call an earlier > element of the array. > > Here is what I'm thinking in a simplified form: > > Say I simply want to add a constant (1 here) to each element above. So > I want my answer to be like this: > > 1 2 3 > 2 3 4 > 3 4 5 > > f = {{1, 2, 3}, {f[[1, 1]] + 1, f[[1, 2]] + 1, f[[1, 2]] + 1}} and > continue to have it grow to be a 10x3 matrix. I know I'll need some > i's and j's but I can't get it to work. Do I need to initialize an > array or make a loop to just add one row at a time in a separate > step? > > Any help is greatly appreciated. Thank you > > >
- References:
- Using values from inside a matrix for a new row
- From: Michelle A <hfvballgurl33@gmail.com>
- Using values from inside a matrix for a new row