从系列:在MATLAB求解常微分方程
一个涉及高阶常微分方程衍生品是重写为一个向量系统只涉及一阶导数。经典的范德堡尔非线性振荡器是一个例子。VdP方程变得僵硬作为参数增加。
许多数学模型包括高阶导数。但MATLAB解决歌唱只使用一阶常微分方程组。所以我们必须重写模型只涉及一阶导数。让我们看一下如何使用一个非常简单的模型中,谐振子。
x ' ' + x = 0。这涉及到一个二阶导数。写成一阶系统,我们介绍了向量y。这是一个向量有两个组件,x, x的导数。
我们只是改变符号让y两个组件,x, x '。的导数与x和y是向量x ' '。所以现在的微分方程变成了y2 ' + y1等于零。你看到我们刚刚重写这个微分方程。所以y2 ' x ' '玩的?
一旦你这么做了,其他都是容易的。向量系统现在y1, y2 '是y2 - y1。第一个组件y1 '是y2说。这只是说,第一个组件是第二个的导数。这是微分方程本身。Y2 - y1是实际的谐振子'是微分方程。
当我们把它写成一个自治为MATLAB函数,这是自治功能。f是一个自治t、y的函数,这并不取决于t。首先,它是一个向量,一个列向量。f是y2的第一个组成部分。第二个组件是日元。
第一个组件是只是一种符号。第二部分的所有内容,表达了微分方程。
现在对于一些初始条件,初始条件是假设x 0 = 0,和x ' 0 = 1。的向量y, y₁0, y = 0的第一个组成部分。第二个组件是1。
或向量而言,初始矢量是0,1。这意味着他们的解决方案是t正弦和余弦t。当我们编写MATLAB的初始条件,这是列向量0,1。
让我们把MATLAB命令窗口。这是微分方程。y1 '是y2。和y2 '是日元。这是谐振子。
我们要整合从0到2π,因为他们是三角函数。我将要求输出步骤2π/ 36,这对应于每10度在机场跑道。
我需要一个初始条件。y0不是0。我需要一个列向量,0,1,两个组件。我要用数值,如果我不带输出参数,调用它的数值微分方程f t跨度的时间间隔,y0初始条件。
如果我不带输出参数调用数值,它只是块自动的解决方案。这里我们得到余弦图t从1开始,和正弦t从0开始。
现在如果我回到命令窗口,并要求捕获输出在t、y,然后我得到的输出向量。37个步骤,向量t,两个组件y,包含正弦和余弦的两列。现在我可以在相平面的阴谋。
阴谋反对y2丫。如果我调整轴,我得到一个不错的情节一圈小圈每10度,就像我说的,就像在机场跑道。
范德堡尔振荡器是由荷兰的电气工程师,1927年引入模型振荡电路包括真空管。它有一个非线性阻尼项。它是被用来模拟现象在各种各样的领域,包括地质学和神经学。
它的展品混乱的行为。我们感兴趣的数值分析,因为随着参数μ的增加,这个问题变得越来越僵硬。把它写成一阶系统,使用MATLAB解决歌唱,我们引入向量y,包含x, x '。
所以y ' x ' x ' '。然后是微分方程编写的第一个组件y '是日元。然后是微分方程写在y的第二个组件。
这是- y1非线性阻尼项。当μ= 0时,这变成了谐振子。这里是匿名函数。
让我们用范德堡尔振荡器运行一些实验。首先,我必须定义μ的值。我会选择一个适中的μ值。μ等于100。与μ,现在我可以定义匿名函数。
它包括μ的值。这是第二部分的范德波尔方程f。我要收集统计信息困难的ODE求解器是如何工作的。为此,我将使用设置的颂歌,告诉它我想打开统计数据。
我需要一个初始条件。现在我要在这个问题上运行数值。我指定的起始值t, t的最终值,数值是要拿自己的时间步骤。我知道t最后等于460,它将积分这两个时期的解决方案。
现在我们可以看它走一段时间。采取很多措施。它开始慢下来,因为它需要更多的步骤。现在开始缓慢,因为它遇到了刚度。
我会关掉相机有一段时间,所以你不需要看所有这些步骤。我们试图让这里460。我会把它当我们接近结束。
好,相机是大约三分钟。你可以看到我们已经有多远。我们还远远没有结束。所以我要按下停止按钮。我们会回到命令窗口。
哦,所以我们没有得到这里的结束。让我后退的时间间隔,试试这个值。看看这是如何工作的。这仍然会采取很多措施。
但是我们能够——这将对一个周期。我们会在这里结束。
我把相机,直到我们完成。所以,在不到一分钟。,花了近15000步。让我们用硬解算器运行它。
在那里。所以花了半秒,只有500步。这里有一个适度的刚度的例子。让我们检查范德波尔方程使用硬解算器。我们捕获输出和情节。
因为这情节不是很有趣。我想把这两种不同的方式。再一次,我想回去,捕捉几个时期。
我们策划一个当前的组件作为时间的函数。和在这里。这是范德波尔方程。
你可以看到它有一个初始瞬态,然后解决这个周期振荡与这些非常陡峭的峰值。甚至这僵硬的解算器正在努力在这些快速变化。我们有相当多的点在这里,因为这是它选择步长。
现在,让我们回到命令行和相平面的阴谋。这是这与阻尼振子的相平面的阴谋。离一个圆,它如果μ是0。
这是范德堡尔振荡器的行为特征。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。