Re: Re: Iterative application of FindRoot with adjusted started values
- To: mathgroup at smc.vnet.net
- Subject: [mg33022] Re: [mg33007] Re: Iterative application of FindRoot with adjusted started values
- From: Sseziwa Mukasa <mukasa at jeol.com>
- Date: Tue, 26 Feb 2002 04:35:07 -0500 (EST)
- Organization: JEOL (USA) Ltd.
- References: <a57hd0$2kb$1@smc.vnet.net> <200202250631.BAA09810@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
aes wrote: > In article <a57hd0$2kb$1 at smc.vnet.net>, > steger at uni-greifswald.de (Thomas Steger) wrote: > > > I use Table[] together with FindRoot[] to repeatedly solve a system of > > equations numerically. Now I would like to give the starting value for > > the first calculation as prespecified while all subsequent starting > > values should equal the n-1 th solution. > > > > Here is a simple example, where the starting value is fixed for all > > calculations to follow. > > > > Clear[g1, g2] > > g1 = a x + b y == c; > > g2 = d x + e y == f; > > Clear[a, b, c, d, e, f] > > a = 0.5; b = 0.1; c = 2; d = 0.9; e = 1; f = .2; > > Clear[a] > > Table[FindRoot[{g1, g2}, {x, 4}, {y, -4}], {a, 0.5, 1, 0.1}] > > Me too. More generally, I'd like to be able to use earlier ("already > calculated"?) values in a table in calculating later values in the same table, > e.g. > > y = Table[ If[ k<2, k-1, a y[[k-1}] + b y[[k-2]] ], {k, 1, 5} ] > > but this doesn't work. > > [To handle things like this I resort to using a DO loop to calculate values of > yTemp[k], then stuff these values into list y; but that's probably a naive -- > maybe even dumb? -- approach.] You could do something like this: y = {0,1,Block[{t1=0,t2=1,val},Sequence@@Table[val = a t1+b t2;t2 = t1;t1 = val,{k,3,5}]} There may be a more clever way of doing the assignments to avoid all the copies but you get the idea. Regards, Sseziwa
- References:
- Re: Iterative application of FindRoot with adjusted started values
- From: aes <siegman@stanford.edu>
- Re: Iterative application of FindRoot with adjusted started values