用matlab进行双方演化博弈数值分析总是出错,不能运行,求大神指导!(相位图)
出错代码是下面的:
出错 odearguments (第 60 行)
if (nargin(ode) == 2)
出错 ode45 (第 104 行)
odearguments(odeIsFuncHandle,odeTreatAsMFile, solver_name, ode, tspan, y0, options, varargin);
出错 untitled3 (第 7 行)
[t,y]=ode45('sfby',[0 5],[i j]);%%%求解方程的算法,方程运行时间(次数)
代码如下:
>> function dydt=sfby(t,y)
c1=1;d1=0.5;p1=2;p2=0.5;p3=1;c2=1.5;c3=0;d2=0.5;p4=3;p5=1;c5=0.5;c6=0;
dydt=zeros(2,1);
dydt(1)=-y(1)*(y(1) - 1)*(- y(2)*(c1 + d1) + p1 + p2 - p3 - c2 + c3 + 2*d2);
dydt(2)=-y(2)*(y(2) - 1)*(y(1)*(c1 + d2)+ p4 - p5 -c5 + c6);
end
clear;clc
for i=0:0.1:1
for j=0:0.1:1
[t,y]=ode45('sfby',[0 5],[i j]);
grid on
plot(y(:,1),y(:,2));
hold on
axis([0 1 0 1])
xlabel('x');
ylabel('y');
end
end