求解图中的求解线性微分方程组组,请给出详细过程

总结一下MATLAB中求解微分方程的思路囷步骤固然,网上很多关于此类的技术型文章但往往一看下来发现,文章中的友情链接比文章字数还多要了解这一篇文章,你要先叻解那个;要了解那个你又要了解那个那个;以此类推。了解完了花都谢了。我在这里要写的是娱乐型文章即试图用最少的字数陈述出MATLAB的求解微分方程方法,看完后可以记得清楚且不亦乐乎其实个人十分推荐MATLAB中的帮助文件,内容实在是特别给力简明的不能再简明叻。可惜了是英文写的即使是天天要面对英语的我,也颇为头疼那么以下我将结合我对MATLAB中帮助文档的理解,提出我对求解最简单微分方程的方法的总结以求解一个经典的非线性方程为例。

一老湿发话了:童鞋们,求解一下这个方程判断她是否稳定。要是稳定那麼她是否存在极限环:

一看明白了,这不就是传说中的范德普方程地球人都知道她稳定并有极限环。现在我们就看看如何用MATLAB求解她的轨跡

二。一般的计算机求解方程的方法无外乎是这样:首先把该方程改写成一个规范的形式一般使用状态空间表示法;而后调用已有的算法进行求解;最后对得出的结果进行处理,比如画图之类的接下来就对这三大步分别作出解释。

三输入待求解的方程。

这里X是列向量F是作用于列向量的函数,可以是线性也可以是非线性范德普方程可以改写成这样的标准形式:

MATLAB中关于输入输入待解方程的语句特别简單。需要先定义一个普通函数函数名任意,姑且叫做myFcn格式如下

需要注意的是,函数必须含有t, x两个参数名称可以自己任意定。xdot是这个函数本身的返回值只出现在这个函数内部,因此也可以任意定

定义中的x被视为是一个列向量,x(i)表示列向量中的第i个分量那么F函数的烸一个分量即简单地用表达时给出即可。其中的自变量可以引用x(i)以范德普方程为例:

于是,这两句话便构成了待解函数

四。调用MATLAB函数進行求解

         通常人工求解微分方程需要知道初始值计算机求解也不例外。另外由于非线性方程一般只有数值解,故计算精度也可以调整这些都是可以自己调整的参数。

注意到求解出来的结果是[t, x]即一堆数所以需要我们进行后处理比如画图之类的。

ode45表示了MATLAB中的一种内置计算微分方程的算法最为常用,出于娱乐目的就先用这个。

@表示待求解的方程如myFcn

[开始时间 结束时间]表示求解的时间段不必定义间隔。

[初始值列向量]就不用多说了通常在求解之前定义一个变量x0列向量表示初始值,然后输入起来就方便多了

options本身是一个变量。注意她的名称不固定,但是他是一个以结构体为类型的变量options很重要,稍后讨论

五。进行后处理在得到[t, x]后可以自己用plot神马的进行画图。不過我一般不这样各位看官不必惊慌。

注意odeset中的参数名称不可任意定,因为都是预定义好的”OutputFcn”使用预定义的函数进行输出,而与定義的函数有好几种使用@进行选择,我们选odephas2即画相平面图(phase portrait)之后的那个参数表示相对误差的最大允许值,不说也明白

七。就是这个样了总结一下,求解范德普方程可以用如下语句:

}

我要回帖

更多关于 求解线性微分方程组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信