matlab 使用ode45求解时报错

我在做演化博弈使用ode45函数求解时出现了如下错误,请问如何解决?

索引超出矩阵维度。

出错 differential (line 2)
dxdt=[x(1)*(1-x(1))*(10-3*x(3)-5*x(2));x(2)*(1-x(2))*(4*x(1)+12.6*x(3)-9);

出错 odearguments (line 87)
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

出错 ode45 (line 115)
    odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);

出错 run (line 5)
[T,Y]=ode45(@differential,[0,20],[i j m]);

以下是源代码:

 

 

function dxdt=differential(x,t)
dxdt=[x(1)*(1-x(1))*(10-3*x(3)-5*x(2));x(2)*(1-x(2))*(4*x(1)+12.6*x(3)-9);
    x(3)*(1-x(3))*(3*x(1)*x(2)+20.4*x(2))]
%t是演化的步长和时间
end
clear all
for i=0.1:0.2:0.9
for j=0.1:0.2:0.9
for m=0.1:0.2:0.9
[T,Y]=ode45(@differential,[0,20],[i j m]);
figure(1)
grid on
plot(T,Y(:,1),'r-','lineWidth',1);
hold on
plot(T,Y(:,2),'b--','lineWidth',1);
hold on
plot(T,Y(:,3),'g*','lineWidth',1);
hold on
end
end
end

 

我也遇到这个问题,请问你解决了么

 

exactly