Info
此问题已关闭。 请重新打开它进行编辑或回答。
MATLAB 7 , error . How to revise it ?
1 次查看(过去 30 天)
显示 更早的评论
Error line: y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y(i,2)+1128974.05+7481.104004*sin(2.047t);
ODE45_main file:
clc;clear
tspan=[0,1];
y0=[0; 0;0;0;0];
[t,y]=ode45('ODE45_fun',tspan,y0);
[m,n]=size(y);
for i=1:m
y(i,6)=-178075801.6*y(i,4)*y(i,5)+490910.1296*y(i,3)*y(i,2)+1128974.05+7481.104004*sin(2.047t);
end
data=[t,y];
save ODE45_data.txt data -ascii
subplot(2,3,1),plot(t,y(:,1)),title('y(1)')
Xlabel('t');Ylabel('y');
subplot(2,3,2),plot(t,y(:,2)),title('y(2)')
Xlabel('t');Ylabel('y');
subplot(2,3,3),plot(t,y(:,3)),title('y(3)')
Xlabel('t');Ylabel('y');
subplot(2,3,4),plot(t,y(:,4)),title('y(4)')
Xlabel('t');Ylabel('y');
subplot(2,3,5),plot(t,y(:,5)),title('y(5)')
Xlabel('t');Ylabel('y');
subplot(2,3,6),plot(t,y(:,6)),title('y(6)')
Xlabel('t');Ylabel('y');
grid on
ODE45_fun file:
function dy=ODE45_fun(t,y)
dy(1)=-1.918298553*y(3)*y(4)-121.6697369*y(5)*y(2)+0.006472085*y(2)*y(2)+15.25250926*y(5)*y(5)-0.518363603*sin(2.047t)+0.001124759;
dy(2)=0.007229182*y(5)*y(1)-0.013867729*y(3)-0.005151943*sin(2.047t)+33.43424564*y(4)*y(5)-0.092169794*y(3)*y(2)-0.698266828;
dy(3)=72.10986245*y(2)+0.52129529*y(4)*y(1)+0.025471074*y(3)+921.886526*y(4)/y(1)-0.47870471*y(4)+0.025471074*y(1)*t-0.38220722*cos(2.047t)-4.62279911;
dy(4)=-57.37263009*y(5)+0.001053501*y(3)*y(1)+20.28825016/y(1)-0.001053501*y(3)+0.064741605*y(4)+20.28825016*t-0.006201915*sin(2.047t)-3651.904822;
dy(5)=0.017284293*y(4)+0.00278644*y(1)*y(2)-0.551218454*y(2)*y(5)*y(5)+0.010839281*y(2)*y(2)*y(5)+0.020353114*cos(2.047t)+0.110594984; dy=[dy(1);dy(2);dy(3);dy(4);dy(5)];
0 个评论
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!