%达芬振子 m*x''+c*x'+k*x+x^3=f*cos(w*t)
function xdot=duffing(t,x,options,f)
%parameter input
m=1;
c=0.3;
k=1;
w=1.2;
%state functionxdot
xdot=[x(2);f*cos(w*t)/m-c*x(2)/m-k*x(1)/m-x(1)^3/m];
%达芬振子 m*x''+c*x'+k*x+x^3=f*cos(w*t) 相图
options=odeset;
f=0;%0.2 0.28 0.2878 0.298 0.31
tspan=[400:0.01:500];
x0=[1;1];
[t,x]=ode45('duffing',tspan,x0,options,f);
plot(t,x(:,1));
figure
plot(x(:,1),x(:,2));
% plot(x(end-500:end,1),x(end-500:end,2)); |