马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
大家好,我看了有关滚动轴承支承下转子系统动力学研究的文章,自己画得轴心轨迹对着,但分叉图老是不对,不知道什么原因,大家能否帮忙看下。结合http://forum.vibunion.com/thread-24346-1-1.html里面的程序,大家能看的清晰点(但是这里面没有进行无量纲化)下面是我的程序及画出的分叉图:
子程序:
- function dy=jeff_fun118(t,y,flag,W)
- %相关参
- %m=0.6;NB=9;d0=45*10^(-6);
- %R=0.038/2;r=0.028/2;
- %M为圆盘质量,NB为轴承滚珠数目,d0为游隙,w为角速度
- % gear bearing
- % syms sita(),deltasita(),j,s1,s2,E(3),ma,l(e),k(e),kp,k(x),k(y);
- %sita是每一个滚珠经历t后的角度,deltasita是第j个滚珠的弹性接触变形.
- %Y=y/d;
- %dy/dt=w*dx/dT;
- %d(dy/dt)/dt=w^2*d(dy/dT)/dT;
- %T=w*t;
- %W=w*(d0/g)^(1/2);
- %R1=R/d;r1=r/d;cc=c/(m*(g/d0)^(1/2));
- m=0.6;ff=6;C=340;NB=9;a=0;R1=0.0265/2;r1=0.0173/2;d0=45*10^(-6);g=9.8;S1=0;S2=0;E=0.005;
- cc=(C/m)*sqrt(d0/g);Kp=7.055*(10^9)*d0^(3/2)/(m*g);fff=ff/(m*g);ee=E/d0;
- for j=1:1:NB;
- Sita(j)=2*pi*(j-1)/NB+t*r1/(r1+R1);
- Deltasita(j)=(y(1)*cos(Sita(j))+y(3)*(sin(Sita(j))))*cos(a)-1; %deltasita(j)=(y(1)*cos(sita(j))+y(3)*(sin(sita(j))))*cos(a)-d;
- if Deltasita(j)<=0
- Deltasita(j)=0;
- end
- Sa=((Deltasita(j)).^(3/2))*cos(Sita(j)); %sa=(deltasita(j)).^(3/2)*cos(sita(j)); sa=d^(3/2)*Sa
- Sb=((Deltasita(j)).^(3/2))*sin(Sita(j)); %sb=(deltasita(j)).^(3/2)*sin(sita(j)); sb=d^(3/2)*Sb
- S1=Sa+S1;
- S2=Sb+S2;
- end
- Qx=Kp*S1;
- Qy=Kp*S2;
- t(end,1)
- dy=[y(2);-cc*y(2)/W+ee*cos(t)-Qx./W^2+fff/W^2;y(4);-cc*y(4)/W+ee*sin(t)-Qy./W^2];
- 主程序:
- clc
- clear
- d0=45*10^(-6);g=9.8;
- f=(100*2*pi/60)*(d0/g)^(1/2):0.05:(20000*2*pi/60)*(d0/g)^(1/2); % 转速参数
- k=0;
- for i=1:length(f)
- disp(f(i))
- period=2*pi;
- b=f(i); %转速的参数传递transmagic
- k=k+1;
- step=period/100;
- tspan=0:step:500*period;
- options=odeset('RelTol',1.0e-9);
- y0=[0.1;0.2;0.1;0.1];
- [t,y]=ode45('jeff_fun118',tspan,y0,options,b);
- plot(f(i),y(45000:100:end,1),'r.','markersize',1) %画分叉图
- pause(1);
- hold on
- end
复制代码 |