马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<BR>m文件:<BR>function dx=rotor_fun(t,x);<BR> %canshu<BR> g=9.8;<BR> c1=1.25*10^(-5);<BR> delta=4.5852*10^(-2);<BR> beta=1.1404*10^(-2);<BR> omega=50;<BR> omegag=omega*g^(1/2)/c1^(1/2);<BR> dx=zeros(4,1);<BR>%fangcheng<BR> dx(1,1)=x(3);<BR> dx(2,1)=x(4);<BR> dx(3,1)=beta*cos(t)-delta/omega*(((2*x(1)^2+2*x(2)^2-4*x(1)*x(4)+4*x(2)*x<BR>(3))/(1-x(1)^2-x(2)^2)^(1/2)/(2+x(1)^2+x(2)^2)+(pi-16/pi/(2+x(1)^2+x(2)^2))*<BR>(x(1)*x(3)+x(2)*x(4))/(x(1)^2+x(2)^2)^(1/2)/(1-x(1)^2-x(2)^2)^(3/2))*cos(t)+<BR>(pi*(x(1)^2+x(2)^2)^(1/2)*(1-2*(x(1)*x(4)-x(2)*x(3))/(x(1)^2+x(2)^2))/(1-x(1<BR>)^2-x(2)^2)^(1/2)/(2+x(1)^2+x(2)^2)+4*(x(1)*x(3)+x(2)*x(4))/(2+x(1)^2+x(2)^2<BR>)/(1-x(1)^2-x(2)^2))*sin(t)); <BR> dx(4,1)=beta*sin(t)-1/omega^2 -delta/omega*(((2*x(1)^2+2*x(2)^2-4*x(1)*x(<BR>4)+4*x(2)*x(3))/(1-x(1)^2-x(2)^2)^(1/2)/(2+x(1)^2+x(2)^2)+(pi-16/pi/(2+x(1)^<BR>2+x(2)^2))*(x(1)*x(3)+x(2)*x(4))/(x(1)^2+x(2)^2)^(1/2)/(1-x(1)^2-x(2)^2)^(3/<BR>2))*sin(t)-(pi*(x(1)^2+x(2)^2)^(1/2)*(1-2*(x(1)*x(4)-x(2)*x(3))/(x(1)^2+x(2)<BR>^2))/(1-x(1)^2-x(2)^2)^(1/2)/(2+x(1)^2+x(2)^2)+4*(x(1)*x(3)+x(2)*x(4))/(2+x(<BR>1)^2+x(2)^2)/(1-x(1)^2-x(2)^2))*cos(t));<BR>m文件:<BR>clear all;<BR>clc;<BR>x0=[0.001; 0; 0; 0];<BR>t0=[0:10000];<BR>[t,x]=ode23s('rotor_fun',t0,x0);<BR>x<BR>plot(t,x(:,1));<BR>。Warning: Failure at t=1.251361e+002. Unable to meet integration tolerance<BR>s without reducing the step size below the smallest value allowed (4.445726e<BR>-013) at time t.<BR>(Type "warning off MATLAB:ode23s:IntegrationTolNotMet" to suppress this warn<BR>ing.)<BR>> In D:\MATLAB\toolbox\matlab\funfun\ode23s.m at line 431<BR> In D:\MATLAB\work\rotor.m at line 5<BR> |