一般而言,运动方程都是
微分方程,通用表现形式为:F=M*d²x/dt²+C*dx/dt+K*dx,其中:M为惯性项,C为阻尼项,K为刚度项,通过降阶可以获得该方程的一阶形式,即:令 y=[dx/dt ; x],则原方程化为:dy/dt=[-M\C -M\K ; E O1]* y+[M\F ; O2] (注意:这个矩阵写开来其实是2个
方程式,一个是 d²x/dt²=-M\C*dx/dt-M\K*dx+M\f,另一个是 dx/dt=dx/dt),其中:E为单位阵,O1、O2为0阵,且降阶后的方程维数为原先方程的2倍。之后就是求解微分方程的问题,可以通过解析解先解出
表达式,再带入时间t的序列求值,也可通过数值积分的方法求解,通过数值积分求解,实质就是求解 dx/dt=Ax+f(t)的数值问题,注意这里的x实际上是y,也就是[dx/dt ; x],此时要注意使用的积分方法,并采用合适的积分步长以保证解的收敛性。
小建议:使用MATLAB仿真运动方程组,便利性不如SIMULINK,建议使用SIMUINK进行运动仿真,网上这方面的资料很多,原理就是我上面说的这些,具体操作找找就有了。