常微分方程(组)问题的搭建思路

    这是一个在各类MATLAB指导书中均有收录的问题,以下将通过这道例题解释一个常用的思路。

有初始状态为0的二阶微分方程x{}''+0.2x{}'+0.4x=0.2u\left ( t \right ), 其中u\left ( t \right )是单位阶跃函数,试建立系统模型并仿真。

1 通过积分器模块进行直接求解

    将原微分方程改写为

x{}''=0.2u\left ( t \right )-0.2x{}'-0.4x

    x{}''经积分后得x{}', 再经积分模块作用后得x, 而x{}'x经代数运算又产生x{}'', 据此可以建立系统模型并仿真。

    建立模型,并设置参数,最后运行示波器,即可得到结果。

注1:同样地,我们可以通过这样的方式解决其他更复杂的微分方程组,只是形式更复杂了。若方程组中有三个以上的变量,此时形式错综复杂,需要借助子系统来完成,或是其他方法。

2 通过传递函数模块求解

    对方程x{}''+0.2x{}'+0.4x=0.2u\left ( t \right )两边取Laplace变换,得

s^{2}X\left (s \right )+0.2sX\left (s \right )+0.4X\left (s \right )=0.2U\left (s\right )

    经整理得传递函数

G\left (s \right )=\frac{X\left (s \right )}{U\left (s \right )}=\frac{0.2}{s^{2}+0.2s+0.4}

    建立仿真模型,并设置传递函数模块对应的参数。

3 通过状态方程模块进行求解

    若令x_{1}=x, x_{2}=x^{'}, 那么微分方程x{}''+0.2x{}'+0.4x=0.2u\left (t\right )可写成

x^{'}=\begin{bmatrix}x_{1}^{'}\\x_{2}^{'}\end{bmatrix}=\begin{bmatrix} 0&1\\-0.4&-0.2\end{bmatrix}\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}+\begin{bmatrix} 0\\0.2\end{bmatrix}u\left ( t \right )

    写成状态方程为

\begin{cases}\begin{matrix}x^{'}=Ax+Bu\\y=Cx+Du\end{matrix}\end{cases}

式中,A=\begin{bmatrix}0&1\\-0.4&-0.2\end{bmatrix}, B=\begin{bmatrix} 0\\0.2\end{bmatrix}, C=\begin{bmatrix} 1&0\end{bmatrix}, D=0.

     建立仿真模型,并设置传递函数模块对应的参数。

4 总结

    对于常系数线性微分方程而言,使用传递函数模块和状态方程模块的方法较为优越。但它们需要预先作一些运算才能得到我们可以用的形式,从这一点看,笔算似乎是拉普拉斯变换更复杂一些,但我们可以配合MATLAB的编程模块进行计算,更为简便。积分模块法有着它的优势,它可以对非线性微分方程组进行求解,尽管连线很复杂就是了。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值