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