声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1578|回复: 1

[稳定性与分岔] 如何根据如下方程(还有我的程序)画出图片中的分岔图,poincare映射图?恳请指正!

[复制链接]
发表于 2009-12-28 20:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
方程及分岔图、映射图以图片的形式上传。
我的程序:
function y=fangcheng(t,x)
%
求解定值问题

m=20;
%
转子质量
e=0.0009;
%
圆盘偏心距
xi=0.13;
xi_z=0.15;
omega_0=16;
omega_e=22;
%
轴向推力的频率
delta=0.0018;
%
静止时转子与定子之间的间隙
kc=25*10^5;
%
定子的径向刚度
f=0.1;
%
转子与定子之间的摩擦系数
R=0.1;
%
碰摩点到转子形心的距离
Fe=9;
%
轴向推力的幅值
omega_z=20;
g=9.80;
%
重力加速度

global omega


Vr=R*omega+(x(2).*x(5)-x(3).*x(4))/sqrt(x(2).^2+x(4).^2);
x(1)=t;

y=zeros(7,1);
y(1)=t;
y(2)=x(3);
y(3)=e*omega.^2*cos(2*pi*omega.*x(1))-2.*xi*omega_0.*x(3)-omega_0^2.*x(2)-kc/m*(1-delta/sqrt(x(2).^2+x(4).^2)).*(x(2)-f*Vr/sqrt(Vr^2+x(7).^2).*x(4));
y(4)=x(5);
y(5)=e*omega.^2*sin(2*pi*omega.*x(1))-2.*xi*omega_0.*x(5)-omega_0^2.*x(4)-kc/m*(1-delta/sqrt(x(2).^2+x(4).^2)).*(x(4)+f*Vr/sqrt(Vr^2+x(7).^2).*x(2));
y(6)=x(7);
y(7)=Fe/m*cos(2*pi*omega_e*x(1))-g-2*xi_z*omega_z*x(7)-omega_z^2*x(6)-kc/m*f*(sqrt(x(2)^2+x(4)^2)-delta)-x(7)/sqrt(Vr^2+x(7)^2);






%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear

global omega

tic

omega=2.51*16;
period=1/omega;
tspan=[0:period/100:200*period];
y0=[1 0.1 0.1 0.1 0.1 0.1 0.1];
[t,x]=ode45('fangcheng',tspan,y0);

toc

然后就是画分岔图和映射图了。按照2.51倍的omega_0计算,希望能够得到和图中一样的结果。但是映射图和轴心轨迹图怎么也对不上,1.39倍的也对不上,我想我是哪里错了。请问是我的计算程序有问题还是计算后画图取点有问题。

轴心轨迹图:
Plot(x(4000:end,2),x(4000:end,4));
(
其他的取点也试过了,但得不到满意的结果)

映射图:
Plot(x(4000:100:end,2),x(4000:100:end,3));
(依然不行)

希望各位如果有时间帮忙看一下,到底是哪里的问题,我需要改进哪些部分。以后如果画图的时候应该注意什么,因为这些真的是属于自己琢磨,没有师兄指点,有时候很头疼,就像一道障碍很难越过。先提前谢谢大家了!

另外,分岔图的程序(试了也不行),也请大家看一下
clc
clear
% global omega
y0=[1 0.1 0 0.1 0 0.1 0];
omega=16:100;
for i=1:length(omega)

disp(omega(i))


period=1/omega(i);


tspan=[0:period/100:100*period];


[t,x]=ode45('fangcheng',tspan,y0,[],omega(i));


y0=x(end,:);


plot(omega(i),x(2000:100:end,2),'markersize',2);


hold on;

end

这里面把前面的方程改动一下,将omega作为参数输入到函数中,其余的没变。
方程1.jpg
方程2.jpg
参数.jpg
分岔图.jpg
映射图1.jpg
映射图2.jpg
回复
分享到:

使用道具 举报

发表于 2010-3-3 13:56 | 显示全部楼层
我看不出错误  你看看是不是可以把步长减小点 period=1/omega(i);

tspan=[0:period/1000:100*period];
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 03:18 , Processed in 0.077221 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表