如何绘制一个庞加莱的表面部分

37视图(30天)
Misbah Shahzadi
Misbah Shahzadi 约20小时前
编辑: KSSV 约6小时前
我有一个哈密顿系统五个常微分方程。我知道如何integrtae运动方程,但我不能阴谋庞加莱的表面部分。我试图在fileexchange找到它。这里有一些代码 https://it.mathworks.com/matlabcentral/answers/1850203-how-do-i-plot-a-poincare-plot-for-a-non-autonomous-ode-s
但是我不能够在我的代码中实现它。我是新学生。谁能请帮我阴谋庞加莱的表面部分。
我在这里粘贴我的代码:
清晰的所有
clc
EE = 1.38;你= 40;空气= 1;
%这里r = y(1),θ= y(2) \φ= y (3), p_r = y (4), p_ \θ= y (5)
f = @ (y) [y (4) * (1 - 2 / y (1));y (5) * (1 / (y (1)) ^ 2);bb +(我* (csc (y (2))) ^ 2) / (y (1) ^ 2);
((1 / (y (1)) ^ 3) * ((y (5)) ^ 2))——(1 / (y (1)) ^ 2) * ((y (4)) ^ 2) + (1/2) * ((2 * (EE ^ 2)) / (((1 + (2 / y (1))) ^ 2) * (y (1)) ^ 2) + (2 * ((LL - BB * (y (1) ^ 2) * (sin (y (2)) ^ 2)) ^ 2) * (csc (y (2))) ^ 2) / ((y (1)) ^ 3) + (4 * BB * (LL - BB * (y (1) ^ 2) * (sin (y (2)) ^ 2))) / (y (1)));
(1/2)* (4 * BB *(床(y (2))) * (LL - BB * (y (1) ^ 2) * (sin (y (2)) ^ 2)) + (2 / (y (1)) ^ 2) * ((LL - BB * (y (1) ^ 2) * (sin (y(2)) ^ 2)) ^ 2) *(床(y (2))) * (csc (y (2))) * (csc (y (2)))));
h = 0.1;N = 1000 - 1;y (: 1) = [8;1.06;0;0;0);t (1) = 0;
y0 = y (: 1);
%哈密顿在初始条件
他= (1/2)+ (1/2)* (1 - (2)/ (y0 (1))) * ((y0 (4)) ^ 2) + ((y0 (5)) ^ 2) / (2 * (y0 (1)) ^ 2) + (1/2) * ((EE ^ 2) / (1 + (2) / (y0 (1))) + ((((LL - BB * (y0 (1) ^ 2) * (sin (y0 (2)) ^ 2)) ^ 2) * (csc (y0 (2))) * (csc (y0 (2)))) / (y0 (1) ^ 2)));
%屠夫表
a21 = 1/2;a31 = 0;a32 = 1/2;a41 = 0;a42 = 0;a43 = 1;a44 = 0;
c1 = 0;c2 = 1/2;c3 = 1/2;c4 = 1;
b1 = 1/6;b2 = 1/3;b3 = 1/3;b4 = 1/6;
n = 1: n
k1 = y (:, n);
k2 = y (:, n) + h * a21 * (f (k1));
k3 = y (:, n) + h * a31 * (f (k1)) + h * a32 * (f (k2));
k4 = y (:, n) + h * a41 * (f (k1)) + h * a42 * (f (k2)) + h * a43 * (f (k3));
(:,n + 1) = y b1 (:, n) + h * * (f (k1)) + h * b2 * (f (k2)) + h * b3 * (f (k3)) + h * b4 * (f (k4));
t (n + 1) = t (n) + h;
结束
%哈密顿在输出值
Hn = (1. / 2) + (1. / 2) * (1 - 2. / y (: 1))。* (y (4:)。^ 2) + (y (5:)。^ 2)。/ (2。* (y (1:)。^ 2)) + (1. / 2)。* ((EE ^ 2)。/ (1 + (2) / (y (1,:))) + (((LL - BB。* (y(1:)。^ 2)。*(罪(y (2:)) ^ 2)) ^ 2)。* (csc (y (2:)))。* (csc (y (2:))))。/ ((y (1:)) ^ 2));
错误= abs (He-Hn);
plot3 (cos (y (3:)。* y(1:)。*罪(y(2:)),罪(y (3:)。* y(1:)。*罪(y (2:)), y (1:)。* cos (y (2:)))

答案(0)

类别

找到更多的在网络帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!