Deterministické modely rùstu a existenèního boje
Modely rùstu
> unassign('x','t','a','g','k');
Nech�  znaèí velikost rùstu populace v èase . Pøedpokládáe, že  plòuje rovnici:
> r[1]:=diff(x(t),t)=a*x(t)*g(x(t)/k);

pro nìjkou funkci  a konstanty  a . 
Rovnice  vyjadøuje, jak rychlost rùstu populce závisí na její velikosti
Malthusùv pøedpoklad 
Za pøedpokladu, že funkce je konstantní
g:=y->1;

má rovnice tvar:
Malt:=r[1];

a její øešení je:
M:=dsolve(Malt);
g:='g':

> C1:=solve(subs(t=0,a=.4,k=1,rhs(M))=10);

> plot(subs(_C1=C1,a=.4,rhs(M)),t=0..10);

nakreslíme øešení pro rùzné poèáteèní podmínky:
> with(DEtools);
ivs:=[seq(x(0)=i*10,i=-1..5)];
DEplot( subs(a=.4,Malt), x(t), t=0..10, ivs );
#phaseportrait( subs(a=.4,Malt), x(t), t=0..10, ivs );

Verhulstùv pødpoklad  (logistická køivka)
> g:=y->1-y;
Verh:=r[1];
V:=dsolve(Verh);
g:='g':

H. Hotelling, stanovil v roce 1940 hodnotu parametr; a=0.031239, b=67.5352, k= pro po4et obzvatel v USA.
> C1:=solve(subs(t=0,a=.4,k=1,rhs(V))=1);

> plot(subs(_C1=10,a=.4,k=1,rhs(V)),t=0..10);

> InlexniBod=solve(
simplify(diff(rhs(V),t,t))=0
,t);

> assume(k>0,a>0,_C1>0);
#with(RealDomain);
Limit(rhs(V),t=infinity)=limit(rhs(V),t=infinity);

> with(plots);
p1:=plot(subs(_C1=10,a=.4,k=1,{rhs(V),k}),t=0..20):
p2:=textplot([17,1.02,"saturaèní hranice"],align={above,right}):
display({p1,p2});
unassign('k','a','_C1');

> ivs:=[seq(x(0)=i*.1,i=0..15)];
DEplot( subs(a=.4,k=1,Verh), x(t), t=0..10, ivs, animatecurves = true );

> 
Gompertzùv pøedpoklad 
> g:=y->-ln(y);
with(PDEtools,declare);
declare(x(t),prime=t);;
Gomp:=r[1];
infolevel[dsolve] := 3;
#odeadvisor(Gomp, help);
G:=simplify(dsolve(Gomp));
g:='g':

Methods for first order ODEs:
--- Trying classification methods ---
trying a quadrature
trying 1st order linear
trying Bernoulli
trying separable
<- separable successful

> C1:=solve(subs(t=0,a=.4,k=1,rhs(G))=.2);

> with(RealDomain);
G2:=dsolve({Gomp,x(0)=.1});

Methods for first order ODEs:
--- Trying classification methods ---
trying a quadrature
trying 1st order linear
trying Bernoulli
trying separable
<- separable successful

> plot(subs(_C1=10,a=.4,k=1,_Z2=10,{rhs(G),rhs(G)}),t=0..10);

> infolevel[dsolve] := 0;
ivs:=[seq(x(0)=i*.1,i=0..15)];
DEplot( subs(a=.4,k=1,Gomp), x(t), t=0..10, ivs, animatecurves = true );

Warning, plot may be incomplete, the following errors(s) were issued:
   cannot evaluate the solution past the initial point, problem may be complex, initially singular or improperly set up

> xxx:=subs(a=.4,k=1,Gomp);
zzz:=dsolve({xxx,x(0)=.1},numeric);

> f:=t->op(2,zzz(t));

> plot(rhs(zzz(t)[2]),t=0..10);
Error, invalid input: rhs received zzz(t)[2], which is not valid for its 1st argument, expr

> aaa:=rhs(zzz(t)[2]);
> 
Error, invalid input: rhs received zzz(t)[2], which is not valid for its 1st argument, expr

> plot(aaa,t=0..10);
Warning, unable to evaluate the function to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct

Plotting error, empty plot
> 
Dvì populace soupeøící o obživu
> with(DEtools);unassign('x','t','a','k','c','_r');

> _r[1]:=diff(x[1](t),t)=a[1]*x[1](t)*(k[1]-x[1](t)-c[1]*x[2](t))/k[1];
_r[2]:=diff(x[2](t),t)=a[2]*x[2](t)*(k[2]-x[2](t)-c[2]*x[1](t))/k[2];

> dfieldplot(subs(k[1]=105,k[2]=64,a[1]=1.124,a[2]=.794,c[1]=1.64,c[2]=.61,[_r[1],_r[2]]),
[x[1](t),x[2](t)],t=-2..2, x[1]=39..40.5, x[2]=39..40.5, arrows=SMALL,
title=``, color=[.3*x[2](t)*(x[1](t)-1),x[1](t)*(1-x[2](t)),.1]);

> A:='A';B:='B';
xxx:=solve({k[2]=A,k[1]/c[1]=B,k[2]/c[2]=E,k[1]=F},{k[1],k[2],c[1],c[2]});

> 

> dfieldplot(subs(
subs(A=1,B=2,E=1,F=2,xxx),
a[1]=2.,a[2]=1,
[_r[1],_r[2]]),
[x[1](t),x[2](t)],t=-2..2, x[1]=-.2..3, x[2]=-.1..2, arrows=SMALL,
title=`Limitni stav je [k[1],0]`, color=[.3*x[2](t)*(x[1](t)-1),x[1](t)*(1-x[2](t)),.1]);

dfieldplot(subs(
subs(A=2,B=1,E=1,F=2,xxx),
a[1]=2.,a[2]=1,
[_r[1],_r[2]]),
[x[1](t),x[2](t)],t=-2..2, x[1]=-.2..2.3, x[2]=-.1..2.3, arrows=SMALL,
title=`Limitni stavy [k[1],0], nebo [0,k[2]] zaviseji na poc. podm.`, color=[.3*x[2](t)*(x[1](t)-1),x[1](t)*(1-x[2](t)),.1]);

dfieldplot(subs(
subs(A=1,B=2,E=2,F=1,xxx),
a[1]=2.,a[2]=1,
[_r[1],_r[2]]),
[x[1](t),x[2](t)],t=-2..2, x[1]=.4..0.8, x[2]=0.5..1.2, arrows=SMALL,
title=`Limitni stav je [(k[1]-c[1]*k[2])/(1-c[1]*c[2]),(k[2]-c[2]*k[1])/(1-c[1]*c[2])]`, color=[.3*x[2](t)*(x[1](t)-1),x[1](t)*(1-x[2](t)),.1]);

dfieldplot(subs(
subs(A=2,B=1,E=2,F=1,xxx),
a[1]=2.,a[2]=1,
[_r[1],_r[2]]),
[x[1](t),x[2](t)],t=-.2..2, x[1]=-.2..2.1, x[2]=-.1..2, arrows=SMALL,
title=`Limitni stav je [0,k[2]]`, color=[.3*x[2](t)*(x[1](t)-1),x[1](t)*(1-x[2](t)),.1]);

> 
> 
>