[Date Index]
[Thread Index]
[Author Index]
Re: Plot3D with NDSolve
*To*: mathgroup at smc.vnet.net
*Subject*: [mg81965] Re: Plot3D with NDSolve
*From*: Andrew Moylan <andrew.j.moylan at gmail.com>
*Date*: Sun, 7 Oct 2007 23:59:09 -0400 (EDT)
*References*: <fdnlg5$klu$1@smc.vnet.net>
On Sep 30, 6:07 pm, sean_incali <sean_inc... at yahoo.com> wrote:
> Hello group,
>
> Let's say I can solve the following DE that depends on 2 paparmeters a
> and b, and plot it accordingly.
>
> eqn = y'[x] == b/(a y[x])
> par = {a -> 1, b -> 1}
>
> solution = NDSolve[{eqn /. par, y[0] == 0.1}, y, {x, 0.1, 5}];
>
> Plot[y[x] /. solution, {x, 0.1, 5}];
>
> Above shows a 2d graph in x and y axes.
>
> What I want to do is now use one of the parameter as z axis.
>
> So I need to solve the DE while varying a from 1 to 5 for instance.
>
> Then I want to graph the solutions as a 3D object. with x. y and a
> axis (where a will be the new z axis.)
>
> I guess I can use Table to iterate the whole procedure, but I wanted
> to see how others would approach it.
>
> For instance, if I use
>
> eqn = y'[x] == b/(a y[x])
> par = {b -> 1}
>
> solution = Table[NDSolve[{eqn /. par, y[0] == 0.1}, y, {x, 0.1, 5}],
> {a, 1, 5}];
>
> Plot[Evaluate[y[x] /. solution], {x, 0.1, 5}];
>
> It will shows all the solutions in one 2D graph. I want to see them in
> 3D.
>
> On the side note.. Why does the Plot require the "Evaluate" in the
> second code I posted and not in the first code???
>
> If someone can explain that that will be great also.
>
> Thanks in advance as usual.
>
> sean
Here's a way Sean:
eqn[(a_)?NumericQ] = Derivative[1][y][x] == b/(a*y[x]) /. b -> 1
solution[(a_)?NumericQ] := solution[a] =
Block[{x},
y /. NDSolve[{eqn[a], y[0] == 0.1}, y, {x, 0.1, 5}][[1]]]
solution3d = FunctionInterpolation[solution[a][x], {a, 1, 5},
{x, 0.1, 5}]
Plot3D[solution3d[a, x], {a, 1, 5}, {x, 0.1, 5}]
Prev by Date:
**change of variables**
Next by Date:
**Issue with Locator's crosshairs object**
Previous by thread:
**Re: Plot3D with NDSolve**
Next by thread:
**Re: Plot3D with NDSolve**
| |