实验?/p>
常微分方程的数值解?/p>
指令?/p>
[t,y]=ode23(
?/p>
fun
?/p>
,tspan,yo)
2/3
阶龙格库塔方?/p>
[t,y]=ode45(
?/p>
fun
?/p>
,tspan,yo)
4/5
阶龙格库塔方?/p>
[t,y]=ode113(
?/p>
fun
?/p>
,tspan,yo)
高阶微分方程数值方?/p>
其中
fun
是定义函数的文件名?/p>
该函?/p>
fun
必须以为
dx
输出量,
?/p>
t,y
为输入量?/p>
tspan=[t0
tfina]
表示积分的起始值和终止值?/p>
yo
是初始状态列向量?/p>
考虑到初始条件有
0
0
d
,
(0)
0,
d
d
,
(0)
0.
d
S
SI
S
S
t
I
SI
I
I
I
t
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
(5.24)
这就?/p>
Kermack
?/p>
McKendrick
?/p>
SIR
仓室模型
.
方程
(5.24)
无法求出
(
)
S
t
?/p>
(
)
I
t
的解析解
.
我们先做数值计算?/p>
Matlab
代码为:
function
dy=rigid(t,y)
dy=zeros(2,1);
a=1;
b=0.3;
dy(1)=a*y(1).*y(2)-b*y(1);
dy(2)=-a*y(1).*y(2);
ts=0:.5:50;
x0=[0.02,0.98];
[T,Y]=ode45(
'rigid'
,ts,x0);
%plot(T,Y(:,1),'-',T,Y(:,2),'*')
plot(Y(:,2),Y(:,1),
'b--'
)
xlabel(
's'
)
ylabel(
'i'
)
任务?/p>
1
画出
i
?/p>
t
?/p>
?/p>
2
分析各参数的影响
?/p>
57
:求解两点边值问题:
0
)
5
(
,
0
)
1
(
,
3
2
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
y
y
x
y
y
x
。(注意:相应的数值解?/p>
比较复杂)?/p>
y=dsolve('x*D2y-3*Dy=x^2','y(1)=0,y(5)=0','x')
?/p>
y =
-1/3*x^3+125/468+31/468*x^4