MATLAB解决常微分方程

  1. 首先得介绍一下,在matlab中解常微分方程有两种方法,一种是符号解法,另一种是数值解法。在本科阶段的微分数学题,基本上可以通过符号解法解决。

  2.  

    用matlab解决常微分问题的符号解法的关键命令是dslove命令。该命令中可以用D表示微分符号,其中D2表示二阶微分,D3表示三阶微分,以此类推。值得注意的是该微分默认是对自变量t求导,也可以很容易在命令中改为对其他变量求导。

  3.  

    说了半天,该命令的最完整的形式如下。

    r=dsolve('eqn1','eqn2',...,'cond1','cond2',...,'var').

    解释如下:eqni表示第i个微分方程,condi表示第i个初始条件,var表示微分方程中的自变量,默认为t。

  4.  

    解释了半天,不如用实例来说明。下面以解决一个简单的微分方程入手。方程如下。

     

  5.  

    首先启动matlab软件,在命令行中欢快地敲入

    dslove(‘Dy=3*x*x’,‘x’),然后轻松地摁一下键盘上的enter建,最后答案就蹦出来了。

     

  6.  

    下面,我们来加大难度,在上面的方程条件下加入初始条件x=0时,y=2。

    只需在相同的命令中加入一个条件语句就可以了。命令形式为

    dslove(‘Dy=3*x*x’,‘y(0)=2’,‘x’)。可以看到答案中的常数项

    C2已经变成了2。

     

  7.  

    最后,我再加大一下难度。这次来求一个微分方程组。方程组如下。初始条件为x(0)=2,y(0)=1,dy(0)=1.

     

  8.  

    在命令中只需改一下相应的方程与条件即可以了,由于是对t求导,所以可以用默认,不需要在末尾添加‘t’。

     

  9. 9

    可以看到用matlab中的dslove命令确实可以解决许多常微分问题。

     

    转载自--CSDN--唐一001

     

posted @   你的雷哥  阅读(5655)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示