注册 登录
编程论坛 Matlab

[求助]用ode45解微分方程的程序,错哪儿了????

jianminliu 发布于 2007-07-20 23:44, 1034 次点击
微分方程为:在附件中。
我编的程序如下:
x(1)=x;x(2)=y;z=[x(1),x(2)]';
function xdot=shier(t,z)
r=1;d=0.5;a=0.1;b=0.02;
xdot=[r-a*x(2),0;0,-d+b*x(1)]*z;
ts=0:0.1:15;
x0=[25,2]';
[t,z]=ode45(@shier,ts,x0);
[t,z]
plot(t,z),grid,
gtext('\fontsize{12}x(t)'),gtext('\fontsize{12}y(t)'),
pause,plot(z(:,1),z(:,2)),grid,
xlabel('x'),ylabel('y')

运行后出现:
??? Error: File: shier.m Line: 2 Column: 1
Function definitions are not permitted at the prompt or in scripts.
这是为什么?
只有本站会员才能查看附件,请 登录

[此贴子已经被作者于2007-7-20 23:46:41编辑过]

1 回复
#2
abingchem2007-07-21 20:37
ode求解器所求解的微分方程有个固定的格式,这个格式不能改的,你把r等的值直接使用吧
1