求解常微分方程在MATLAB, 5:估计错误,ODE23
从系列:在MATLAB求解常微分方程
ODE23比较方法的两个和三个自动选择步长和维护指定的精度。它是最简单的MATLAB解决现代自动误差估计和连续interpolant等特性。ODE23适用于粗精度要求,比如计算机图形学。
软件实现现代数值方法有两个特性,并不是出现在代码ODE4和经典龙格-库塔。软件可以估计误差的方法,并提供自动步长控制。你不指定步长h。你指定一个你想要的准确性。和方法估计错误,并相应地调整步长。他们连续interpolant提供完全准确。他们不只是在离散点集提供解决方案。他们提供了一个函数,定义了方案的区间。所以你可以画出它,找到0的功能,提供了一个叫做事件处理的设备,等等。
拉里Shampine权威在常微分方程的数值解。他是本书的主要作者用MATLAB求解常微分方程。他是一个,现在,在达拉斯南卫理公会大学名誉教授。和他是一个长时间顾问MathWorks颂歌套件的发展。Shampine和他的学生,Przemyslaw Bogacki,这种方法在1989年出版。ODE23的基础,我们将使用的第一个方法的MATLAB颂歌套件。
的基本方法是三个订单。和错误的估计是基于订单的区别三个方法然后底层秩序两个方法。有四个斜坡。
第一个是函数的值的时间间隔。但这是基于一种叫做FSAL,姓一样,斜率是最有可能遗留下来的前一步。如果上一步成功,这个函数值是一样的最后一个函数值从上一步。
斜率是用来进入中间的间隔,函数求值。3/4的斜率是用来一步跨间隔和第三个坡那里获得的。然后这三个值用于迈出的一步。yn + 1是这三个函数值的线性组合。然后评估函数得到第四个斜率的间隔。然后,这四个斜坡用于估计错误。
误差估计的区别是这里yn + 1,另一个估计的解决方案,得到一个二阶方法,实际上我们不评价。我们只需要这个方法之间的区别和yn + 1来估算错误。
这个估计误差与用户提供的宽容。如果估计误差小于公差,然后一步成功。这第四个斜坡,s4,成为下一步的s1。
如果答案是大于公差,那么错误可能是步长调整的基础。在这两种情况下,错误估计的基础为下一步调整步长。这是Bogacki-Shampine秩序3(2)的方法歌唱23的基础。
让我们看一些非常简单的使用ODE23只是开始。我要把微分方程y ' = y。所以我要计算e / t。并就叫ODE23间隔从0到1,与初始值1。没有输出参数。如果我把它叫做ODE23,只是情节的解决方案。在这儿。它只产生一个阴谋。它选择一个步长,从0到1,这里得到的最终价值e - 2.7。
如果我做供应输出参数。我说t y = ODE23逗号,它回来的t值和y。ODE23挑选t的值。这是一个微不足道的问题。最终选择一个步长为0.1。开始后,选择一个初始步长公差。08的任何错误。和y的终值为2.718,这是e的值。
这是两个ODE23的简单使用。如果你不提供任何输出参数,画了一个图。如果你提供输出参数、t、y,它回来的值t、y选择t的值满足误差。默认的错误公差是10 - 3。所以这个值是准确到三位数。当然这是我们所得到的。
现在,让我们尝试更有挑战性的自动差控制步长选择行动。设置一个等于四分之一。然后设置y0等于15.9。如果我将它设置为16,也就是1平方,我遇到一个奇点。现在的微分方程是y ' = 2 (a - t) y的平方。我要把这与ODE23区间为0 - 1,从y0,并保存结果t、y,然后策划。这是我阴谋命令,有解决方案。
所以附近有一个奇点。它几乎爆炸。然后安定下来。所以点集中在一起当你去奇点和回来,然后做进一步的解决方案稳定下来之后。和ODE求解器能够采取更大的步骤。
实际上是采取什么措施,我们计算t的区别,然后情节。这里的步骤大小。我们看到一小步大小几乎奇异点在0.25附近拍摄。然后当我们得到末期的间隔,一个较大的步长。最后,步长来达到最后的时间间隔作为最后一步。这就是自动步长选择ODE23。
BS23有一个很好的自然interpolant,实际上这就是100多年。它叫做埃尔米特立方插值。我们知道两点确定一条直线。好吧,两个点和两个斜坡上确定一个立方。
在每个间隔y的值,yn + 1。我们也有两个斜坡,也就是这个。我们有终点的衍生品,yn '和yn + 1 ',这是在这些点的值微分方程。所以这四个值确定一个立方通过这两个点,这两个斜坡。
这个立方允许评估解决方案的软件在任何时候在定义的时间间隔没有额外的成本函数f的评估。这可以用来画图形解决方案的,平滑的图形解决方案,找到解决方案的0,事件处理,等等。ODE23提供的另一个特点。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。