微分方程的定义 对于duffing 方程032xxx,先将方程写作3112221xxxxx function dy=duffing(t,x) omega=1;%定义参数 f1=x(2); f2=-omega^2*x(1)-x(1)^3; dy=[f1;f2]; 2
微分方程的求解 function solve (tstop) tstop=500;%定义时间长度 y0=[0
01;0];%定义初始条件 [t,y]=ode45('duffing',tstop,y0,[]); function solve (tstop) step=0
01;%定义步长 y0=rand(1,2);%随机初始条件 tspan=[0:step:500];%定义时间范围 [t,y]=ode45('duffing',tspan,y0); 3
时间历程的绘制 时间历程横轴为t,纵轴为y ,绘制时只取稳态部分
plot(t,y(:,1));%绘制y 的时间历程 xlabel('t')%横轴为t ylabel('y')%纵轴为y grid;%显示网格线 2 axis([460 500 -Inf Inf])%图形显示范围设置 4
相图的绘制 相图的横轴为y ,纵轴为dy /dt,绘制时也只取稳态部分
红色部分表示只取最后 1000 个点
plot(y(end-1000:end,1),y(end-1000:end,2));%绘制y 的时间历程 xlabel('y')%横轴为y ylabel('dy/dt')%纵轴为dy/dt grid;%显示网格线 5
Poincare 映射的绘制 对于不同的系统,Poincare 截面的选取方法也不同 对于自治系统一般