马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function dy=myfun(~,y)
dy=zeros(4,1);
U=12;
w=6.28;
a=0.01;
b=0.03;
c=0.002;
dy(1)=y(2);
dy(2)=-w^2*y(1)+0.436*a*w^2*y(1)+(0.647-0.758*y(3)-0.243*y(3)^2+0.378*y(3)^3)*a*w*b*y(4)+(-2.958+1.967*y(3)-7.686*y(3)^2+0.352*y(3)^3)*U*a*y(2)-2*w*c*y(2)-(4.125+48.64*y(3))*U^2*a*y(3)^2+(0.83-0.423*y(3)-0.576*y(3)^2)*a*w^2*y(3)*y(1)-(0.739*y(3)+0.378*y(3)^2)*a*w^2*y(3)+36.8*U^2*a*y(3);
dy(3)=y(4);
dy(4)=(1.586-3.279*y(3)+5.385*y(3)^2-5.46*y(3)^3)*U*a*y(2)+(1.416-1.842*y(3)-0.764*y(3)^2+0.426*y(3)^3)*a*w*c*y(2)-2*w*b*y(4)-(0.739+0.378*y(3)+0.283*y(3)^2)*w^2*y(3)*y(1)+(33.8+36.84*y(3))*U^2*a*y(3)^2-w^2*y(3)-25.874*U^2*a*y(3)-0.647*w^2*y(1);
用matlab中的ode45调用函数直接求解,为什么运行了一晚上也没有结果出来??跪求各位高人指导……
clear all;
[t,y]=ode45(@myfun,[0:1:10],[0.001;0.01;0.001;0.01]);
figure(1)
subplot(2,1,1),plot(t,y(:,1)),grid on
title('拉索振动时程'),xlabel('时间t'),ylabel('振幅y')
figure(2)
subplot(2,1,1),plot(t,y(:,3)),grid on
title('水线振动时程'),xlabel('时间t'),ylabel('角度') |