## 90 Reputation

13 years, 223 days

## Plot of certain function ...

Maple

Hello

I have an SEIR model.

Equation 5 is for disease death but I would like to plot the cumulative numbers of disease death which will be the integral of Equation 5. I added the integral inside odeplot but it is not working. Any idea  about  how to compute the integral ?

Maple code is attached

Thank you

code.mw

## how to extract specific values from dsol...

Maple

Hello,

After solving ode I am looking only for the values >=1.5. For example at t=1, y(t)=3.8940.

How can I extract the values >= 1.5 from the solution to use it as data (t,y(t)) and save it ?

restart;
with(DEtools); with(plots);
eqn := diff(y(t), t) = -.25*y(t);

init := y(0) = 5;

sol := dsolve({eqn, init}, {y(t)}, numeric, output = array([seq(i, i = 0 .. 50)]));
p[1] := plot(1.5, t = 0 .. 50, colour = black);

p[2] := odeplot(sol, [t, y(t)], t = 0 .. .50, colour = red);

display(p[1], p[2]);

Thanks

## Is there a shortcut to my code (solving ...

Maple

Hello,

The idea: parameter "a" will have a new random value each 10 days.

The way I did it is working but it can get very long especially if I do it for a system of equations and for long time more than a year (365 days).

The code:

with(DEtools); with(plots);
n := 5;

for i to n do Ra[i] := RandomTools:-Generate(distribution(Uniform(0.1e-1, .5))); a[[i]] := Ra[i] end do;

b := 0.1e-2;

T := 10;

eq := diff(L(t), t) = a*L(t)-b;

init[1] := L(0) = 100;
sol[1] := dsolve({init[1], subs(a = a[[1]], eq)}, L(t), range = 0 .. T, numeric);

init[2] := L(T) = rhs(sol[1](T)[2]);

sol[2] := dsolve({init[2], subs(a = a[[2]], eq)}, L(t), range = T .. 2*T, numeric);

init[3] := L(2*T) = rhs(sol[2](2*T)[2]);
sol[3] := dsolve({init[3], subs(a = a[[3]], eq)}, L(t), range = 2*T .. 3*T, numeric);

p[1] := odeplot(sol[1], [t, L(t)], t = 0 .. T);

p[2] := odeplot(sol[2], [t, L(t)], t = T .. 2*T);

p[3] := odeplot(sol[3], [t, L(t)], t = 2*T .. 3*T);

p := display([p[1], p[2], p[3]]);
display(p);

Thank you

## random value at each time step...

Maple

Hello,

I am trying to make c (0.001<=c<=0.02) a random value at each time step.But with my code c is choosing randomly from the interval then solveing the equation for fixed c at each time step.

How can I mack c a diffrent random value at each time step?

This is my code:

> with(DEtools); with(plots);
>
> Ra := RandomTools:-Generate(distribution(Uniform(0.001, 0.02))); c := Ra;
> f := .1;
>
> eq := diff(X(t), t) = 1-f-c*X(t);
>
> init := X(0) = 100;
>
> sol := dsolve({eq, init}, {X(t)}, range = 0 .. 100, numeric);
>
> odeplot(sol, [[t, X(t)]], t = 0 .. 100);

Thank you

## how to choose the maximum interval from ...

Maple

Hello,

I would like to choose the maximum interval which is here B3 not the maximum value.I used max which gave me the maximum value. Any ideas?

This is the output:

B1:=[2., 36.718220544331125]
B2:=[2., 35.08378362904457]
B3:=[2., 51.78712780854305]
datamax:= 51.78712780854305

how to get datamax:= [2., 51.78712780854305] instead of datamax:= 51.78712780854305?

This is my Maple code:

> restart;
> n := 3;
> for i to n do A[i] := RandomTools:-Generate(distribution(Uniform(.5, .75))) end do;
> eq := diff(X(t), t) = -S*X(t);
> ic[1] := X(0) = 150;
> for i to n do s[i] := dsolve({ic[1], subs(S = A[i], eq)}, X(t), range = 0 .. 10, numeric) end do;
> for i to n do B[i] := eval([t, X(t)], s[i](2)) end do;

datamax := max([seq(B[i], i = 1 .. n)]);

Thank you

 1 2 3 4 Page 1 of 4
﻿