求解常微分方程在MATLAB, 3:经典龙格-库塔,ODE4
从系列:在MATLAB求解常微分方程
ODE4实现经典的龙格-库塔方法,它是应用最广泛的常微分方程数值方法在过去的100年。其主要缺点是缺乏一个错误估计。火焰的一个简单的模型的增长是一个例子,在这里和在以后的视频。
这是经典的龙格-库塔方法。到目前为止,,这是世界上最受欢迎的数值计算方法100多年的手上半年的20世纪,然后计算在数字计算机的20世纪下半叶。我怀疑今天仍在使用。
每一步你评估函数四次,第一次开始的时间间隔。然后用它来进入中间的间隔,s2。然后使用s2再次进入中间的间隔。
再评估函数s3。然后使用s3在间隔,步骤清晰,s4。然后结合这四个山坡,中间的两个权重更严重,带上你的最后一步。这是经典的龙格-库塔法。
这是我们的MATLAB实现。我们将称之为ODE4,因为它等于函数每一步的四倍。同样的论点,向量y。现在我们有四个斜坡- s1, s2一半在中间,s3再次在中间,然后右手s4。1/6的s1, s2的1/3,1/3 s3和s4的1/6给你的最后一步。这是经典的龙格-库塔法。
卡尔•龙格是一个相当著名的德国数学家和物理学家,他发表这种方法,连同其他几个人,在1895年。他创作了许多其他数学论文和相当有名。
马丁库塔发现这种方法独立并在1901年出版。他不是很近而闻名。
我想追求一个简单的燃烧模型。因为有一些重要的数值模型属性。如果你点燃火柴,火焰球生长迅速,直到达到临界尺寸。然后仍在大小,因为燃烧消耗氧气量的球的内部平衡可以通过表面。
这是无量纲模型。这场比赛是一个球体,y是它的半径。y立方项是球体的体积。和y立方占燃烧室内。
球的表面y²成正比。和y的平方项占的氧气可以通过表面。关键参数,重要参数,初始半径,y0, y零。
半径从y0和生长,直到y的立方和y²条款相互平衡,此时的增长率是0。和半径不会长了。我们整合了很长一段时间。我们对时间的积分初始半径成反比。这就是模型。
这是一个动画。我们在这里开始一个小火焰,一个小的球形火焰。你会看到一个小半径。时间和半径顶部的图所示。它开始生长。
当时间到达50,我们中途。火焰的爆炸,然后起床半径1,在这段时间里,这两个术语相互平衡。和火焰停止生长。这里还略有增长,虽然你看不到这个规模。
让我们把这个龙格-库塔。微分方程是y ' y的平方- y的立方。与关键的初始半径,从0开始,我要把0.01。这意味着我们要整合2 / y0, 200。
我要选择步长500步。我要选这个有些随意。好了,现在我准备使用ODE4。我会将结果存储在y。
它上升到1。我要画出结果。这是我需要t的值。这是阴谋。
现在,你可以看到火焰开始成长。它生长得相当慢。然后中途的时间间隔,它的爆炸,迅速上升,直到到达一个半径为1,然后停留在这里。
现在这个过渡时期相当狭窄。我们将继续研究这个问题。这是过渡区是为数值方法提供一个挑战。
现在,我们只是经历。我们有一个步长h,我们选择相当随意。我们生成的这些值。我们真的不知道这些数字是准确的。
他们看起来好。但是他们是准确的?这关键的问题是关于经典的龙格-库塔方法。有多可靠的价值观在我们的图吗?
我有四个练习对你的考虑。如果微分方程不涉及y,那么这个解决方案只是一个积分。和龙格-库塔方法成为一个经典的数值积分方法。如果你已经研究了这些方法,那么你应该能够识别这种方法。
号码。两个——找到y '的精确解= 1 + y的平方,y (0) = 0。ODE4然后看看会发生什么,当你试着解决它在t从0到2的间隔。
3号——如果间隔的长度不是步长整除?例如,如果t最终是π,步长是0.1。不要试着解决这个问题。只是一个危险的一个固定的步长。
最后,锻炼四——调查火焰与变换的初始半径问题。什么值t的半径达到其最终价值的90% ?
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。