大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置,

来源:学生作业帮助网 编辑:六六作业网 时间:2024/04/28 15:55:03
大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置,大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置,大神求解动力学微分方程,用mat

大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置,
大神求解动力学微分方程,用matlab中ode45编程实现!

其中的参数可以随便设置,

大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置,
参考代码:
 
% 参数定义
m1 = 1; m2 = 2; m3 = 3;
k1 = 4; k2 = 5; k3 = 6; k4 = 7;
P0 = 8; w = 9;
% 微分方程
A = [k1+k2 -k1 0; -k2 k2+k3 -k3; 0 -k3 k3+k4];
dx = @(t,x)[x(4:6); (-A*x(1:3)+[P0*sin(w*t);0;0])./[m1;m2;m3]];
% 初始条件(x4~x6 为 x1'~x3')
x0 = zeros(6,1);
% 直接绘图
ode45(dx,[0 5],x0)
lstr = arrayfun(@(i){sprintf('x%i',i)},1:6);
legend(lstr{:})
legend(lstr{:},'Location','S','Orientation','horizontal')