Bakteriepopulation
dy
y⎞
⎛
= cy⎜1 − ⎟
dt
⎝ B⎠
ƒ Y 0 st bakterier i någon miljö vid t=0
ƒ y(t) beskriver förökningstakten
ƒ B max antal bakterier
ƒ C tillväxthastigheten hos bakterierna
dy
(0) = Y0
dt
På standardform:
dy
= f (t , y )
dt
⎛ y⎞
f (t, y) = cy⎜1 − ⎟
⎝ B⎠
Med exakt lösning:
Be ct + K
y (t ) =
1 + e ct + K
⎛ Y0 ⎞
K = ln⎜
⎟
B
Y
−
0 ⎠
⎝
y (0) = Y0
Numerisk lösning med Eulers metod:
y ⎞
1 ⎛
y k +1 = y k + h f (t k , y k ) = y k + h y k ⎜1 − k ⎟
2 ⎝ 1000 ⎠
y 0 = 100
t k +1 = t k + h
clear all
B=1000;
C=0.5;
% Konstanter
t0=0;
y0=100;
tend = 30;
h=1;
% Begynnelsedata
y=y0;
t=t0;
tplot=t;
yplot=y;
nosteps = 30/h;
% Sluttid
% Steglängd
% För att spara tidpunkter och lösning
% Antal tidssteg
% Eulers metod:
for i=1:nosteps
y = y + h*(C*y*(1-y/B))
t=t+h;
tplot=[tplot;t];
yplot=[yplot;y];
end
% Plotta numerisk lösning
plot(tplot,yplot,‘g*'), hold on
% Exakt lösning
t_ex=[0:0.1:30];
K=log(y0/(B-y0));
y_ex=B*exp(C*t_ex+K)./(1+exp(C*t_ex+K));
% Plotta exakt lösning
plot(t_ex,y_ex,'b')