MATLAB繪制分岔圖,相平面圖以及龐加萊截面圖
MATLAB繪制分岔圖,相平面圖以及龐加萊截面圖
一、邏輯斯蒂映射分岔圖:f(x)=rx(1-x)

clear;clc;
r=-2:0.01:4;
x=0.3;
for i=1:5000
x=r.*x.*(1-x);
End
figure;
hold on
for i=1:1000
x=r.*x.*(1-x);
plot(r,x,'b.','markersize',1);end
二、MATLAB函數ode45對duffing方程進行數值求解,生成相平面圖和poincaré 截面圖


deq=@(t,x)[x(2);x(1)-0.3*x(2)-(x(1))^3+0.37*cos(1.25*t)]; options=odeset('RelTol',1e-4,'AbsTol',1e-4);
[t,xx]=ode45(deq,[0 200],[1,0],options);
plot(xx(:,1),xx(:,2),'k-','linewidth',1.5);
fsize=15;
axis([-2 2 -2 2])
xlabel('x','Fontsize',fsize);
ylabel('y','Fontsize',fsize);
title('diffing,Gamma=0.37')

clear Gamma=0.37;
deq=@(t,x)[x(2);x(1)-0.3*x(2)-(x(1))^3+Gamma*cos(1.25*t)]; options=odeset('RelTol',1e-4,'AbsTol',1e-4); [t,xx]=ode45(deq,0:(2/1.25)*pi:(4000/1.25)*pi,[1,0]); plot(xx(:,1),'.','MarkerSize',2)
plot(xx(:,1), xx(:,2),'k*','MarkerSize',10);
hold on; fsize=15;
axis([-2 2 -2 2])
xlabel('x','Fontsize',fsize);
ylabel('y','Fontsize',fsize);
title('Poincare Section,Gamma=0.37')
三、MATLAB函數ode45對洛倫茲(Lorenz)常微分方程進行數值求解,然后生成相平面圖和三維圖





tspan = [0,50];
y0= [0;1;0]; % 初始條件
[t,y] = ode45(@lorenz_01,tspan,y0);
figure()plot(y(:,1),y(:,2)) % 繪制相平面圖 % plot(y(:,1),y(:,2),y(:,3)) % 繪制三維圖 xlabel('y_1','FontSize',14)
ylabel('y_2 ','FontSize',14)% zlabel('y_3 ','FontSize',14)
title('Lorenz equations','FontSize',16)
function dy = lorenz_01(t,y) %洛倫茲常微分方程
dy = [10*(y(2)-y(1))
28*y(1)-y(2)-y(1)*y(3)
y(1)*y(2)-8*y(3)/3];
end
四、學習資料分享
? MATLAB R2016a完全自學一本通
? MATLAB智能算法30個案例分析(第2版)
? 工程與科學數值方法的MATLAB實現 第4版
? MATLAB R2015b最優化計算
? MATLAB優化算法案例分析與應用_進階篇
? MATLAB在數學建模中的應用_上
? MATLAB在數學建模中的應用_下
? 高等應用數學問題的MATLAB求解(第二版)
? MATLAB統計分析與應用:40個案例分析
? MATLAB數字信號處理85個實用案例精講.入門到進階
? MATLAB 2019A 中文文檔
? MATLAB編程實例100例(源程序)
? Matlab有限元結構動力學分析與工程應用(源程序)
? 應用非線性動力學-胡海巖
? 非線性動力學--劉秉正
文章來源:https://www.zhihu.com/people/rushxiang-qian
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















