帮忙看一下Matlab代码,索引超出数组范围,怎么改呀???

function dx=fun(x,t)
a=1000;
b=0.2;
c=0.4;
d=1;
e=800;
f=0.2;
dx(1)=x(1)*(a-b*x(1))-c*x(1)^2*x(2)/(d+x(1)^2);
dx(2)=x(2)*(-e-f*x(2)+c*x(1)^2/(d+x(1)^2));
end

h=0.1;%所取时间点间隔
ts=[0:h:30];%时间区间
x0=[1000,700];%初始条件
opt=odeset('reltol',1e-4,'abstol',1e-4);%相对误差1e-4,绝对误差1e-4
[t,x]=ode45(@fun,ts,x0,opt);%使用5级4阶龙格?库塔公式计算
plot(t,x(:,1),'r',t,x(:,2),'b','LineWidth',2),grid;
pause;
plot(x(:,1),x(:,2),'LineWidth',2),grid %作相轨线

1、打开matlab命令行窗口,输入help zeros,可以看一下创建多维数组zeros函数的用法。

2、输入zeros(1,6),创建一个1行6列的一维数组。

3、输入zeros(2,4),创建一个2行4列的二维数组。

4、输入zeros(2,4,2),创建一个2行4列2页的三维数组。

5、按回车键之后,可以看到每页的二维数组。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-02
索引超出数组范围,意思是比如说你的数组有n个值,但你用的时候你用到了a(n+1);就会提醒你超出维度。本回答被网友采纳
相似回答