请帮我看一看matlab这段代码哪里错了?

function y =ill(t,x)
a=1;b=0.3;
y = [a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';
ts=0:50;
x0=[0.0034424, 0.99431988];
[t,x]=ode45('ill',ts,x0);[t,x]
plot(t,x(:,1),t,x(:,2)),grid,pause
plot(x(:,2),x(:,1)),grid,

题主编写的代码内容是基本要求,但出现错误的根本原因是没有正确理解计算流程,什么是函数。所以,我们写程序基本分成两大块:

第一块是主程序(可以写成主执行函数,也可以在命令窗口中输入),即

ts=0:50;

x0=[0.0034424, 0.99431988];

[t,x]=ode45(@ill,ts,x0);

[t,x]

figure(1)

plot(t,x(:,1),t,x(:,2)),grid,pause

figure(2)

plot(x(:,2),x(:,1)),grid

第二块是自定义函数(可以与主执行函数合并,保存为一个执行文件,或单独保存为一个函数文件),但必须注意先后顺序。

function y =ill(t,x)

a=1;b=0.3;

y = [a*x(1)*x(2)-b*x(1);-a*x(1)*x(2)];

end

如图片内容所示。

按要求排序书写程序,执行可以得到结果。

温馨提示:答案为网友推荐,仅供参考