|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
有哪位大神帮忙看看程序哪错了?为什么不出结果呢?谢谢- 主程序:
- clear
- m1=4.5e5;
- m2=3.0e5;
- c=2.1e6;
- k1=1.0e7;
- k2=1.0e7;
- kr=2.5e8;
- delta=0.0025;
- d=0.000:0.0005:0.005;%d是作分叉参数
- e=0.002;
- l=5.0;
- f=0.01;
- alpha=0.0001;
- omega=2*pi*5;
- w0=sqrt(k1/m1);
- w=omega/w0;
-
- y0=[0.0002;0.0002;0.0002;0.0002];
- for j=1:length(d);
- tt=2*pi/w; %定义步长的
- options=odeset('RelTol',10^-5,'AbsTol',10^-5);
- [t,y]=ode45('fangcheng1',[0:tt/500:100*tt],y0,options,m1,m2,c,k1,k2,kr,delta,d(j),e,l,f,alpha,omega);
- i=20000:100:30000;
- plot(d(j),y(i,1)'.');
- xlabel('d');ylabel('y1');
- hold on;
- end
复制代码- 方程程序:
- %四阶龙哥库塔法的程序
- function uu=fangcheng(t,u,flag,m1,m2,c,k1,k2,kr,delta,d,e,l,f,alpha,omega);
- %phi0=0.6/180*pi;
- %theta0=0.4/180*pi;
- %%%%无量纲化
- w0=sqrt(k1/m1);
- c11=c/m1/w0;
- k11=k1/m1/w0^2;
- k22=k2/m1/w0^2;
- l11=l/delta;
- d11=d/delta;
- e11=e/delta;
- eta=m2/m1;
- w=omega/w0;
- %%%参数无纲量化%%%
- M=1+eta*cos(alpha)^2;
- K=k11+k22*cos(alpha)^2;
- %%合成参数
- r=d11-l11*sin(alpha);
- phi=w*t;
- theta=w*t;
-
- A1=e11*w^2*cos(phi);
- A2=eta*r*w^2*cos(theta)*cos(alpha)^2;
- A3=k22*r*cos(theta)*cos(alpha)^2;
- B1=e11*w^2*sin(phi);
- B2=eta*r*w^2*sin(theta)*cos(alpha)^2;
- B3=k22*r*sin(theta)*cos(alpha)^2;
-
- %%碰摩力
- R=sqrt(u(1)^2+u(3)^2);
- if R>=delta
- Fpengmo=-(R-1)/R*kr/k1*[1 -f;f 1]*[u(1);u(3)];
- else
- Fpengmo=[0;0];
- end
- Fx=Fpengmo(1)/M;
- Fy=Fpengmo(2)/M;
- %%%% 进行参数简化后的方程
- uu=zeros(4,1);
- uu(1)=u(2);
- uu(2)=(A1+A2-A3)/M+Fx-c11/M*u(2)-K/M*u(1);
- uu(3)=u(4);
- uu(4)=(B1+B2-B3)/M+Fy-c11/M*u(4)-K/M*u(3);
复制代码 |
|