Re: NDSolve, three 2-d order ODE, 6 initial conditions
- To: mathgroup at smc.vnet.net
- Subject: [mg115189] Re: NDSolve, three 2-d order ODE, 6 initial conditions
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Tue, 4 Jan 2011 04:22:45 -0500 (EST)
Perhaps a call to ndSol with some parameters (known only to you) will
cause an error message... but the statement you posted, as it is, gives NO
error message.
That said, it seems to me that {t, t1} needs replacement with something
like {t, t1, t2}, as NDSolve needs lower AND upper limits.
{x[t], y[t], z[t]} should be {x, y, z}, since NDSolve will return
InterpolatingFunction results, not symbolic ones.
Though it's not necessary, I'd also replace D[x[t], {t, 2}] with x''[t],
D[x[t], t] with x'[t], and (D[x[t], t] /. {t -> 0}) with x'[0].
The result is
ndSol[w_,w0_,w1_,x0_,y0_,z0_,v0x_,v0y_,v0z_,t1_,t2_]:=NDSolve[{-w Sin[t w]
(x^\[Prime])[t]+w Cos[t w] (y^\[Prime])[t]+Cos[t w]
(x^\[Prime]\[Prime])[t]+Sin[t w] (y^\[Prime]\[Prime])[t]==(w-w0) (Sin[t w]
(x^\[Prime])[t]-Cos[t w] (y^\[Prime])[t]),-Sin[t w]
(x^\[Prime]\[Prime])[t]+Cos[t w] (y^\[Prime]\[Prime])[t]==(w-w0) (Cos[t w]
(x^\[Prime])[t]+Sin[t w] (y^\[Prime])[t])+w1 (z^\[Prime])[t],0==w1 (Sin[t
w] (x^\[Prime])[t]-Cos[t w1]
(y^\[Prime])[t]),(x^\[Prime])[0]==v0x,(y^\[Prime])[0]==v0y,(z^\[Prime])[0]==v0z,x[0]==x0,y[0]==y0,z[0]==z0},{x,
y, z},{t,t1,t2}];
That will fail if w1 == 0, since it causes one of the equations to be
trivially True, and the equation is unnecessarily complicated when w1 is
NOT zero.
In case w1 == 0, z is also uncoupled from x and y, and it will be simply
z[t_] = z0 + v0z t
Hence, we could redefine ndSol as:
Clear[ndSol]
ndSol[w_,w0_,0,x0_,y0_,z0_,v0x_,v0y_,v0z_,t1_,t2_]:=
Append[NDSolve[{-w Sin[t w] x'[t]+w Cos[t w] y'[t]+Cos[t w] x''[t]+Sin[t
w] y''[t]==(w-w0) (Sin[t w] x'[t]-Cos[t w] y'[t]),-Sin[t w] x''[t]+Cos[t
w] y''[t]==(w-w0) (Cos[t w] x'[t]+Sin[t w]
y'[t]),x'[0]==v0x,y'[0]==v0y,x[0]==x0,y[0]==y0},{x, y},{t,t1,t2}],z->z0+#
v0z&]
ndSol[w_,w0_,w1_,x0_,y0_,z0_,v0x_,v0y_,v0z_,t1_,t2_]:=NDSolve[{-w Sin[t w]
x'[t]+w Cos[t w] y'[t]+Cos[t w] x''[t]+Sin[t w] y''[t]==(w-w0) (Sin[t w]
x'[t]-Cos[t w] y'[t]),-Sin[t w] x''[t]+Cos[t w] y''[t]==(w-w0) (Cos[t w]
x'[t]+Sin[t w] y'[t])+w1 (z')[t],0==Sin[t w] x'[t]-Cos[t w1]
y'[t],x'[0]==v0x,y'[0]==v0y,(z')[0]==v0z,x[0]==x0,y[0]==y0,z[0]==z0},{x,
y, z},{t,t1,t2}];
Whether that is solvable for the parameters you'd like to pass, I can't
venture to guess.
Bobby
On Mon, 03 Jan 2011 02:56:52 -0600, michael partensky
<partensky at gmail.com> wrote:
> Hi, group!
>
> An attempt to demonstrate a (restricted) analogy between the Bloch
> (magnetic resonance) equation and the motion equation for a charged
> particle
> in the magnetic field leads to the following equation:
>
> ndSol[w_, w0_, w1_, x0_, y0_, z0_, v0x_, v0y_, v0z_, t1_] :=
> NDSolve[{Cos[w t ] D[x[t], {t, 2}] + Sin[ w t] D[y[t], {t, 2}] - w
> Sin[w
> t] D[x[t], t] + w Cos[w t] D[y[t], t] == (w - w0) ( Sin[w t ] D[x[t], t]
> -
> Cos[w t] D[y[t], t]),
> -Sin[w t] D[x[t], {t, 2}] + Cos[w t] D[y[t], {t, 2}] == (w - w0)
> (Cos[w
> t] D[x[t], t] + Sin[w t] D[y[t], t]) + w1 D[z[t], t],
> D[z, {t, 2}] == w1 (Sin[w t] D[x[t], t] - Cos[w1 t] D[y[t], t]),
> (D[x[t], t] /. {t -> 0} ) == v0x, (D[y[t], t] /. {t -> 0} ) == v0y,
> (D[z[t],
> t] /. {t -> 0}) == v0z, x[0] == x0, y[0] == y0, z[0] == z0 }, {x[t],
> y[t],
> z[t]}, {t, t1}];
>
> Apparently there is an error - u will see the message. Could you please
> help
> catching it?
> Thanks
> Michael Partenskii
>
>
--
DrMajorBob at yahoo.com