| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3141 人关注过本帖
标题:请大神给我分析一下此程序每一句的意思,谢谢!
取消只看楼主 加入收藏
jingshushi
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-10-22
收藏
 问题点数:0 回复次数:0 
请大神给我分析一下此程序每一句的意思,谢谢!
matlab计算程序如下:

文件一,其文件名为Poincare.m

function dx=Poincare(t,x);

% 单摆方程[不显含时间t的自治系统]

% 方程如下:

% dθ/dt=ω,

% dω/dt=-2*β*[dθ/dt]-ω^2*sin(θ)+F*cos(vt)

% dψ/dt=v

betaa=0.25;

F=1.093;

v=2/3;

P2=-2*betaa*x(2)-x(2).^2.*sin(x(1))+F*cos(v*t);

dx=[x(2);P2;v];

文件二,其文件名为Poincare_section.m

% Poincare_section[绘制庞加莱截面图]

[t,x]=ode45(@Poincare,[0,2800],[0,1.5,0]);

x(:,2)=mod(x(:,2),2*pi)-pi;

phi0=pi*2/3; % 选择phi=2*pi/3这个截面

for k=1:round(max(x(:,3))/2/pi);

d=x(:,3)-(k-1)*2*pi-phi0;

[P,K]=sort(abs(d));

x1l=x(K(1),1);

x1r=x(K(2),1);

x2l=x(K(1),2);

x2r=x(K(2),2);

x3l=x(K(1),3);

x3r=x(K(2),3);

if abs(P(1))+abs(P(2))<3e-16;

X1(k)=x1l;

X2(k)=x2l;

else

Q=polyfit([x3l,x3r],[x1l,x1r],1);

X1(k)=polyval(Q,(k-1)*2*pi-phi0);

Q=polyfit([x3l,x3r],[x2l,x2r],1);

X2(k)=polyval(Q,(k-1)*2*pi-phi0);

end

end

plot(X1,X2,'.');

xlabel('\theta','fontsize',14);

ylabel('d\theta/dt','fontsize',14);
搜索更多相关主题的帖子: matlab 
2016-10-31 10:31
快速回复:请大神给我分析一下此程序每一句的意思,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022922 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved