回复: 求用MATLAB求解二阶微分方程组的算法
你怎么不给初值条件?
那我就按照系统默认的初值条件给你求了啊。
对于这样的方程组,首先你要转化成一阶方程组,才能用Runge-Kutta法进行迭代求解,不能直接用dsolve命令,那是求解一阶线性方程和方程组的。
我的求解程序如下,希望可以给到你一点帮助。
function dx=myfun01(t,x)
m5=1290; mu=20; c0=150000; k5=100000; kt=200000; xr=0.5*sin(8*t);
dx=[x(2);
-k5/m5*(x(1)-x(3))-c0/m5*(x(2)-x(4));
x(4);
k5/mu*(x(1)-x(3))+c0/mu*(x(2)-x(4))+kt*(x(3)-xr)];
%以上是方程组,保存到当前工作目录下,以下是求解代码。
[t,x]=ode45('myfun01',[时间范围],[初值]);
plot(看你自己要画什么类型的图,所有的数据都在向量x里)
__________________
坚持就是胜利,努力就有奇迹。
|