I have defined a set of differential equations stored in sol and I’d like to plot them while being able to change the parameters. I’ve tried it like so:

Manipulate[

sol = DSolve[{Derivative[1][x][t] == -b x[t],

Derivative[1][p][t] == -(1 – r) p[t] + b x[t], x[0] == 100,

p[0] == 10}, {x[t], p[t]}, t],

Plot[Evaluate[p[t] /. sol[[1, 1]], {t, 0, 10}], {b, 0, 1}, {r, 0, 1}]

]

but I’m receiving the error message:

“Manipulate argument Plot[Evaluate[p[t]/. \

sol[[1,1]],{t,0,10}],{b,0,1},{r,0,1}] does not have the correct form \

for a variable specification.”

Any idea how I can fix this? I’d be much appreciated.

=================

=================

1 Answer

1

=================

You have a few syntax errors. See below for corrected code:

Manipulate[

sol = DSolve[

{Derivative[1][x][t] == -b x[t],

Derivative[1][p][t] == -(1 – r) p[t] + b x[t],

x[0] == 100, p[0] == 10},

{x[t], p[t]}, t

];

Plot[Evaluate[p[t] /. sol[[1, 1]]], {t, 0, 10}],

{b, 0, 1}, {r, 0, 1}

]

Thank you very much.

– phytab

Jul 6 at 18:35

Yeah, I couldn’t because I didn’t have enough “points”. I have now so it’s done 🙂

– phytab

Jul 7 at 14:57

@phytab Thank you!

– MarcoB

Jul 7 at 20:12