马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
图片中是转子碰磨故障的动力学模型,应用龙格库塔法求解,在画分岔图和poincare截面图,画出来不对,不知道为什么,下面是我自己编的程序,请大侠们帮忙看看我错在哪里了?
global omega; %以转速为变化画分岔图
range=[1.1:0.001:1.35];
k=0;
YY1=[];
step=2*pi/100; %步长。
for omega=range
period=2*pi/omega;
x0=[0;0;0.001;0];
omega
k=k+1;
% discard the first 60 periodic data;
%除去前面60个周期的数据,并将最后的结果作为下一次积分的初值
tspan=[0:step:60*period];
[t,x]=ode45(@fangcheng,tspan,x0);
y0=x(end,:);
j=1;
for i=60:200
tspan=[i*period:step:(i+1)*period];
[t,x]=ode45(@fangcheng,tspan,x0);
YY1(k,j)=x(end,1); % get the omega data from every period end
j=j+1; %取出每一个周期内的第一个解的最后一个值。
y0=x(end,:);
end
end
bifdata=YY1(:,end-51:end);
求解方程如附近中图所示,下面是程序:
function dx=fangcheng(t,x)
global omega
u=0.136;
ksai=0.12;
f=0.12;
alaf=0.5;
bta=3.0;
sta=0.16;
f0=25;
omega0=2*pi*f0;
g=9.8;
G=g/(omega0^2*sta);
tau=omega0*t;
E=sqrt(x(1)^2+x(3)^2);
dx=[x(2)
-2*ksai*x(2)-x(1)-alaf*(x(1)^2+x(3)^2)*x(1)-bta*(1-1/E)*(x(1)-f*x(3))+u*omega^2*cos(omega*tau)
x(4)
-2*ksai*x(4)-x(3)-alaf*(x(1)^2+x(3)^2)*x(3)-bta*(1-1/E)*(f*x(1)+x(3))+u*omega^2*sin(omega*tau)-G];
画出来的分岔图根本就不对,请大侠们帮我看看我的错误在哪,另外ode45时需要方程的初值,这个初值怎么确定啊???????????????????? |