来自系列:解决matlab的杂物
Moller,Mathworks
ode1实现欧拉的方法。它提供了对ODES的数值方法和Matlab套件的ode ode ondlvers的介绍。指数增长和复合兴趣用作示例。
你好。我是Mathworks的创始人和主要数学家之一,我是Clyver Moler。这一系列视频是关于在Matlab中求解普通微分方程。我们可以首先回顾衍生品的定义。点处的函数的导数是切线线的斜率在该点处的函数图。
我们的数值近似将依赖于剪辑的斜率。这是一行通过两点,分开距离。当我们走的时候,我们将有很多关于阶段尺寸的人。重要的是要意识到,由于H进入0,割线的斜率接近切线的斜率。
Wiggly等标志意味着大约等于。T0是我们找到近似的点。T0的衍生物的值近似等于剪辑的斜率。SECANT的斜率是Y值在T值的变化上的变化。Y值的变化是y的两个值之间的差异。T值的变化是阶梯尺寸h。
如果我们重写这一点,我们会在T0 Plus H处获得Y的值大致等于T0 Plus H在T0的y Prime的值的值。这是我们第一个数字方法,欧拉方法的基础。
Leonhard Euler是18世纪的瑞士数学家,可能是他时代最具影响力的数学家。他对数学,物理和天文学的广泛领域作出了重要贡献。例如,他发明了函数的概念。
差分方程由两个变量,t和y的该函数f给出。一般而言,任务是找到函数y,其导数等于f。现在,有很多函数y,其衍生物等于f。因此,在存在初始条件的情况下,任命的点T或T0和值Y0,并且初始条件是T0处的y应该等于Y0。
这是一些例子。复合息问题只是利率倍。这里T和Y的功能实际上没有依赖于T,并且它在Y中是线性的。初始条件是在时间0的0. y的指定值,如100美元。这是复合兴趣问题。
这是物流方程式。非线性方程,这里的F和Y再次不依赖于T.并且它是一个恒定的时代y减去另一个恒定时间y平方。这是物流方程。并且再次,该值在0中指定。假设y为0等于1。
这是另一个非线性方程。t和y的f是t平方加y平方。无法找到该等式的分析解决方案。我们将使用这些数字方法来找到此等方程式的一些解决方案。初始条件,y为0等于0。这是t和y的函数的一个例子。
欧拉的方法实际上不是一种实用的数值方法,一般来说。我们只是用它来让我们开始考虑潜在的数字方法的想法。欧拉的方法涉及一系列点T子N,由固定步长H分开。然后Y子N是T子N处溶液值的近似值。
近似来自剪辑的斜率,y值与阶梯尺寸H的差异的比率。微分方程表示,该比率应该是T子N的函数的值。如果我们重新排列了这个方程,我们得到了欧拉的方法,那么Yn Plus 1是在D Sub N和Y Sub N处评估的功能F的Yn Plus H倍。这是欧拉的方法。
我们现在为我们的第一个Matlab程序,ODE1准备了。它被称为Ode1,因为这是我们的第一个程序,因为它评估了每一步定义微分方程的函数f。有五个输入参数。第一个是f,一个定义微分方程的函数。这是一种称为匿名功能的东西。我在片刻里会谈谈这一点。
另外四个是标量数值。前三个定义了集成的间隔。我们将从T0的步骤转到TFinal。第五个输入参数是y0,初始值。输出是向量。矢量yout是区间点处的解决方案的值。
我们首先将y0,初始值放入y,然后将y放入输出向量中。该功能的主体是一个用于循环的。T从T0的步骤转到TFinal的一步,然后通过代码的主体的最终通道达到TFinal。
我们评估T和Y的功能f。这给了我们一个斜坡。s是斜坡。这是欧拉的一步。占据Y的当前值。加上斜坡的H倍。这给了我们一个新的y值。然后y附加到你。使用方括号的MATLAB构造占据了向量Y,对其添加了另一个值,使其成为一个元素,并将结果放回Yout。这是整个代码。 This is it. This is ODE1 that implements Euler's method.
任何MATLAB ode解码器的第一个参数是指定差分方程的函数的名称。这被称为功能手柄。获得函数句柄的最简单方法是利用使用&符号或符号创建的匿名函数。所有差分方程都涉及两个变量,t和y的匿名函数。因此,我们在括号中等于括号y关闭括号。接下来是涉及t或y的任何表达。其中许多不依赖于T.
所以这是一个匿名函数,定义了我们的兴趣问题。我们可以像任何普通功能一样评估这一点。当Y等于1时,F的1为0.06。这是一个函数的示例,它取决于t和y。函数可以涉及具有值的常量。所以这里我们可以定义两个常数。然后我们可以使用这两个常数来定义逻辑方程,F的次数为Y减去B次Y平方。同样,这是一种自治方程式,实际上并不依赖于t。
让我们看看euler的方法和ode1在这个简单的例子上工作,y Prime等于2y,初始条件y为0等于0和3之间的间隔t。我们定义了匿名函数,t和y的f of t和y等于2y。初始条件为t0等于0.我们将采取一步尺寸1.转到TFINAL等于3,从Y0等于10。这是我们对ODE1的调用。
我们有一个展示这些步骤的动画。从t0开始等于0和y0等于10.这是我们的第一点。我们评估那里的功能。我们得到了20岁的坡度。这是2次10.我们在第一步中占据了长度的欧拉步骤。将我们带到第二个,0.30。评估那里的功能。2次30是60.这是我们的斜坡。
迈出第二步到达Y2。Y2是90.在那里评估功能。获得2次90是180.这给了我们斜坡。在与该斜坡的间隔中迈出一步,并让我们到第三点。第三点是270.这就是集成的结束。因此,从t0到tfinal的三个欧拉步骤。
欧拉的方法实际上与计算复合兴趣相同。所以让我们做一个复合兴趣问题。定义利率。使用该利率定义我们的匿名功能。从时间开始0.进入一个月的步骤。去10年。从100美元开始。这是我们使用ODE1计算复合兴趣的结果。那是121个数字。
MATLAB实际上有一种查看美元和美分的格式。所以在这里,他们是美元和美分。从100美元开始,每月复合,我们才达到超过180美元。我要绘制这一点。所以我想要一个月的时间矢量。
我实际上想以简单的兴趣进行比较。所以这就是你如何计算简单的兴趣,每月0.50美元。然后现在让我们绘制这两个人。因此,直线是简单的兴趣,达到160美元。蓝线是复合兴趣。有一个轻微的向上曲率,让我们高达180美元。这里有一个点,正如我们展示了欧拉方法的结果,正如我所说,这与计算复合兴趣一样。
最后,这是一个运动。找到产生线性增长的微分方程。并重新运行此示例使用ODE1两次,一次计算复合兴趣,并一次计算简单的兴趣。