Re: Using values from inside a matrix for a new row
- To: mathgroup at smc.vnet.net
- Subject: [mg122387] Re: Using values from inside a matrix for a new row
- From: "David Park" <djmpark at comcast.net>
- Date: Thu, 27 Oct 2011 06:30:13 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <16780975.88626.1319663179641.JavaMail.root@m06>
Using procedural programming: matrix = {{0, 1, 2}}; Do[AppendTo[matrix, Last[matrix] + 1], {9}] matrix Notice that the Do statement by itself produces no output, which is why we have to use the last line to obtain the output. Using the generally nicer functional programming: Nest[Join[#, {Last[#]} + 1] &, {{0, 1, 2}}, 9] The first argument is a pure function (look up Function in Help). The Nest statement applies this to the dummy argument. #. nine times. # is initially the second argument. Notice also that {0, 1, 2} + 1 gives the same result as {0, 1, 2} + {1, 1, 1} David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: Michelle A [mailto:hfvballgurl33 at gmail.com] 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