常微分方程常用数值解法.

合集下载

常微分方程的数值解法

常微分方程的数值解法

常微分方程的数值解法在自然科学的许多领域中,都会遇到常微分方程的求解问题。

然而,我们知道,只有少数十分简单的微分方程能够用初等方法求得它们的解,多数情形只能利用近似方法求解。

在常微分方程课中已经讲过的级数解法,逐步逼近法等就是近似解法。

这些方法可以给出解的近似表达式,通常称为近似解析方法。

还有一类近似方法称为数值方法,它可以给出解在一些离散点上的近似值。

利用计算机解微分方程主要使用数值方法。

我们考虑一阶常微分方程初值问题⎪⎩⎪⎨⎧==00)(),(yx y y x f dx dy在区间[a, b]上的解,其中f (x, y )为x, y 的已知函数,y 0为给定的初始值,将上述问题的精确解记为y (x )。

数值方法的基本思想是:在解的存在区间上取n + 1个节点b x x x x a n =<<<<= 210这里差i i i x x h -=+1,i = 0,1, …, n 称为由x i 到x i +1的步长。

这些h i 可以不相等,但一般取成相等的,这时na b h -=。

在这些节点上采用离散化方法,(通常用数值积分、微分。

泰勒展开等)将上述初值问题化成关于离散变量的相应问题。

把这个相应问题的解y n 作为y (x n )的近似值。

这样求得的y n 就是上述初值问题在节点x n 上的数值解。

一般说来,不同的离散化导致不同的方法。

§1 欧拉法与改进欧拉法 1.欧拉法1.对常微分方程初始问题(9.2))((9.1) ),(00⎪⎩⎪⎨⎧==y x y y x f dx dy用数值方法求解时,我们总是认为(9.1)、(9.2)的解存在且唯一。

欧拉法是解初值问题的最简单的数值方法。

从(9.2)式由于y (x 0) = y 0已给定,因而可以算出),()('000y x f x y =设x 1 = h 充分小,则近似地有:),()(')()(00001y x f x y hx y x y =≈-(9.3)记 ,n ,,i x y y i i 10 )(== 从而我们可以取),(0001y x hf y y ==作为y (x 1)的近似值。

微分方程的数值解法

微分方程的数值解法

微分方程的数值解法微分方程是自然科学和现代技术领域中一种最基本的数学描述工具,它可以描述物理世界中的各种现象。

微分方程的解析解往往很难求出,因此数值解法成为解决微分方程问题的主要手段之一。

本文将介绍几种常见的微分方程的数值解法。

一、欧拉法欧拉法是微分方程初值问题的最简单的数值方法之一,它是由欧拉提出的。

考虑一阶常微分方程:$y'=f(t,y),y(t_0)=y_0$其中,$f(t,y)$表示$y$对$t$的导数,则$y(t_{i+1})=y(t_i)+hf(t_i,y_i)$其中,$h$为步长,$t_i=t_0+ih$,$y_i$是$y(t_i)$的近似值。

欧拉法的精度较低,误差随着步长的增加而增大,因此不适用于求解精度要求较高的问题。

二、改进欧拉法改进欧拉法又称为Heun方法,它是由Heun提出的。

改进欧拉法是在欧拉法的基础上进行的改进,它在每个步长内提高求解精度。

改进欧拉法的步骤如下:1. 根据当前$t_i$和$y_i$估算$y_{i+1}$:$y^*=y_i+hf(t_i,y_i),t^*=t_i+h$2. 利用$y^*$和$t^*$估算$f(t^*,y^*)$:$f^*=f(t^*,y^*)$3. 利用$y_i$、$f(t_i,y_i)$和$f^*$估算$y_{i+1}$:$y_{i+1}=y_i+\frac{h}{2}(f(t_i,y_i)+f^*)$改进欧拉法具有比欧拉法更高的精度,但是相较于其他更高精度的数值方法,它的精度仍然较低。

三、龙格-库塔法龙格-库塔法是一种广泛使用的高精度数值方法,它不仅能够求解一阶和二阶常微分方程,还能够求解高阶常微分方程和偏微分方程。

其中,经典的四阶龙格-库塔法是最常用的数值方法之一。

四阶龙格-库塔法的步骤如下:1. 根据当前$t_i$和$y_i$估算$k_1$:$k_1=f(t_i,y_i)$2. 根据$k_1$和$y_i$估算$k_2$:$k_2=f(t_i+\frac{h}{2},y_i+\frac{h}{2}k_1)$3. 根据$k_2$和$y_i$估算$k_3$:$k_3=f(t_i+\frac{h}{2},y_i+\frac{h}{2}k_2)$4. 根据$k_3$和$y_i$估算$k_4$:$k_4=f(t_i+h,y_i+hk_3)$5. 根据$k_1$、$k_2$、$k_3$和$k_4$计算$y_{i+1}$:$y_{i+1}=y_i+\frac{h}{6}(k_1+2k_2+2k_3+k_4)$龙格-库塔法的精度较高,在求解一些对精度要求较高的问题时,龙格-库塔法是一个比较好的选择。

常微分方程的数值解

常微分方程的数值解

f ( x, y1 ) f ( x, y2 ) L y1 y2
(其中 L 为 Lipschitz 常数)则初值问题( 1 )存 在唯一的连续解。
求问题(1)的数值解,就是要寻找解函数在一 系列离散节点x1 < x2 <……< xn < xn+1 上的近似 值y1, y 2,…,yn 。 为了计算方便,可取 xn=x0+nh,(n=0,1,2,…), h称为步长。
(1),(2)式称为初值问题,(3)式称为边值问题。 在实际应用中还经常需要求解常微分方程组:
f1 ( x, y1 , y2 ) y1 ( x0 ) y10 y1 (4) f 2 ( x, y1 , y2 ) y2 ( x0 ) y20 y2
本章主要研究问题(1)的数值解法,对(2)~(4)只 作简单介绍。
得 yn1 yn hf ( xn1 , yn1 )
上式称后退的Euler方法,又称隐式Euler方法。 可用迭代法求解
二、梯形方法 由
y( xn1 ) y( xn )
xn1 xn
f ( x, y( x))dx
利用梯形求积公式: x h x f ( x, y( x))dx 2 f ( xn , y( xn )) f ( xn1 , y( xn1 ))
常微分方程的数言 简单的数值方法 Runge-Kutta方法 一阶常微分方程组和高阶方程
引言
在高等数学中我们见过以下常微分方程:
y f ( x, y, y) a x b y f ( x, y ) a x b (2) (1) (1) y ( x ) y , y ( x ) y 0 0 0 0 y ( x0 ) y0 y f ( x, y, y) a x b (3) y(a) y0 , y(b) yn

第8章常微分方程数值解法

第8章常微分方程数值解法

的解为
y ( x) e
x2

x 0
e dt
t2
但要计算它的值,还需要用数值积分的方法。如果要 对许多个 x 值计算解 y(x) 的近似值,那么工作量非常大。况 且实际计算不一定要求解析表达式,而是只需求在某些点 上满足精度的解的近似值或解的近似表达式就可以了。
由于高阶常微分方程可以转化为一阶常微分方程组,因 此,为了不失一般性,本章主要介绍一类一阶常微分方程初 值问题
的解来近似微分方程初值问题(8.2)的解,其 中 h (b- a) / 2 ,式(8.3)也称为欧拉公式。
欧拉法的几何意义是用一条自点 ( x0 , y0 ) 出发的 折线去逼近积分曲线 y f (x) ,如图8.1所示。 因此,这种方法又称为折线法。显然,欧拉法 简单地取折线的端点作为数值解,精度非常差。
float euler(float x0,float xn,float y0,int N) { float x,y,h; int i; x=x0; y=y0; h=(xn-x0)/(float)N; /* 计算步长 */ for(i=1;i<=N;i++) /* 欧拉公式 */ { y=y+h*func(x,y); x=x0+i*h; } return(y); }
8.4 龙格—库塔(Runge-Kutta)法 8.4.1 龙格—库塔法的基本思想
在欧拉法 yi 1 yi h f ( xi , yi ) (i 0,1,) 中,用解函数 y f (x) 在 点 x i 处的斜率 f ( xi , y i ) 计算从 yi 到 y i 1 的增量,y i 1 的表达式 与 y( xi 1 ) 的Taylor展开式的前二项相等,使方法只有一阶精度。 改进的欧拉法用两个点 x i ,x i 1 处的斜率 f ( xi , y i )、f ( xi 1 , yi 1 ) 的平均值计算增量,使方法具有二阶精度,即 y i 1 的表达式 与 y( xi 1 ) 的Taylor展开式的前三项相等。 由此龙格和库塔提出了一种间接地运用Taylor公式的方法, y (x) 即利用 在若干个待定点上的函数值和导数值做出线性组 合式,选取适当系数使这个组合式进行Taylor展开后与 y( xi 1 ) 的Taylor展开式有较多的项达到一致,从而得出较高阶的数 值公式,这就是龙格—库塔法的基本思想。

数值分析常微分方程数值解法

数值分析常微分方程数值解法
7
第8页/共105页
➢ 数值积分方法(Euler公式)
设将方程 y=f (x, y)的两端从 xn 到xn+1 求积分, 得
y( xn1) y( xn )
xn1 f ( x, y( x))dx :
xn
xn1 F ( x)dx
xn
用不同的数值积分方法近似上式右端积分, 可以得到计算 y(xn+1)的不同的差分格 式.
h2 2
y''( )
Rn1
:
y( xn1)
yn1
h2 2
y''( )
h2 2
y''( xn ) O(h3 ).
局部截断误差主项
19
第20页/共105页
➢ 向后Euler法的局部截断误差
向后Euler法的计算公式
yn1 yn hf ( xn1, yn1 ), n 0, 1, 2,
定义其局部截断误差为
y 计算 的n递1 推公式,此类计算格式统称为差分格式.
3
第4页/共105页
数值求解一阶常微分方程初值问题
y' f ( x, y), a x b,
y(a)
y0
难点: 如何离散 y ?
➢ 常见离散方法
差商近似导数 数值积分方法 Taylor展开方法
4
第5页/共105页
➢ 差商近似导数(Euler公式)
(0 x 1)
y(0) 1.
解 计算公式为
yn1
yn
hfn
yn
h( yn
2xn ), yn
y0 1.0
n 0, 1, 2,
取步长h=0.1, 计算结果见下表
13

常微分方程数值解法-欧拉法、改进欧拉法与四阶龙格库塔法常微分方程数值解法

常微分方程数值解法-欧拉法、改进欧拉法与四阶龙格库塔法常微分方程数值解法

y( xn1)
y( xn
Байду номын сангаас
h)
y(xn )
hy'( xn )
h2 2!
y''( )
进一步: 令
h2 y( xn ) hy'( xn ) 2! y''( xn )
常微分方 yn1 y( xn1 ) , yn y( xn )
程数值解
法-欧拉法 yn1 yn hf ( xn , yn ) h2
、改进欧 y( xn1 ) yn1
2
max y''( x)
a xb
拉法和四
三、Euler方法
已 知 初 值 问 题 的 一 般 形式 为:
dy
dx
f (x, y)
a xb
(1)
y( x0 ) y0
常微分方 用差商近似导数 程数值解 问题转化为
yn1 yn dy
h
dx
法-欧拉法 yn1 yn hf ( xn , yn )
法-欧 y(拉0) 法1
、改进欧
拉法和四
四、几何意义
由 x0 , y0 出发取解曲线 y yx 的切线(存在!),则斜率
dy
f x0, y0
dx x y
,
0
0
常微分方 由于 f x0, y0 及 x0, y0 已知,必有切线方程。
由点斜式写出切程线方数程:值解
法、-改欧进拉欧法 ddxy y y0 x x0
常微分方 程数值解 能用解析方法求出精确解的微分方程为数不多,
而且有的方程即使有解析解,也可能由于解的表达
法-欧拉法 式非常复杂而不易计算,因此有必要研究微分方程

常微分方程数值解法

常微分方程数值解法

介绍常微分方程数值解法常微分方程(ordinary differential equations,ODE)可用于描述许多日常存在的物理系统。

处理ODE问题常常被称为数值求解法,这指的是找到概括ODE或者其他适用于数学模型的解决方案来模括这些ODE。

这种解决方案可能在一系列不同方案中发挥重要作用,以此来提供更好的解释和预测。

常微分方程与几何图形更为相关,它利用二维或者三维空间中曲线的绘制以及分析。

通过引入一些不同的方法,可以对不同的常微分方程中的量进行描述,使得可以通过数值方法的解析来进行研究。

数值解法可能是时间消耗较多的,但有助于验证几何图形中的某些过程,以此帮助揭示数学模型。

四种常见的常微分方程数值解法四种常见的常微分方程数值解法是:前向差分法、向后差分法、中点法和全分方法。

•前向差分法:前向差分法的基本概念是利用ODE的特定解来表达时间步的影响。

这是一种基本的数值法,可以在ODE中确定任意位置的点作为终点。

在这里,任何这样的点都可以表示为ODE右边的时间步。

•向后差分法:它是反过来基于前向差分法。

它要求对ODE中的时间步进行逆向推导,以获得某一特定点的解。

向后差分法要求推导反向解中点,以便可以从每一步中获取该点的解。

•中点法:这是一种非常基本的数值解法,可以用来求解ODE中的某一步的解,但不具有直观的方法解释。

主要的思想是在每一次时间步中通过求出ODE的中点来寻找解。

•全分方法:这是一种更复杂的数值解法,它要求将ODE中的每一步解细分并解决。

与前面提到的三种解法不同,它首先要求将ODE分解成若干离散区间,然后计算每一段区间中的点。

这种解法可以更准确地进行处理,但时间消耗较多,因此比较少被使用。

优化方案在需要解决常微分方程时,为了得到最佳的结果,有必要考虑一些优化措施。

•首先,应考虑将一个复杂的ODE拆分成一些更易解决的问题。

这样做的结果是,预见到解决此ODR的总耗时将会降低。

•其次,为了加快计算速度,可以考虑使用预解算法。

常微分方程的数值解法

常微分方程的数值解法

常微分方程的数值解法1. 引言常微分方程是自变量只有一个的微分方程,广泛应用于自然科学、工程技术和社会科学等领域。

由于常微分方程的解析解不易得到或难以求得,数值解法成为解决常微分方程问题的重要手段之一。

本文将介绍几种常用的常微分方程的数值解法。

2. 欧拉方法欧拉方法是最简单的一种数值解法,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上假设解函数为线性函数,即通过给定的初始条件在每个子区间上构造切线;- 使用切线的斜率(即导数)逼近每个子区间上的解函数,并将其作为下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。

3. 改进的欧拉方法改进的欧拉方法是对欧拉方法的一种改进,主要思想是利用两个切线的斜率的平均值来逼近每个子区间上的解函数。

具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上构造两个切线,分别通过给定的初始条件和通过欧拉方法得到的下一个初始条件;- 取两个切线的斜率的平均值,将其作为该子区间上解函数的斜率,并计算下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。

4. 二阶龙格-库塔方法二阶龙格-库塔方法是一种更为精确的数值解法,其基本思想是通过近似计算解函数在每个子区间上的平均斜率。

具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上计算解函数的斜率,并以该斜率的平均值近似表示该子区间上解函数的斜率;- 利用该斜率近似值计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。

5. 龙格-库塔法(四阶)龙格-库塔法是目前常用的数值解法之一,其精度较高。

四阶龙格-库塔法是其中较为常用的一种,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上进行多次迭代计算,得到该子区间上解函数的近似值;- 利用近似值计算每个子区间上的斜率,并以其加权平均值逼近解函数的斜率;- 计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章绪论1.1 引言常微分方程是现代数学的一个重要分支,是人们解决各种实际问题的有效工具。

微分方程的理论和方法从17世纪末开始发展起来,很快成了研究自然现象的强有力工具,在17到18世纪,在力学、天文、科学技术、物理中,就已借助微分方程取得了巨大的成就。

1864年Leverrer根据这个方程预见了海王星的存在,并确定出海王星在天空中的位置。

现在,常微分方程在许多方面获得了日新月异的应用。

这些应用也为常微分方程的进一步发展提供了新的问题,促使人们对微分方程进行更深入的研究,以便适应科学技术飞速发展的需要。

研究常微分方程常用数值解是数学工作者的一项基本的且重要的工作。

在国内外众多数学家的不懈努力,使此学科基本上形成了一套完美的体系。

微分方程的首要问题是如何求一个给定方程的通解或特解。

到目前为止,人们已经对许多微分方程得出了求解的一般方法。

由于在生产实际和科学研究中所遇到的微分方程问题比较复杂,使这些问题的解即使能求出解析表达式,也往往因计算量太大而难于求出,而对于一些典型的微分方程则可以运用基本方法求出其解析解,并可以根据初值问题的条件把其中的任意常数确定下来。

由于求通解存在许多困难,人们就开始研究带某种定解条件的特解。

首先是Cauchy对微分方程初始解的存在惟一性进行了研究。

目前解的存在惟一性、延拓性、大范围的存在性以及解对初始解和参数的延续性和可微性等理论问题都已发展成熟。

与此同时,人们开始采取各种近似方法来求微分方程的特解,例如求微分方程数值解的Euler折线法、Runge-Kutta法等,可以求得若干个点上微分方程的近似解。

最后,由于当代高科技的发展为数学的广泛应用和深入研究提供了更好的手段。

用计算机结合Matlab软件求方程的精确解、近似解,对解的性态进行图示和定性、稳定性研究都十分方便有效。

本章先介绍常微分的一般概念、导出微分方程的一些典型例子及求解微分方程的思路分析。

从而得到常微分方程的常用数值解法。

1.2 常微分方程的概念1.常微分方程的定义含有未知量的等式称为方程,它表达了未知量所必须满足的某些条件。

一般说来,凡含有自变量、未知函数以及未知函数的导数或微分的方程称为微分方程。

如果微分方程中的未知函数只依赖于一个自变量,则称为常微分方程;如果未知函数依赖于两个或多个的自变量,并且在方程中出现偏导数,则称为偏微分方程。

在在一个微分方程中,未知函数最高阶导数的阶数,称为方程的阶数。

如果一个微分方程关于未知函数及其各阶导数都是线性的,则称它为线性微分方程,否则称之为非线性微分方程。

本论文主要介绍常微分方程,也简称微分方程。

以y 错误!未找到引用源。

为未知函数,x 错误!未找到引用源。

为自变量的一阶常微分方程的一般形式可表示为微分方程,,0),,(,=y y x F (1.2.1) 将(1.2.1)中,y 错误!未找到引用源。

解出,则得到方程),,(,y x f y = (1.2.2)或,0),(),(=+dy y x N dx y x M (1.2.3)也称(1.2.1)为一阶隐式微分方程,(1.2.2)为一阶显式微分方程,(1.2.3)为一阶微分方程的微分形式。

错误!未找到引用源。

阶隐式方程的一般形式为,0),,,,()(,=n y y y x F (1.2.4)错误!未找到引用源。

阶显式方程的一般形式),,,,,()1(,)(-=n n y y y x f y (1.2.5)方程(1.2.4)中,如果函数错误!未找到引用源。

对未知函数错误!未找到引用源。

和它的各阶导数)1(,,,,-n y y y 错误!未找到引用源。

都是一次的,则称其为线性常微分方程,否则,称其为非线性微分方程。

以y 错误!未找到引用源。

为未知函数,错误!未找到引用源。

为自变量的n 错误!未找到引用源。

阶线性微分方程具有如下形式:),()()()(,1)1(1)(x f y x p y x p y x p y n n n n =++++-- (1.2.6)2.常微分方程的解设函数)(x y ϕ=是定义在区间错误!未找到引用源。

上的错误!未找到引用源。

阶可微导数。

如果把错误!未找到引用源。

代入方程(1.2.4)后能使其成为恒等式,即()()()()(),,',..,0,n F x x x x x I ϕϕϕ≡∈则称错误!未找到引用源。

是微分方程(1.2.4)在区间错误!未找到引用源。

上的一个解。

例如,kx e y -=是微分方程0=+ky dxdy 在()+∞∞-,的一个解.x y tan =是微分方程21'y y +=在区间⎪⎭⎫ ⎝⎛-2,2ππ的一个解. 如果关系式()0,=y x F 决定的隐函数)(x y ϕ=是方程(1.2.4)的解,则我们称()0,=y x F 是(1.2.4)的隐式解。

例如一阶微分方程0=+ydy xdx有隐式解.022=-+c y x我们把含有n 个相互独立的任意常数n c c c ,...,21的解),..,,,(21n c c c x y ϕ=称为n 阶微分方程(1.2.4)的通解。

在通解之中当一组任意常数确定时,所得到确定的解称为特解。

例如,x c x c y sin cos 21+=是二阶线性方程0''=+y y 的通解,而x x y x y sin cos ,sin +==都是其特解,其中21,c c 是任意常数。

一般地,方程的特解可由其通解中任意常数取确定的常数导出,且方程的通解不一定表示方程的所有解。

3.常微分方程初值问题为了确定微分方程的一个特解,我们可以给出这个微分方程的所满足的定解条件,常见的定解条件是初始条件,即方程(1.2.4)在某一点0x 所满足的条件: ()()()()().,...,'',000000n n y x y y x y y x y === (1.2.7) 微分方程(1.2.4)连同初始条件(1.2.7)一起称为初始值问题。

一阶常微分方程初值问题是求解函数)(x y ,且满足 ⎪⎩⎪⎨⎧=≤≤=.)(,),,(αy a y b x a y x f dx dy (1.2.8)其中),(y x f 错误!未找到引用源。

为已知函数,αy 为给定的初值。

定理1.2.1 假设),(y x f 错误!未找到引用源。

在矩形区域{}),(],,[),(+∞-∞∈∈=Ωy b a x y x 内连续,且关于变元y Lipschitz 连续,即存在正常数L ,使得对任意],[b a x ∈及,成立不等式 ,),(),(2121y y L y x f y x f -≤- (1.2.9) 其中常数错误!未找到引用源。

称为Lipschitz 常数,则处置问题存在惟一解()],[b a C x y ∈,()x y 连续依赖于初值.αy由常微分方程的基本理论,我们有:换句话说,若是()x y η如下初值问题 ⎪⎩⎪⎨⎧+=≤≤=.)(,),,(ηαy a y b x a y x f dx dy (1.2.10)的解错误!未找到引用源。

,则()()].,[,lim 0b a x x y x y ∈=→ηη错误!未找到引用源。

因此问题(1.2.8)是适定的。

定理1.2.2 当假定函数),(y x f 错误!未找到引用源。

满足定理1.2.1中的条件时,也即微分方程(1.2.8)的解)(x y 错误!未找到引用源。

是适定的。

综上,高阶常微分方程初值问题一般为 ⎪⎪⎩⎪⎪⎨⎧-==≤≤=+--.1,,1,0,)(,),,,,,(111n i y dx a y d b x a dx y d dx dy y x f dx y d i ii n n n n (1.2.11) 其中n y y αα,,1 错误!未找到引用源。

为给定值。

引进新的变量函数.,,2,1,,)()(11n k b x a dxx y d x y k k k =≤≤=-- (1.2.12) 则初值问题(1.2.11)化成了一阶常微分方程组初值问题⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧=====-.,,2,1,)(),,,,(,,,1121n i y a y y y x f dx dy y dxdy y dx dy i i n n n n αb x a ≤≤ (1.2.13) 通过求解(1.2.13)得到(1.2.11)的解).(x y1.3 常微分方程常用数值解法的思路一般说来,对于某些典型微分方程可以通过初等积分法求解,而对于复杂微分方程,需要得到解在若干个点上的近似值或者便于计算的近似表达式即可。

本论文讲研究常微分方程常用数值解法及其matlab 程序设计。

对于一阶常微分方程的初值问题为⎪⎩⎪⎨⎧==.)(),,(00y x y y x f dx dy (1.3.1) 求微分方程初值问题(1.3.1)的数值解,就是求解函)(x y y =在一系列离散点错误!未找到引用源。

),,2,1(n i x i =错误!未找到引用源。

上精确值)(,),(),(21n x y x y x y 错误!未找到引用源。

的近似值n y y y ,,,21 错误!未找到引用源。

由于计算的复杂及繁冗,在计算常微分方程初值问题的数值解是一般使用Matlab 软件进行编程计算,按如下步骤:(1)引入点列{}i x 错误!未找到引用源。

,其中h i h x x i i i ,,2,1,1 =+=-,错误!未找到引用源。

称为步长。

为了便于使用计算机进行编程计算,一般取步长为定值,即h h i =错误!未找到引用源。

,,1,0,0=+=i ih x x i , (2.2)(2)使用常微分方程常用数值解方法,即输入由1-i y 错误!未找到引用源。

计算出),,2,1(n i y i =错误!未找到引用源。

的递推公式。

(3)利用(2)中的公式逐步求出近似解.,,,21n y y y 错误!未找到引用源。

第二章 单步法所谓单步法是指这类方法在计算1+n y 时,只用到前一步的值n n n y x x ,,1+,然后逐步往下计算。

单步法的精度不高,这是它的缺点。

但我们只要给定初值就可以计算,所以还是比较方便的。

以下我们介绍两种典型的单步法:Euler 法和Runge-Kutta 法。

2.1 Euler 法为了计算出初始值问题 ⎪⎩⎪⎨⎧==.)(),,(00y x y y x f dx dy (2.1.1)在],[00b x x +这一区间上若干个点上解的近似解,我们将此区间n 等分,令k k y n k kh x x nb h ,,...,2,1,,0=+==为(2.1.1)的解,即k x x =当时精确值)(k x y 的近似解。

我们的任务是要用尽可能简单的方法求出与)(k x y 尽可能接近的值k y 。

相关文档
最新文档