Re: Numerical Solution to a System of Differential Equations...
- To: mathgroup@smc.vnet.net
- Subject: [mg12261] Re: Numerical Solution to a System of Differential Equations...
- From: "Allan Hayes" <hay@haystack.demon.co.uk>
- Date: Tue, 5 May 1998 03:29:57 -0400
----------
In article <6ibvba$ev@smc.vnet.net>, Ragavan
<rm2d@csis5.ee.virginia.edu> wrote:
>I have been trying (unsuccessfully) to numerically solve a system of
>differential equations of the form y'=M.y, where y', M and y are all
>matrices. I also specify an initial value matrix Init which will be
>assigned to y0, the initial value vector.
>
>Now, I try to solve using NDSolve:
>
>In[4]:= NDSolve[ {MapThread[Equal,{y', M.y}],
>MapThread[Equal,{y0,Init}]},
> y, {t,0,10}]
>
>and obtain an output which looks like this:
>
>Out[4]={y1[t]\[Rule]InterpolatingFunction[{{0.`,10.`}},"<>"][t],
> y2[t]\[Rule]InterpolatingFunction[{{0.`,10.`}},"<>"][t],
> y3[t]\[Rule]InterpolatingFunction[{{0.`,10.`}},"<>"][t]}}
>
>(y1, y2, y3 are elements in the y vector.)
>
>But when I try to look at the result for a given value of the dependent
>variable t (say 5):
>
>In[5]:= y3[5] /. %
>
>all I get is
>
>Out[5]= y3[5]
Ragavan:
No rule in Out[4] matches y3[5]; but you might try:
y3[t]/.%4[[1]]/.t->5 (*[[1]] extracts the inner list*)
Alternatively:
y2[t] ...}.
If you set y0 = {y1,y2,...}
Then the solution will be for the functions y1,y2, ..and will be of the
form
fnSoln= {{y1\[Rule]InterpolatingFunction[{{0.`,10.`}},"<>"],
> y2\[Rule]InterpolatingFunction[{{0.`,10.`}},"<>"],
> y3\[Rule]InterpolatingFunction[{{0.`,10.`}},"<>"]}}
Then try
(y3/. fnSoln[[1]])[5]