|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我想绘出分段线性系统(蔡氏电路)的吸引子,下面是matlab代码
function dxdt=chua(t,x,alpa,beta,gama,a,b)
alpa=10;beta=15;gama=0.0385;a=-1.27;b=-0.68;
dx=zeros(3,1);
if x(1)>1
f(x(1))=-b*x(1)-a+b;
elseif x(1)<-1
f(x(1))=-b*x(1)+a-b;
else f(x(1))=-a*x(1);
end
dx(1)=alpa*(x(2)-x(1)+f(x(1)));
dx(2)=x(1)-x(2)+x(3);
dx(3)=-beta*x(2)-gama*x(3);
x0=rand(3,1);
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,x] = ode45(@chua,[0 200],x0,options);
figure%a 3d figure
plot3(x(:,1),x(:,2),x(:,3));
系统提示
??? Attempted to access f(0.950129); index must be a positive integer or logical.
Error in ==> chua at 8
else f(x(1))=-a*x(1);
Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
不知问题出现在哪,请大家指教? |
|