       Re: More problem with DSolve applied to System of ODE

• To: mathgroup at smc.vnet.net
• Subject: [mg28158] Re: [mg28139] More problem with DSolve applied to System of ODE
• From: BobHanlon at aol.com
• Date: Mon, 2 Apr 2001 02:18:28 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```\$Version

"4.1 for Power Macintosh (November 2, 2000)"

Clear[a1, b1, a, q1, q2, q3, t];

a12 = 0.8316;  a23 = 0.0086625;  a31 = 0.0462;
a10 = 1.9404;  a30 = 0.001155;

Make substitutions as early in the process as is practicable.

eq = {Derivative[q1][t] == a1*E^(- b1*t) - (a12 + a10)*q1[t] +
a31*q3[t],
Derivative[q2][t] == a12*q1[t] - a23*q2[t],
Derivative[q3][t] == a23*q2[t] - (a31 + a30)*q3[t],
q1 ==  a, q2 == 0, q3 == 0} /.
{a -> 0, a1 -> 1, b1 -> 1};

{q1[t_], q2[t_], q3[t_]} =
Simplify[{q1[t], q2[t], q3[t]} /.
DSolve[eq, {q1[t], q2[t], q3[t]}, t][] ];

{q1, q2, q3}

{-3.1268390654481987*^-16, -1.734723475976807*^-17,
-6.938893903907228*^-18}

funcs = Flatten[{
{q1[t], q2[t], q3[t]},
Chop[{q1[t], q2[t], q3[t]}]}];

Plot[Evaluate[funcs], {t, 0, 20},
Frame -> True, Axes -> False,
PlotStyle -> {
{AbsoluteDashing[{5, 5}], RGBColor[1, 0, 0]},
{AbsoluteDashing[{5, 5}], RGBColor[0, .75, 0]},
{AbsoluteDashing[{5, 5}], RGBColor[0, 0, 1]},
{RGBColor[1, 0, 0]}, {RGBColor[0, .75, 0]},
{RGBColor[0, 0, 1]}},
ImageSize -> {335, 200}, PlotRange -> {-0.01, 0.31}];

Chop is required if evaluating above t = 13

Bob Hanlon

In a message dated 2001/4/1 1:18:27 AM, guillerm at gugu.usal.es writes:

>Dear friends. I have some problems with DSolve (It is not the firt time)
>
>in Math 4.1 for Windows. The problem is the follow:
>
>a12 = 0.8316; a23 = 0.0086625; a31 = 0.0462; a10 = 1.9404; a30
>= 0.001155;
>
>eq = {Derivative[q1][t] == a1 E^(- b1*t) - (a12 + a10)*q1[t] +
>a31*q3[t], Derivative[q2][t] == a12*q1[t] - a23*q2[t],
>Derivative[q3][t] == a23*q2[t] - (a31 + a30)*q3[t]};
>
>{q1[t_], q2[t_], q3[t_]} = FullSimplify[{q1[t], q2[t], q3[t]} /.
>DSolve[Join[eq, {q1 == a, q2 == 0, q3 == 0}],
>{q1[t], q2[t], q3[t]}, t][] /. a -> 0];
>
>But the solution is wrong because it doesn`t`with the initial condition.
>
>i.e: for  a1 -> 1, b1 -> 1
>
>{q1, q2, q3} /. {a1 -> 1, b1 -> 1}
>
>out: {-0.18026427146397125, 1.327120201951776*^-16,
>4.406453795543006*^-18}
>
>that is wront It should be q1 = 0, and not {-0.18..}. I have test
>to rationalize and increase the precition.
>

```

• Prev by Date: Re: How do I add rows to a text table?
• Next by Date: PSE with Mathematica
• Previous by thread: Re: How do I add rows to a text table?
• Next by thread: PSE with Mathematica