常微分方程数值解法的误差分析教材
- 格式:doc
- 大小:683.13 KB
- 文档页数:21
微分方程中的数值解误差分析方法微分方程是数学中的一个重要分支,它在物理、工程、经济等领域中有广泛的应用。
然而,在实际求解微分方程时,由于计算机运算能力和数值方法的限制,我们无法得到精确解,而只能得到数值解。
因此,对于数值解的误差分析显得尤为重要。
本文将介绍微分方程中的数值解误差分析方法。
一、数值解的精度和稳定性分析在求解微分方程时,我们通常采用数值方法,将连续的方程转化为离散的形式。
而数值解的精度和稳定性是我们评估数值方法好坏的重要指标。
数值解的精度指的是数值解与精确解之间的差别,而数值解的稳定性则是指数值方法对初始条件和参数变化的敏感程度。
为了分析数值解的精度和稳定性,我们可以采用以下方法:1. 改变离散化步长:通过减小离散化步长,我们可以获得更加精确的数值解。
在此过程中,我们可以观察数值解的变化情况,以评估数值解的精度。
2. 比较不同数值方法:在求解微分方程时,存在多种数值方法可供选择,如欧拉法、改进的欧拉法、龙格-库塔法等。
我们可以用不同的数值方法分别求解同一个微分方程,然后比较数值解的差别,以评估数值方法的精度和稳定性。
3. 研究截断误差:数值解的误差主要由截断误差和舍入误差组成。
其中,截断误差是由于将无限精度的数值问题转化为离散形式所引入的误差。
通过分析截断误差的大小和变化趋势,我们可以判断数值方法的收敛性和稳定性。
二、舍入误差的估计和控制舍入误差是由计算机数值运算的有限精度所引入的误差。
在求解微分方程时,我们需要进行大量的数值计算,从而会积累舍入误差。
为了减小舍入误差的影响,我们需要采取以下方法:1. 使用高精度计算:可以使用高精度的数值计算库或软件,如GNU多精度库(GMP)、Python中的decimal模块等,以增加计算的精度。
2. 选择合适的计算顺序:在进行数值计算时,不同的计算顺序可能会导致不同的舍入误差。
通过合理安排计算的顺序,可以减小舍入误差的积累。
3. 选取合适的数值格式:计算机内部对数值的表示是有限的,因此我们需要选择合适的数值格式,在保证精度的同时,避免数值过大或过小而引入舍入误差。
微分方程中的数值解误差分析方法在数学领域中,微分方程是描述自然现象和物理现象的一个非常重要的工具。
然而,大多数微分方程很难用解析的方法求解,因此我们通常使用数值方法来近似求解。
然而,这些数值解不可避免地会引入误差。
本文将介绍微分方程中的数值解误差分析方法。
一、局部截断误差在使用数值方法求解微分方程时,我们通常会引入一个步长h。
在每个步长上,我们通过一系列迭代计算来逼近真实的解。
然而,由于近似计算和舍入误差等原因,我们得到的数值解与真实解之间存在误差。
这个误差被称为局部截断误差。
局部截断误差可以通过泰勒展开来近似计算。
假设我们使用的数值方法是Euler方法,那么可以得到如下的局部截断误差公式:$$LTE = \frac{y(t_{n+1}) - [y(t_n) + hf(t_n, y(t_n))]}{h}$$其中,$y(t_n)$是真实解在时间点$t_n$的值,$f(t_n, y(t_n))$是微分方程的右侧函数在$t_n$和$y(t_n)$处的取值。
二、全局截断误差除了局部截断误差之外,我们还需要考虑全局截断误差。
全局截断误差是指在整个求解过程中,数值解与真实解之间的误差累积情况。
通过对局部截断误差进行逐步累积,我们可以得到全局截断误差的估计。
例如,使用Euler方法求解微分方程,假设总共迭代了N步,步长为h,则全局截断误差的估计为:$$GTE = \frac{LTE}{h} \times N = \frac{y(T) - y(t_0)}{h} = O(h)$$其中,$y(T)$是真实解在求解区间的终点处的值,$y(t_0)$是真实解在求解区间的起点处的值。
三、稳定性分析除了局部截断误差和全局截断误差,稳定性也是数值解的一个重要性质。
在数值方法中,一个稳定的方法可以保证数值解不会因为舍入误差或者数值不稳定性而发散。
稳定性分析通常通过稳定性函数来进行判断。
对于一个给定的数值方法,我们可以将其误差传播到未来的时间点,然后观察误差是否会趋于无穷大。
微分方程中的数值解误差分析方法微分方程是描述自然界中各种变化规律的数学工具,在科学研究和工程实践中有着广泛的应用。
然而,在实际问题中,常常无法通过解析方法求得微分方程的精确解,因此需要借助数值方法来求解微分方程的数值解。
但是,数值解并非完全准确,会存在一定的误差。
因此,对数值解的误差进行分析是非常重要的,可以帮助我们评估数值解的可靠性,指导数值方法的选择以及参数的调整。
一、截断误差在数值解微分方程时,我们常常会使用近似方法来替代微分方程中的导数,例如使用差分法或插值法。
这样就会引入截断误差,即在每次近似计算中产生的误差。
截断误差通常与步长有关,步长越小,截断误差越小。
二、舍入误差在计算机上进行数值计算时,由于计算机的存储精度有限,会导致舍入误差的产生。
舍入误差是由于对于无限小数进行有限位数的近似表示而引起的误差。
舍入误差在数值计算中是不可避免的,但可以通过控制计算精度和合理选择数值方法来减小舍入误差的影响。
三、稳定性分析除了截断误差和舍入误差外,还有一个重要的误差来源是数值方法的稳定性。
稳定性分析主要是研究数值方法对微小扰动的抵抗能力,即微小误差是否会被放大。
一个稳定的数值方法可以保证数值解的误差不会随着计算的进行而迅速增大,而是保持在一个可控范围内。
四、数值解误差的评估对于数值解的误差评估是数值计算中非常重要的一环。
常用的评估方法包括绝对误差、相对误差、误差限制和收敛性分析等。
在实际应用中,我们需要根据具体情况选择合适的误差评估方法,并根据误差分析的结果来调整数值方法的参数。
通过以上的误差分析,我们可以更加全面地了解数值解的可靠性和精度,指导我们选择合适的数值方法和参数,提高数值计算的准确性和效率。
在研究微分方程和进行工程计算时,对数值解误差的分析是必不可少的一步,有助于我们更加有效地利用数值方法解决实际问题。
淮北师范大学2013届学士学位论文常微分方程数值解法的误差分析学院、专业数学科学学院数学与应用数学研究方向计算数学学生姓名—李娜学号—20091101070指导教师姓名__ 陈昊指导教师职称__ 讲师常微分方程数值解法的误差分析李娜(淮北师范大学数学科学学院,淮北,235000)摘要自然界与工程技术中的很多现象,往往归结为常微分方程定解问题。
许多偏微分方程问题也可以化为常微分方程问题来近似求解。
因此,研究常微分方程的数值解法是有实际应用意义的。
数值解法是一种离散化的数学方法,可以求出函数的精确解在自变量一系列离散点处的近似值。
随着计算机计算能力的增强以及数值计算方法的发展,常微分方程的数值求解方法越来越多,比较成熟的有Euler 法、后退Euler法、梯形方法、RungbKutta方法、投影法和多步法,等等.本文将对这些解的误差进行分析,以求能够得到求解常微分数值解的精度更好的方法。
关键词:常微分方程,数值解法,单步法,线性多步法,局部截断误差Error Analysis of Numerical Method for Solving the Ordinary Differential EquationLi Na(School of Mathematical Science, Huaibei Normal University, Huaibei, 235000)AbstractIn nature and engineering have many phenomena , definite solution of the problem often boils down to ordinary differential equations. So study the numerical solution of ordinary differential equations is practical significance. The numerical method is a discrete mathematical methods, and exact solution of the function can be obtained in the approximation of a series of discrete points of the argument.With the enhanced computing power and the development of numerical methods,ordinary differential equations have more and more numerical solution, there are some mature methods. Such as Euler method, backward Euler method, trapezoidal method, Runge-Kutta method, projection method and multi-step method and so on. Therefore, numerical solution of differential equation is of great practical significance. Through this paper, error of these solutions will be analyzed in order to get a the accuracy better way to solve the numerical solution of ordinary differential.Keywords: Ordinary differential equations, numerical solution methods, single step methods, linear multi-step methods, local truncation error引言 (1)一、常微分方程 (1)1、定义 (1)2、常微分方程初值问题描述 (2)3、数值解法的基本思想与途径 (2)4、数值解的分类 (3)5、问题(1)解的存在惟一性定理 (4)二、几种常用的数值解法及其误差分析 (4)1、单步法 (4)(一)、欧拉法5(二)、向后Euler方法6(三)、0-法7(四)、改进欧拉法7(五)Rung* Kutta 方法92、线性多步法 (14)总结 (16)参考文献: (17)自然界中很多事物的运动规律可用微分方程来刻画。
第九章常微分方程初值问题数值解法图9-1n 作为()n x y 的近似值,得 ()n n y x hf ,)y x ,两边从n x 到1+n x 积分,得()dx x y x f x y x n nx x n n ⎰+=-+1))(,()1 矩形公式计算上式右侧积分,即()()x x x x x d x y x f dx x y x f n nn n⎰⎰++≈11,))(,()n ,得()n n n n y x hf y y ,1+=+,故欧拉法也称为矩形法。
为了达到较高精度的计算公式,对欧拉法进行改进,用梯形公式计算()()([1,2))(,(1++≈+n n n x f x y x f hdx x y x f n 的近似值,得9.2 龙格—库塔法前面讨论的欧拉法与改进的欧拉法都是一步法,即计算y 1+n 时,只用到前一步值。
龙格—库塔(Runge-Kutta)法(简称为R-K 方法)不是通过求导数的方法构造近似公式,而是通过计算不同点上的函数值,并对这些函数值作线性组合,构造近似公式,再把近似公式与解的泰勒展开式进行比较,使前面的若干项相同,从而使近似公式达到一定的阶数。
我们先分析欧拉法与预估—校正法。
对于欧拉法⎩⎨⎧=+=+),(111n n n n y x hf k k y y 每步计算f 的值一次,其截断误差为O (2h )。
对于预估—校正法()()⎪⎪⎩⎪⎪⎨⎧++==++=+121211,,2121k y h x hf k y x hf k k k y y n n n n n n 每步计算f 的值两次,其截断误差为O (3h ).下面对预估—校正法进行改进,将该公式写成更一般的形式()()bh y ah x hf k y x hf k k R k R y y n n n n n n ++==++=+,,2122111 (2.1)其中b a R R ,,,21为待定常数。
选择这些常数的原则是在)(n n x y y =的前提下,使11)(++-n n y x y )的阶尽量高。
微分方程的数值解法与误差估计微分方程是数学中的重要分支,广泛应用于物理、工程、经济等领域。
解微分方程的数值方法是研究微分方程的一个重要方面,它通过数值计算来近似求解微分方程,为实际问题提供了有效的数值解。
本文将介绍微分方程的数值解法以及误差估计的相关内容。
一、欧拉方法欧拉方法是一种常见的数值解微分方程的方法。
它基于微分方程的定义,将微分方程转化为差分方程。
具体而言,对于一阶常微分方程dy/dx=f(x,y),我们可以将其转化为差分方程(y_(i+1)-y_i)/(x_(i+1)-x_i)=f(x_i,y_i),其中x_i和y_i分别表示第i个点的x坐标和y坐标。
然后,通过给定的初始条件y_0,可以使用迭代公式y_(i+1)=y_i+(x_(i+1)-x_i)f(x_i,y_i)来逐步计算出近似解。
然而,欧拉方法存在一定的误差。
首先,它是基于线性逼近的,因此在非线性问题上可能会产生较大的误差。
其次,由于每次迭代的误差会累积,欧拉方法的误差随着步长的增加而增加。
因此,在使用欧拉方法时需要注意选择合适的步长,以保证结果的准确性。
二、改进的欧拉方法为了克服欧拉方法的缺点,人们提出了改进的欧拉方法,如改进的欧拉法和改进的欧拉-克罗默法。
这些方法通过引入更高阶的近似公式来减小误差,并提高数值解的精度。
改进的欧拉法是通过使用中点来近似解的方法,即在每个小区间上使用中点的斜率来计算近似解。
这样做可以减小误差,并提高数值解的精度。
改进的欧拉-克罗默法是通过使用梯形法则来近似解的方法,即在每个小区间上使用梯形的斜率来计算近似解。
这种方法比改进的欧拉法更精确,但计算量也更大。
三、龙格-库塔方法龙格-库塔方法是一种常用的数值解微分方程的方法,它通过使用不同阶数的近似公式来计算近似解,并通过比较不同阶数的结果来估计误差。
其中最常用的是四阶龙格-库塔方法,也称为RK4方法。
RK4方法通过计算不同阶数的斜率来逐步逼近真实解。
常微分方程式の数値解法の系統的誤差解析常微分方程式(简称ODE)的数解法是计算机科学、物理学和工程学等许多学科中应用最广泛的一类解决方案。
它们在工程和科学领域中广泛应用,从流体力学、激光力学、地震动力学到量子力学等。
然而,由于计算机有限的精度, ODE值解法不可避免地会出现误差。
因此,系统的误差分析是提高 ODE值解的关键环节。
基于这样的考虑,本文将对 ODE值解法的系统误差进行解析。
首先,将对 ODE模型进行介绍,讨论 ODE值解法的构造原则以及其常见的数值技术。
然后,将介绍 ODE值解法的系统误差概念,探讨其本质原因,并分析 ODE值解法的系统性误差。
其次,将具体介绍 ODE 值解法的系统性误差解析方法,并介绍其具体实现步骤。
最后,将对ODE值解法的系统性误差解析的应用进行讨论,以及它们在计算科学和工程学中的实际应用场景。
首先,ODE指常微分方程,它以一组微分方程式描述未知函数及其关于自变量的变化规律。
通常来说,ODE型被用于描述许多工程和科学应用领域中的物理过程。
由于这类问题一般存在许多其他的复杂物理系统,往往需要采用数值方法来解决。
常见的 ODE值解法有有限差分法、有理阻尼法、隐式 Runge-Kutta等。
其次,ODE值解法的系统性误差指的是由于 ODE模型不完善和计算机精度有限而导致的计算结果误差。
由于 ODE数值解法受许多因素的影响,因此,系统性误差会持续存在,而且其影响是复杂而又无法改变的。
因此,系统性误差解析和控制是非常重要的课题。
系统性误差分析有两个主要方面:一是推导 ODE值解法的系统性误差公式:二是应用有关解析方法对 ODE值解法的系统性误差进行分析。
对于后者,可以将 ODE值解的系统性误差分解为矩阵误差、模型误差和算法误差三部分,进而进一步细化和分析每部分的误差特征和其造成的影响范围。
系统性误差分析的应用主要是两方面:一方面,应用它可以使ODE值解法获得更高的精确度和可靠性;另一方面,它还可以为 ODE 值解法的稳定性分析和可解性分析提供重要参考。
淮北师范大学2013届学士学位论文常微分方程数值解法的误差分析学院、专业数学科学学院数学与应用数学研究方向计算数学学生姓名李娜学号 ***********指导教师姓名陈昊指导教师职称讲师年月日常微分方程数值解法的误差分析李娜(淮北师范大学数学科学学院,淮北,235000)摘要自然界与工程技术中的很多现象,往往归结为常微分方程定解问题。
许多偏微分方程问题也可以化为常微分方程问题来近似求解。
因此,研究常微分方程的数值解法是有实际应用意义的。
数值解法是一种离散化的数学方法,可以求出函数的精确解在自变量一系列离散点处的近似值。
随着计算机计算能力的增强以及数值计算方法的发展,常微分方程的数值求解方法越来越多,比较成熟的有Euler 法、后退Euler法、梯形方法、Runge—Kutta方法、投影法和多步法,等等.本文将对这些解的误差进行分析,以求能够得到求解常微分数值解的精度更好的方法。
关键词:常微分方程, 数值解法, 单步法, 线性多步法, 局部截断误差Error Analysis of Numerical Method for Solving theOrdinary Differential EquationLi Na(School of Mathematical Science, Huaibei Normal University, Huaibei, 235000)AbstractIn nature and engineering have many phenomena , definite solution of the problem often boils down to ordinary differential equations. So study the numerical solution of ordinary differential equations is practical significance. The numerical method is a discrete mathematical methods, and exact solution of the function can be obtained in the approximation of a series of discrete points of the argument.With the enhanced computing power and the development of numerical methods,ordinary differential equations have more and more numerical solution,there are some mature methods. Such as Euler method, backward Euler method, trapezoidal method, Runge-Kutta method, projection method and multi-step method and so on.Therefore, numerical solution of differential equation is of great practical significance. Through this paper, error of these solutions will be analyzed in order to get a the accuracy better way to solve the numerical solution of ordinary differential.Keywords:Ordinary differential equations, numerical solution methods, s ingle ste p methods, l inear multi-step methods, local truncation error目录引言 (1)一、常微分方程 (1)1、定义 (1)2、常微分方程初值问题描述 (2)3、数值解法的基本思想与途径 (2)4、数值解的分类 (3)5、问题(1)解的存在惟一性定理 (4)二、几种常用的数值解法及其误差分析 (4)1、单步法 (4)(一)、欧拉法 (5)(二)、向后EuIer方法 (6)(三)、- 法 (7)(四)、改进欧拉法 (7)(五)Runge—Kutta方法 (9)2、线性多步法 (14)总结 (16)参考文献: (17)引 言自然界中很多事物的运动规律可用微分方程来刻画。
常微分方程是研究自然科学和社会科学中的事物、物体和现象运动、演化和变化规律的最为基本的数学理论和方法。
物理、化学、生物、工程、航空航天、医学、经济和金融领域中的许多原理和规律都可以描述成适当的常微分方程,因此,常微分方程的理论和方法不仅广泛应用于自然科学,而且越来越多的应用于社会科学的各个领域。
由于该问题比较复杂且涉及的面广,使得有些问题的解析解很难求出,而对于一些典型的微分方程(如线性方程、某些特殊的一阶非线性方程等)可以运用基本方法求出其解析解,并在理论上可以根据初值问题的条件把其中的任意常数完全确定下来。
然而,在生产实际和科学研究中所遇到的微分方程往往很复杂,在很多情况下都不可能给出解的解析表达式,有时即使能求出形式的解,也往往因计算量太大而不实用,而且高次代数方程求根也并不容易,所以用求解析解的方法来计算微分方程的数值解往往是不适宜的。
从实际意义来讲我们更关心的是某些特定的自变量在某一个定义范围内的一系列离散点上的近似值。
本文研究的主要是针对常微分方程各种数值解法的误差进行分析。
一、常微分方程1、定义首先,我们在这部分给出所需的一些基本概念和基本知识。
我们已经知道微分方程就是联系着自变量、未知函数以及其导数的关系式。
如果在微分方程中,自变量的个数只有一个,我们称这种微分方程为常微分方程。
方程22d y dy b cy f t dt dt++=() 20dy dy t y dt dt ⎛⎫++= ⎪⎝⎭ 就是常微分方程的例子,这里y 是未知函数,t 是自变量。
微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。
2、常微分方程初值问题描述在自然科学和经济的许多领域中,常常会遇到一阶常微分方程的初值问题()()00,,dy f x y a x b y x y dx⎧=⎪≤≤⎨⎪=⎩(1) 这里(),f x y 是充分光滑,即关于x 或y 满足李普希茨条件的二元函数,0y 是给定的初值,()00y x y =称为初始条件。
3、数值解法的基本思想与途径一阶微分方程的初值问题(1)的解()y x 是区间[],a b 上的连续变量x 的函数,因而问题(1)实际上是一个连续性的问题,求这个问题的数值解,就是要求在区间[],a b 上的若干个离散点处的函数近似值,例如:01...n x a x x b <≤<<≤,然后计算出解()y x 的近似值()()()01,,...,n y x y x y x .一般常取01,,...,n x x x 为等距离的点,即10211...n n x x x x x x h --=-==-=或 ,0,1,...,,i x a ih i n =+=称h 为步长。
建立数值方法的第1步,就是把连续性问题(1)通过一定的方法化为在给定的1n +个点上的近似的差分方程的初值问题,称这个过程为离散化。
常用离散化的方法如下:(一)用差商替代导数在点i x 处的导数()i i y x '可以近似地表示成差商()1,i i i y y y x h+-'≈ 从而把初值问题(1)化为差分问题()()100,,0,1,...,i i i i y y f x y h i n y x y +-⎧=⎪=⎨⎪=⎩ (2)其中i y 表示解()y x 在点i x 处的近似解,即()i i y y x =。
当然,用差商来近似地表示导数,方法不是唯一的,这里所用的是所谓的向前差商。
(二)Taylor 展开法在一点(例如点i x )的附近,()y x 的同次数的近似多项式中的Taylor 多项式()()()()()...!p p i i i i h y x h y x hy x y x p '+≈+++为最好。
其中p 为一正整数。
通过微分方程(),y f x y '=,便可以逐次把各阶导数,,y y '''在i x 处的值表示出来。
(三)数值积分法对微分方程(),y f x y '=在区间[]1,i i x x +上求积分,得()()()()11,,i i x i i x y x y x f x y x dx ++-=⎰ 0,1,i=于是,初值问题(1)便可以近似地化为()()()1100,,0,1,.,i i x i i x y y f x y x dx i n y x y ++⎧=+⎪=⎨⎪=⎩⎰这样,关于上式右端的积分,可以用数值积分方法计算其近似值。
4、数值解的分类常微分方程初值问题的数值解法一般分为两大类:单步法:所谓单步法是指这类方法在计算1n y +时,只用到前一步的值1,,,n n n x x y +然后逐步往下计算。
这个算法的代表是龙格---库塔算法,简称R —K方法。
四阶显示Runge-Kutta 方法是求解普通常微分方程初值问题数值解法中的重要方法,而隐式Runge-Kutta 公式是求解刚性常微分方程初值问题的重要方法。
多步法:这类方法在计算1n y +时,除了用到前一步的值1,,,n n n x x y +之外,还要用到()1,2,,;0n p n p x y p k k --=>,这前面k 步的值,这个算法的代表就是阿达姆斯(Adams)方法。
5、问题(1)解的存在惟一性定理一个常微分方程是不是有特解呢?如果有,又有几个呢?这是微分方程论中一个基本的问题,数学家把它归纳成基本定理,叫做存在和唯一性定理。
因为如果没有解,而我们要去求解,那是没有意义的;如果有解而又不是唯一的,那又不好确定。
因此,存在和唯一性定理对于微分方程的求解是十分重要的。
这个重要的存在和唯一性就是下面列出的著名的存在惟一性定理。
定理[]1 如果(),f x y 在带形区域(){}R x a x b y =≤≤-∞<<+∞,y ,中连续,且关于y 满足Lipchiz 条件:即存在正常数L ,使得()()1212,,,f x y f x y L y y -≤-对所有的[],x a b ∈以及任何12y y ,都成立,那么初值问题(1)存在惟一的连续可微解()y y x =。