用matlab怎么求解微分方程?

如题所述

Simulink是matlab下基于框图的用于复杂动态系统建模的工具。


今以 y"+4y'+4y=cos2t(0≤t≤10),y(0)=1,y'(0)=-2 二阶微分方程为例,用Simulink求解的步骤如下:

第一步、分析微分方程的特点确定模块

我们将y"+4y'+4y=cos2t方程改写成y"=cos2t-4y'-4y,从右边可知,式子是由cos2t外加载信号,一阶导数项和一次变量组成。所以我们,可以用下列功能模块来搭建其仿真模型

cos2t:使用Fcn模块和Clock模块;y':使用lntegrator模块;y':使用lntegrator模块;-4:使用Gain模块;输出:使用Scope模块等

第二步,点击matlab的主菜单上的【Simulink】


第三步、点击Simulink中的【空白模型】创建模型


第四步、点击【库浏览器】,Simulink的模块库

第五步、插入模块。点击【Commonly User Blocks】,打开常用模块。插入Integrator模块,插入Gain模块,插入Scope模块;点击【Math Operations】,打开数学模块。插入Add模块,插入Sine Wave模块;

第六步、将上述模块排列并连接起来

第七步,各模块连接后,对各模块进行设置。

Fcn模块,输入cos(2*u);

Clock模块,输入10;

lntegrator模块(y'),输入-2;

lntegrator1模块(y),输入1;

Gain模块,输入-4;

Gain1模块,输入-4;

Scope模块,无需设置

第八步,设置完成后,点击【运行】

第九步,点击【Scope模块】,得到该微分方程的数值解的图形

这样我们用Simulink求解二阶微分方程的过程就结束了。

温馨提示:答案为网友推荐,仅供参考
相似回答