请高手帮我看看我的分岔程序错在哪里啦,谢谢
function dx=chaosEE(t,x)dy=zeros(5,1);
dx(1)=-x(1)+x(2)+x(1)*x(3)+x(2)*x(4)+E;
dx(2)=-x(1)-x(2)-x(2)*x(3)+x(1)*x(4);
dx(3)= -2*x(1)*x(1)+2*x(2)*x(2)-x(3)+2*x(4);
dx(4)=-4*x(1)*x(2)-2*x(3)-x(4);
clear
clc
close all
global E;
for E=0:0.1:15;
=ode45('chaosEE',,);
data=X(:,1).^2+X(:,2).^2;
n=length(data);
N=round(n/2);
f=data(N-2);
g=data(N-1);
for i=N:n
if g>=f & g>=data(i);
plot(a,g);
hold on;
axis on;
axis();
else
end
f=g;
g=data(i);
end
end 是dx=zeros(4,1);吧 回复 aachangshuai 的帖子
楼上说的对,另外你在主函数中用到了全局变量E,但在函数文件中没有参数传递
建议你把程序改成这样试试
function dx=chaosEE(t,x)
global E;
dx=zeros(4,1);
dx(1)=-x(1)+x(2)+x(1)*x(3)+x(2)*x(4)+E;
dx(2)=-x(1)-x(2)-x(2)*x(3)+x(1)*x(4);
dx(3)= -2*x(1)*x(1)+2*x(2)*x(2)-x(3)+2*x(4);
dx(4)=-4*x(1)*x(2)-2*x(3)-x(4);
页:
[1]