从系列:在MATLAB常微分方程求解
克里夫硅藻土,MathWorks
一个涉及高阶导数的常微分方程被重写为一个只涉及一阶导数的向量系统。以经典的范德堡尔非线性振荡器为例。作为参数增加时,VDP方程变得僵硬。
许多数学模型都涉及高阶导数。但MATLAB ODE求解器只适用于一阶常微分方程组。所以我们必须重写模型,使之只包含一阶导数。让我们看看如何用一个非常简单的模型来做,谐振子。
x ' ' + x = 0。这涉及到二阶导数。为了把它写成一个一阶系统,我们引入了向量y,这是一个有两个分量的向量,x,以及x的导数。
我们只是改变符号,让y的两个组成部分,x和x素数。那么y的衍生物是与x和x双撇载体中。所以微分方程现在变成Y2素加Y1等于零。你看我们如何改写只是这个微分方程。所以Y2主要是打X的双质数?
一旦你做到了,一切很容易。矢量系统现在Y1,Y2主要是Y2减去Y1。第一个组件表示Y1主要是Y2。这只是说,第一部分的导数是第二。这里的微分方程本身。Y2主要是减去Y1是实际的谐振子微分方程。
当我们写这篇文章,作为MATLAB的自治功能,这里的自治功能。f是吨和y的自主功能,即不依赖于吨。首先,它现在是一个向量,列向量。f的第一组分是Y2。而第二部分是-Y。
这里的第一个组件就是一个符号的问题。所有的内容是在所述第二部件,其表达的微分方程。
现在对一些初始条件 - 假定初始条件为0 x是0,且x素的0是1。在向量y的方面,这是0 Y1,y的第一分量是0和第二成分为1。
或者用向量表示,初始向量是。这意味着它们的解是sin (t)和cos (t)当我们在MATLAB中写出初始条件时,它是列向量。
让我们打开MATLAB命令窗口。这是微分方程。y1 '等于y2。y2 ' = -y1。这是谐振子。
我们将整合从0到2PI,因为他们是三角函数。我要去超过36索要输出2 pi的步骤,它相当于每10度像在机场跑道。
我将需要一个初始条件。Y0为0。我需要一个列向量,0,1,对于两个组件。我将使用ODE45,如果我不带输出参数,微分方程F,T跨越的时间间隔ODE45和Y0初始条件调用它。
如果我打电话ODE45没有输出参数,它只是自动绘制的解决方案。在这里,我们得到从1开始的余弦吨图表,从0开始正弦吨。
现在,如果我回到命令窗口,并要求获取在T和y的输出,我再拿到输出的载体。37个步骤,向量t和两个分量Y,含正弦和余弦的两列。现在我可以在相平面上画出它们。
用y2来对付ya。如果我把坐标轴正规化,就会得到一个很好的圆,每10度画一个小圆,就像我说的,就像机场的跑道一样。
1927年,荷兰的一位电气工程师引进了范德堡尔振荡器,用来模拟真空管电路中的振荡。它有一个非线性阻尼项。它被用于各种领域的现象建模,包括地质学和神经学。
它具有混沌行为。我们感兴趣的是它的数值分析,因为,作为参数亩的增加,越来越多的问题变得僵硬。为了写它作为与MATLAB ODE求解器使用一阶系统中,我们介绍了矢量y,含x和x素数。
桑尼主要为x素数,X双撇。然后微分方程写入,从而y总理的第一部分是Y2。然后微分方程被写入y的第二组分。
这里的非线性阻尼项减Y1。当mu为0时,这成为谐波振荡器。在这里,它是作为匿名函数。
让我们运行一些实验用范德波尔振荡器。首先,我必须定义亩的价值。我来接亩的适度值。穆等于100现在与万亩设置,我可以定义匿名函数。
它包含了mu的值。这是f的第二部分的范德堡尔方程,我要收集关于ODE求解器工作有多努力的统计数据。为此,我将使用ODE set,告诉它我想打开stats。
我需要一个初始条件。现在我要运行ODE45来解决这个问题。我指定了一个t的起始值,和一个t的终值,ODE45会选择它自己的时间步长。我知道t等于460,它会对它积分大约两个周期的解。
现在我们可以看一会儿了。这需要很多步骤。随着越来越多的步骤,它开始变慢。现在,它开始变得痛苦缓慢,因为它运行到僵硬。
我会在这里关闭相机一段时间,所以你不必看所有这些步骤。我们正试图在这里获得高达460我会打开它,因为我们得到接近尾声。
好吧,摄像机已经关了三分钟了。你可以看到我们已经走了多远。我们离结束还很远。我要按下停止按钮。我们回到命令窗口。
呵呵,所以我们没有到达终点这里。让我背过的时间间隔,在这里试试这个值。请参阅如何工作的。因此,这将仍然需要很多步骤。
但是,我们将能够中场休息这将大大超过约一个周期。我们将真正得到这里结束。
我要把相机开着,直到我们结束。这花了不到一分钟的时间。它走了近15000步。我们用一个简单的解算器算一下。
在那里。所以只花了半秒钟,走了500步。这里有一个刚度的简单例子。我们用刚性解方程来检验范德堡尔方程。让我们捕获输出并绘制它。
因为那个情节不是很有趣。我想用几种不同的方法来画。再一次,我想回到。抓住几个时期。
我们来画一个电流分量作为时间的函数。就是这个。这是范德波尔方程。
你可以看到它有一个初始过渡,然后落户到这里与这些真正的陡峭尖峰周期振荡。即使这种僵硬的求解器在这些快速变化的努力。我们已经有了点相当数量的在这里,因为这是它选择的步长。
现在,让我们回到命令行,做一个相平面情节。因此,这里的这个振荡阻尼的相平面情节。而且它远不及一个圆,它是,如果亩为0。
这是范德波尔振荡器的特征行为。