数值分析Cht4数值积分和数值微分
实验4_数值积分与数值微分

数值分析实验报告四数值积分与数值微分实验(2学时)一 实验目的1.掌握复化的梯形公式、Simpson 公式等牛顿-柯特斯公式计算积分。
2. 掌握数值微分的计算方法。
二 实验内容1. 用复化梯形公式计算积分。
⎰90dx x M=82. 用复化Simpson 公式计算积分。
⎰90dx x M=8 3. 给定下列表格值利用四点式(n=3)求)50()50('''f f 和的值。
三 实验步骤(算法)与结果1复化梯形公式用C 语言编程如下:#include<stdio.h>#include<math.h>/*被积函数的定义*/float f(float x){float y;y=sqrt(x);return y;}void main(){int i,m;float a,b,h,r;printf("输入等分数m:" );scanf("%d",&m);printf("输入区间左端点a的值:"); scanf("%f",&a);printf("输入区间右端点b的值:"); scanf("%f",&b);float x[m+1];h=(b-a)/m;for(i=0;i<=m;i++)x[i]=a+i*h;r=0;for(i=0;i<=m;i++){if(i==0) r=r+h*0.5*f(x[i]);if(i>0&&i<m) r=r+h*f(x[i]);if(i==m) r=r+0.5*h*f(x[i]);}printf("输出区间[%3.1f %3.1f]的积分值:%f\n",a,b,r); }求解结果如下:输入等分数m:8输入区间左端点a的值:0输入区间右端点b的值:9输出区间[0.0 9.0]的积分值:17.7695142复化Simpson公式用C语言编程如下:#include<stdio.h>#include<math.h>/*被积函数的定义*/float f(float x){float y;y=sqrt(x);return y;}void main(){int i,m;float a,b,h,r;printf("输入等分数m:" );scanf("%d",&m);printf("输入区间左端点a的值:"); scanf("%f",&a);printf("输入区间右端点b的值:"); scanf("%f",&b);float x[m+1];h=(b-a)/m;for(i=0;i<=m;i++)x[i]=a+i*h;r=0;for(i=0;i<=m;i++){if(i==0) r=r+h*f(x[i])/3;if(i>0&&i<m){ if(i%2==0)r=r+h*2*f(x[i])/3; else r=r+h*4*f(x[i])/3;}if(i==m) r=r+h*f(x[i])/3;}printf("输出区间[%3.1f %3.1f]的积分值:%f\n",a,b,r); }求解结果如下:输入等分数m:8输入区间左端点a的值:0输入区间右端点b的值:9输出区间[0.0 9.0]的积分值:17.9031393求导数值用C语言编程如下:#include<stdio.h>int n;/*拉格朗日多项式函数的一阶导函数的定义*/float g1(float *x,float *y,float z){int i,j,k;float r,m,s;s=0;for(i=0;i<n;i++){ m=0;for(j=0;j<n;j++){if(j!=i){ r=1;for(k=0;k<n;k++)if(k!=i&&k!=j) r=r*(z-x[k]); m=m+r*y[i];}}r=1;for(j=0;j<n;j++)if(j!=i)r=r*(x[i]-x[j]);s=s+m/r;}return s;}/*拉格朗日多项式函数的二阶导函数的定义*/ float g2(float *x,float *y,float z){int i,j,k,p;float r,m,s,w;s=0;for(i=0;i<n;i++){w=0;for(j=0;j<n;j++){if(j!=i){m=0;for(k=0;k<n;k++){if(k!=i&&k!=j){ r=1;for(p=0;p<n;p++)if(p!=k&&p!=j&&p!=i)r=r*(z-x[p]); m=m+r*y[i];}}w=w+m;}}r=1;for(j=0;j<n;j++)if(j!=i)r=r*(x[i]-x[j]);s=s+w/r;}return s;}void main(){int i,j;float f1,x0,f2;printf("输入节点数n:");scanf("%d",&n);float x[n],y[n];printf("输入向量x:");for(i=0;i<n;i++)scanf("%f",&x[i]);printf("输入向量y:");for(i=0;i<n;i++)scanf("%f",&y[i]);printf("********************\n"); printf("输入1****求一阶导数\n"); printf("输入2****求二阶导数\n"); printf("********************\n"); printf("选择操作1-2:");scanf("%d",&j);switch(j){case 1:printf("输入求导处的x:");scanf("%f",&x0);f1=g1(x,y,x0);printf("x=%3.1f处的一阶导数值%f\n",x0,f1); break;case 2:printf("输入求导处的x:");scanf("%f",&x0);f2=g2(x,y,x0);printf("x=%3.1f处的二阶导数值%f\n",x0,f2); break;}}求解结果如下:输入节点数n:4输入向量x:50 55 60 65输入向量y:1.6690 1.7404 1.7782 1.8129********************输入1****求一阶导数输入2****求二阶导数********************选择操作1-2:1输入求导处的x:50x=50.0处的一阶导数值0.019673输入节点数n:4输入向量x:50 55 60 65输入向量y:1.6990 1.7404 1.7782 1.8129 ********************输入1****求一阶导数输入2****求二阶导数********************选择操作1-2:2输入求导处的x:50x=50.0处的二阶导数值-0.000164。
数值微分与数值积分

数值微分与数值积分数值微分与数值积分是现代计算机科学中非常重要的数学工具。
它们可以用来处理各种研究。
在本文中,我们将讨论这两种方法的基础原理,以及它们在不同领域中的应用。
什么是数值微分?数值微分是指对给定函数进行求导的一种数值方法。
在实际应用中,函数的导数通常很难求得解析解,这时需要使用数值微分的方法来进行近似计算。
数值微分通常是通过在函数的某个点进行差分计算来完成的。
考虑一个函数$f(x)$在某个点$x_0$进行微分的情况。
我们可以计算$f(x_0+h)$和$f(x_0-h)$,其中$h$是一个小的正数。
然后,我们可以计算$[f(x_0+h) - f(x_0-h)]/2h$来得到$f'(x_0)$的近似值。
数值微分的应用非常广泛。
在科学和工程领域中,它通常用于计算物理量相关的导数。
例如,流体力学中的速度梯度、量子力学中的波函数导数,都可以使用数值微分进行近似计算。
此外,在金融领域中,数值微分也可用于计算期权价格等任意变量导数的近似解。
什么是数值积分?数值积分是指对给定函数进行积分的一种数值方法。
与数值微分类似,函数的积分通常很难求得解析解,而不得不使用数值积分的方法来近似计算。
在数值积分中,我们通常使用数值积分公式来计算定义在一个区间$[a,b]$上的函数(如果积分问题是无限积分,我们需要进行变形,将其转化为有限积分问题)。
数值积分公式通常基于插值方法,即将函数转化为一个多项式,并对多项式进行积分。
数值积分也应用广泛。
在科学和工程领域中,它通常用于计算面积、物质质量,以及探测信号的峰值等。
在金融领域中,数值积分也可用于计算期权定价公式的近似解。
数值微分和数值积分的误差分析在应用数值微分和数值积分时,误差是一个重要的考虑因素。
误差源可以来自于采样、采样噪声、近似方法等。
通常,我们使用误差分析来评估误差大小。
数值微分的误差通常归因于选取的$h$值。
当$h$太大时,我们会失去一些重要的信息,如函数的局部斜率。
清华第五版数值分析第4章课件

3! 0
3
3
6
72
R[ f ] 1 f ''' ()
72
收敛性定义
在 b
n
f (x)dx
a
Ak f (xk )
k 0
中,若
n
b
limn,h0 Ak f (xk ) a f (x)dx
k 0
则称求积公式是收敛的。
稳定性定义
• 设 f (xk ) %fk k
a (x xk ) dx k0
xk
x0 jh,
x x0 th R[ f ] hn2
n 0
n
(t k)dt
k0
n even, n/2 integer, let t u n / 2, we have
R[ f ] hn2 n/2 n (u n / 2 k) du 0 n/2 k0
第四章 数值积分和数值微分
为什么要数值积分?
Newton-Leibniz 公式:
b a
f
(x)dx
F ( x)
b a
F (b)
F (a)
其中, F (x)是被积函数 f (x)的原函数。
要求被积函数f(x) ☞ 有解析表达式;
☞ f(x)的原函数F(x)为初等函数.
问题
1) f(x)没有解析表达式,只有数表形式 e.g. x 1 2 3 4 5
若求积公式代数精度为 m ,则可设
R( f )
b
f (x)dx
a
n
Ak f (xk ) Kf (m1) ()
k 0
求出K即可。K不依赖于函数f。令 f (x) xm1
数值方法中的数值微分和数值积分

泰勒展开法:将函数 在某点处展开成泰勒 级数,然后利用级数 的各项系数计算数值 微分
牛顿插值法:利用牛 顿插值多项式计算数 值微分,其思想是通 过构造插值多项式ห้องสมุดไป่ตู้ 逼近导数函数
数值微分的误差分析
数值微分的基本概念
数值微分误差的来源
数值微分误差的估计
减小误差的方法
数值微分的应用
计算物理量的变化 率
应用领域的比较
数值微分的应用领域:主要应用于求解微分方程的近似解,例如在物理学、 工程学和经济学等领域。
数值积分的应用领域:主要应用于求解定积分、不定积分等积分问题,例 如在计算面积、体积、物理实验数据处理等领域。
比较:数值微分和数值积分在应用领域上存在差异,但两者都是数值计算 中的重要工具,可以相互补充。
矩形法:将积分区 间划分为若干个小 的矩形,用矩形面 积的和近似积分
梯形法:将积分区 间划分为若干个小 的梯形,用梯形面 积的和近似积分
辛普森法:将积分 区间划分为若干个 等分的子区间,用 抛物线面积的和近 似积分
牛顿-莱布尼茨法 :利用定积分的定 义和牛顿-莱布尼 茨公式,通过求和 的方式计算定积分
预测函数的变化趋 势
优化问题中的梯度 计算
机器学习中的梯度 下降算法
Part Three
数值积分
数值积分的概念
数值积分定义:用数值方法近似计算定积分的值 常用方法:矩形法、梯形法、辛普森法等 近似误差:与使用的数值方法有关,通常误差随迭代次数增加而减小 应用领域:科学计算、工程、数学建模等
数值积分的计算方法
数值积分的误差分析
算法稳定性:数值积分方法的稳定性和误差控制 步长选择:步长对误差的影响和最佳步长选择 收敛性:数值积分方法的收敛速度和误差收敛性 误差来源:数值积分中误差的来源和减小误差的方法
《数值分析-李庆杨》第4章 数值积分与数值微分.ppt

题中都起了很大的作用,但它并不能完全解决定积分的
计算问题。因为定积分的计算常常会碰到以下三种情
《
况:
数 值
(1)被积函数f(x)的原函数F(x)不易找到。许多很简
分 析
单的函数,例如
》
sin x , 1 , ex2
x ln x
等,其原函数都不能用初等函数表示成有限形式。
第4章 数值积分与数值微分
(2)被积函数f(x)没有具体的解析表达式。其函数关 系由表格或图形表示,无法求出原函数。
n
Ak b a,
k0
n Ak xk
k0
1 (b2 2
a2 ),
(1.4)
《
n Ak xkm
k0
1 (bm1 m 1
am1).
数 值 分
如果我们事先选定求积节点xk,譬如,以区间[a,b] 的等距分点作为节点,这时取m=n求解线性方程组(1.4)
析 》
即可确定求积系数Ak,而使求积公式(1.3)至少具有n次 代数精度。
(3)尽管f(x)的原函数能表示成有限形式但其表达式
《 相当复杂。例如定积分
数 值 分
b dx
a 1 x4
析 》
1 的被积函数 1 x4 的原函数就比较复杂,从数值计算角
度来看,计算量太大。
第4章 数值积分与数值微分
如图4.1,若用左矩形近似地代替曲边梯形,则得到
左矩形公式
b
a f (x)dx (b a) f (a)
数
f (x) x2, 代入(1.4)式的第三式有
值
分 析 》
A0 x02
(bBiblioteka a)( ab)2 2
b
4
数值分析第四章数值积分与数值微分习题答案

第四章 数值积分与数值微分1.确定下列求积公式中的特定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度:10121012112120(1)()()(0)();(2)()()(0)();(3)()[(1)2()3()]/3;(4)()[(0)()]/2[(0)()];hhhh hf x dx A f h A f A f h f x dx A f h A f A f h f x dx f f x f x f x dx h f f h ah f f h -----≈-++≈-++≈-++''≈++-⎰⎰⎰⎰解:求解求积公式的代数精度时,应根据代数精度的定义,即求积公式对于次数不超过m 的多项式均能准确地成立,但对于m+1次多项式就不准确成立,进行验证性求解。
(1)若101(1)()()(0)()hhf x dx A f h A f A f h --≈-++⎰令()1f x =,则1012h A A A -=++令()f x x =,则110A h A h -=-+令2()f x x =,则3221123h h A h A -=+ 从而解得011431313A h A h A h -⎧=⎪⎪⎪=⎨⎪⎪=⎪⎩令3()f x x =,则3()0hhhhf x dx x dx --==⎰⎰101()(0)()0A f h A f A f h --++=令4()f x x =,则4551012()52()(0)()3hhhhf x dx x dx h A f h A f A f h h ---==-++=⎰⎰故此时,101()()(0)()hhf x dx A f h A f A f h --≠-++⎰故101()()(0)()h hf x dx A f h A f A f h --≈-++⎰具有3次代数精度。
(2)若21012()()(0)()hhf x dx A f h A f A f h --≈-++⎰令()1f x =,则1014h A A A -=++令()f x x =,则110A h A h -=-+令2()f x x =,则32211163h h A h A -=+ 从而解得11438383A h A h A h -⎧=-⎪⎪⎪=⎨⎪⎪=⎪⎩令3()f x x =,则22322()0hhhhf x dx x dx --==⎰⎰101()(0)()0A f h A f A f h --++=令4()f x x =,则22452264()5hhhhf x dx x dx h --==⎰⎰510116()(0)()3A f h A f A f h h --++=故此时,21012()()(0)()hhf x dx A f h A f A f h --≠-++⎰因此,21012()()(0)()h hf x dx A f h A f A f h --≈-++⎰具有3次代数精度。
《数值分析-李庆杨》第4章 数值积分与数值微分-文档资料

(a
b).得到的求积公式就是中矩形公式。再令
数
f (x) x2, 代入(1.4)式的第三式有
值
分 析 》
A0 x02
(b
a)( a
b)2 2
b
a 4
(a2
b2)
b x2dx 1 (b3 a3 ),
a
3
说明中矩形公式对f (x) x2不精确成立,故它的代数精确度为1.
当f(x)=x2时(1.4)式的第三个式子不成立,因为
b a (a2 b2 ) b x2dx 1 (b3 a3).
2
a
3
故梯形公式(1.1)的代数精确度为1.
第4章 数值积分与数值微分
在方程组(1.4)中如果节点xi及系数Ai都不确定,那么方 程组(1.4)是关于xi及Ai(i=0,1,…,n)的2n+2个参数的非线性方 程组。此方程组当n>1时求解是很困难的,但当n=0及n=1的 情形还可通过求解方程组(1.4)得到相应的求积公式。
练习 设有求积公式
1
1 f (x)dx A0 f (1) A1 f (0) A2 f (1)
试确定系数A0, A1, A2, 使上述求积公式的代数精度尽量高.
三、插值型求积公式
第4章 数值积分与数值微分
在n 1个互异节点a x0 x1 xn b上已知函数值f0,
A1
1(b a).于是得 2
数 值
I ( f ) b f ( x)dx b a [ f (a) f (b)]
a
2
分
析 这就是梯形公式(1.1),它表明利用线性方程组(1.4)推出的求积公式,
数值微分与数值积分的计算方法

数值微分与数值积分的计算方法数值微分和数值积分是数学中一种非常重要的方法。
在实际生活和科学研究中,很多情况下,需要对函数进行微分或积分的计算。
然而,由于很多函数的解析式很难或者根本不能求出,因此需要采用一些数值方法来近似计算。
本文将讨论数值微分和数值积分的计算方法。
一、数值微分在数值计算中,常常会遇到需要求函数在某个点处的导数的问题。
这时候,我们就需要用到数值微分。
数值微分主要有三种方法:前向差分、后向差分和中心差分。
(一)前向差分前向差分是一种用来计算函数在某个点处导数的方法。
其基本思想是求函数在当前点和向前一点的斜率,即:$$f'(x_i)=\frac{f(x_{i+1})-f(x_i)}{h}$$其中,$h$表示步长。
(二)后向差分后向差分是一种用来计算函数在某个点处导数的方法。
其基本思想是求函数在当前点和向后一点的斜率,即:$$f'(x_i)=\frac{f(x_i)-f(x_{i-1})}{h}$$(三)中心差分中心差分是一种用来计算函数在某个点处导数的方法。
其基本思想是求函数在当前点左右两个点的平均斜率,即:$$f'(x_i)=\frac{f(x_{i+1})-f(x_{i-1})}{2h}$$对于三种方法,其截断误差的阶分别为 $\mathcal{O}(h)$、$\mathcal{O}(h)$ 和 $\mathcal{O}(h^2)$。
二、数值积分数值积分是指用数值方法对某个函数在某一区间上的定积分进行近似计算的过程。
常见的数值积分方法有梯形法、辛普森法和龙贝格法。
下面将分别介绍这三种方法。
(一)梯形法梯形法是一种比较简单的数值积分方法。
其基本思想是将积分区间分成若干个小梯形,然后求出这些小梯形面积的和。
具体地,假设我们要对函数 $f(x)$ 在区间 $[a,b]$ 上进行积分,将该区间分成 $n$ 个小区间,步长为 $h=(b-a)/n$,则梯形法的计算公式为:$$\int_{a}^{b}f(x)dx\approx\frac{h}{2}\left[f(a)+2\sum_{i=1}^{n-1}f(a+ih)+f(b)\right]$$梯形法的截断误差的阶为 $\mathcal{O}(h^2)$。
实验4 数值积分与微分

数值积分
一、数值求积的基本思想 计算定积分的方法: 计算定积分的方法: 1、牛顿-莱布尼兹公式
∫
b
a
f (x)dx = F(b) − F(a)
但是求函数f(x)的原函数F(x)不一定比计算积分容易,
s in x , s i n x 2 找不到用初等函数表示的原函数。 例如函数 x
b
( n = 2: C 0 2 ) =
1 2 1 (2) (2) , C1 = , C 2 = 6 3 6
辛普森公式 代数精度 = 3
∫
b a
f ( x )dx ≈
b−a [ f ( a ) + 4 f ( a + b ) + f ( b )] 2 6
b − a 4 (4) h f (ξ ) , 余项 R[ f ] = − 180
k =0
n
称为牛顿-柯特斯求积公式,Ck(n)称为柯特斯系数 称为牛顿-柯特斯求积公式,C
特别:
1 1 ( C 01 ) = , C 1( 1 ) = n = 1: 2 b−a 2 b ∫a f ( x)dx ≈ 2 [ f (a) + f (b)]
梯形公式 代数精度 = 1
余项
f ′′(ξ) f ′′(ξ) b R[f ] = ∫ (x − a)(x − b) dx = ∫a (x − a)(x − b) dx a 2! 2! 1 3 b−a ′′(ξ ) , ξ ∈ [a , b] , h = =− h f 12 1
L n ( x ) dx =
∫ ∑
b a
n
记 Ak =
∫
b a
k =0
f ( x k ) l k ( x )dx =
数值分析中的数值微分与数值积分

数值分析中的数值微分与数值积分数值微分和数值积分是数值分析领域中两个重要的概念。
它们在计算机科学、工程学和物理学等领域中有广泛的应用。
本文将介绍数值微分和数值积分的概念、原理以及一些常用的方法和技巧。
一、数值微分数值微分是通过数值方法来计算函数的导数。
导数是描述函数变化率的工具,它在物理学、经济学和生物学等领域中具有重要的作用。
1. 前向差分法(Forward Difference)前向差分法是一种简单而常用的计算导数的方法。
它利用函数在某一点上的值与函数在该点附近的一个点上的值之间的差异来估计导数。
具体公式如下:f'(x) ≈ (f(x+h) - f(x))/h其中,h为步长,为了提高精度,需要选择足够小的步长。
2. 后向差分法(Backward Difference)后向差分法与前向差分法类似,不同之处在于它利用函数在某一点上的值与函数在该点附近的一个点上的值之间的差异来估计导数。
具体公式如下:f'(x) ≈ (f(x) - f(x-h))/h同样地,步长h需要选择足够小。
3. 中心差分法(Central Difference)中心差分法是一种更加准确的数值微分方法,它利用函数在某一点上的前后两个点的值来估计导数。
具体公式如下:f'(x) ≈ (f(x+h) - f(x-h))/(2h)中心差分法相对于前向差分法和后向差分法而言,具有更高的精度。
二、数值积分数值积分是通过数值方法来计算函数的积分。
积分在物理学、经济学和统计学等领域中起着重要的作用,它可以用来计算面积、体积以及概率等。
1. 矩形法(Rectangle Method)矩形法是一种简单的数值积分方法,它利用多个矩形来逼近曲线下的面积。
具体来说,将积分区间等分为若干子区间,然后在每个子区间上选择一个点作为高度,从而构造出多个矩形。
最后,将各个矩形的面积相加,即可得到近似的积分值。
2. 梯形法(Trapezoidal Method)梯形法是一种更加准确的数值积分方法,它利用多个梯形来逼近曲线下的面积。
数值分析第四章数值积分与数值微分习题答案

第四章 数值积分与数值微分1.确定下列求积公式中的特定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度: 解:求解求积公式的代数精度时,应根据代数精度的定义,即求积公式对于次数不超过m 的多项式均能准确地成立,但对于m+1次多项式就不准确成立,进行验证性求解。
(1)若101(1)()()(0)()hhf x dx A f h A f A f h --≈-++⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 从而解得 令3()f x x =,则 故101()()(0)()hhf x dx A f h A f A f h --=-++⎰成立。
令4()f x x =,则 故此时, 故101()()(0)()hhf x dx A f h A f A f h --≈-++⎰具有3次代数精度。
(2)若21012()()(0)()hhf x dx A f h A f A f h --≈-++⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 从而解得 令3()f x x =,则 故21012()()(0)()hhf x dx A f h A f A f h --=-++⎰成立。
令4()f x x =,则 故此时, 因此,具有3次代数精度。
(3)若1121()[(1)2()3()]/3f x dx f f x f x -≈-++⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 从而解得120.28990.5266x x =-⎧⎨=⎩或120.68990.1266x x =⎧⎨=⎩ 令3()f x x =,则 故1121()[(1)2()3()]/3f x dx f f x f x -=-++⎰不成立。
因此,原求积公式具有2次代数精度。
(4)若20()[(0)()]/2[(0)()]hf x dx h f f h ah f f h ''≈++-⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 故有令3()f x x =,则 令4()f x x =,则 故此时, 因此,21()[(0)()]/2[(0)()]12hf x dx h f f h h f f h ''≈++-⎰具有3次代数精度。
《数值分析-李庆杨》第4章 数值积分与数值微分

《
b f (x)dx b a [ f (a) f (b)]
a
2
(1.1)
数 值
如图4.3,若用抛物线代替曲线f(x),则可得到抛物线
分 析
公式(或辛普生公式)
》
b f (x)dx b a [ f (a) 4 f ( a b) f (b)] (1.2)
a
6
2
《 数 值 分 析 》
图 4.2
R[ f ] Kf '''()令 f (x) x3 得 f '''() 3!,于是有
K
1
3!
1 x3dx
0
2 3
f
(0)
1 3
f
(1)
1 6
f
' (0)
1 72
故得 R[ f ] 1 f '''(), (0,1)
72
第4章 数值积分与数值微分
五、求积公式的收敛性和稳定性
定义2 在求积公式(1.3)中, 若
k 0
《 则称求积公式(1.3)是稳定的.
数
值
分 析 》
定 理 2 若求积公式 (1.3)中系数Ak (0 0,1, , n), 则求积公式
是稳定的.
这是因为,
当
f (xk )
f%k
(k
0,L
, n)时,取
有
ba
n
n
| Rn || Ak ( f (xk ) f%(xk ) | Ak f (xk ) f%(xk )
b
b
b
a
f (x)dx a
pn ( x)dx a
Rn (x)dx
数值微分与数值积分的技术原理

数值微分与数值积分的技术原理数值微分和数值积分是数值分析中常用的数学方法,它们在工程、科学等领域具有广泛的应用,例如数值模拟、数据处理、信号处理等。
本文将介绍数值微分和数值积分的技术原理,旨在帮助读者更好地理解这些方法所基于的原理和实现方式。
一、数值微分数值微分是用数值方法来近似计算函数的导数,它的核心思想是利用函数在一点附近的局部信息来估计导数。
数值微分的比较常用的方法是前向差分、后向差分和中心差分。
下面将分别介绍它们的原理和实现。
1.前向差分前向差分是利用函数在某一点的函数值和函数在该点处的导数来近似计算函数在该点的导数。
其原理如下:$f'(x_0)=\lim_{h\to0}\frac{f(x_0+h)-f(x_0)}{h}$由于$h$趋近于0时,上式右侧的分式求值较为困难,所以我们可以将其替换为有限的、足够小的$h$,这样就得到了前向差分公式:$f'(x_0)\approx\frac{f(x_0+h)-f(x_0)}{h}$其中,$h$是差分步长,越小则得到的结果越接近真实值,但是计算量也越大。
2.后向差分后向差分与前向差分的思路相似,只是差分点的位置不同。
其原理如下:$f'(x_0)=\lim_{h\to0}\frac{f(x_0)-f(x_0-h)}{h}$同样地,将上式右侧的分式替换为有限的$h$,就得到了后向差分公式:$f'(x_0)\approx\frac{f(x_0)-f(x_0-h)}{h}$3.中心差分中心差分是利用函数在某一点前后两个点的函数值来近似计算函数在该点的导数。
其原理如下:$f'(x_0)=\lim_{h\to0}\frac{f(x_0+h)-f(x_0-h)}{2h}$同样地,将上式右侧的分式替换为有限的$h$,就得到了中心差分公式:$f'(x_0)\approx\frac{f(x_0+h)-f(x_0-h)}{2h}$二、数值积分数值积分是用数值方法来近似计算函数的定积分值,它的核心思想是将定积分转化为曲线下面的面积,然后用数值积分方法来近似计算这个面积。
数值积分与数值微分

数值积分与数值微分第七章数值积分与数值微分积分问题最早来⾃于⼏何形体的⾯积、体积计算,也是经典⼒学中的重要问题(例如计算物体的重⼼位置). 在现实应⽤中,很多积分的结果并不能写成解析表达式,因此需要通过数值⽅法来计算. 数值微分是利⽤⼀些离散点上的函数值近似计算某⼀点处的函数导数,它针对表达式未知的函数. 本章介绍⼀元函数积分(⼀重积分)和微分的各种数值算法,它们也是数值求解积分⽅程、微分⽅程的基础.7.1数值积分概论7.1.1基本思想考虑如下定积分的计算:I(f)≡∫f(x)dxba,(7.1) 其中函数f: ?→?,⾸先应想到的是微积分中学习过的⽜顿-莱布尼兹(Newton-Leibniz)公式:∫f(x)dxba=F(b)?F(a) ,其中F′(x)=f(x),即F(x)为f(x)的原函数. 但是,诸如e x2,sinxx,sinx2等表达式很简单的函数却找不到⽤初等函数表⽰的原函数,因此必须研究数值⽅法来近似计算积分. 另⼀⽅⾯,某些函数的原函数虽然可以解析表⽰,但其推导、计算⾮常复杂,此时也需要使⽤数值积分⽅法.⼀般考虑连续的、或在区间[a,b]上可积①的函数f(x),则根据积分的定义有:lim n→∞,?→0∑(x i+1?x i)f(ξi)ni=0=I(f) , (7.2)其中a=x0上述讨论表明,近似计算积分I(f)的数值积分⽅法(numerical quadrature)⼀般具有如下形式:I n(f)≡∑A k f(x k)nk=0, (7.3)其中a≤x0推导求积公式的⼀种⽅法是⽤多项式函数p(x)来近似f(x),则可期望有以下的近似关系:①连续函数在闭区间内⼀定有界、可积,⽽可积函数则可能不连续.∫f (x )dx b a ≈∫p (x )dx ba ,其中多项式函数的积分很容易通过⽜顿-莱布尼兹公式求出. 假设使⽤拉格朗⽇插值法构造p (x ),区间[a, b]内的插值节点为x 0,x 1,…,x n ,则p (x )=L n (x )=∑f (x k )l k (x )nk=0,l k (x)为拉格朗⽇插值基函数. 由此得到求积公式为:I n (f )=∫∑f (x k )l k (x )n k=0dx b a =∑f (x k )∫l k (x )dx b an k=0 .(7.4) 由于l k (x )为拉格朗⽇插值基函数,⼀旦插值节点确定,积分∫l k (x )dx b a 可⽅便地计算出来. 这种⽤多项式插值近似被积函数得到的求积公式(7.4)被称为插值型求积公式(interpolatory quadrature ),易知它也是⼀种机械求积公式,其积分节点就是插值节点,⽽积分系数 A k =∫l k (x )dx b a ,(k =0,1,?,n ).(7.5)下⾯的例⼦推导n=0, n=1两种情况下的插值型求积公式,它们分别称为中矩形公式(midpoint rule )和梯形公式(trapezoid rule ).例7.1 (中矩形公式与梯形公式):根据n=0, n=1两种情况对应的拉格朗⽇插值推导相应的求积公式,假设插值节点分别为区间[a, b]的中点和两个端点.[解] 当n=0时,按题意设x 0=(a +b)/2, 由于0次拉格朗⽇插值多项式为常数,则L 0(x )=f (x 0)因此,I 0(f )=∫f (x 0)dx b a =(b ?a )f (a +b 2) . (7.6)当n=1时,按题意设x 0=a , x 1=b , 利⽤线性拉格朗⽇插值基函数和公式(7.5),求出:A 0=∫l 0(x )dx b a =∫x ?b dx b a=b ?a , A 1=∫l 1(x )dx b a =∫x ?a b ?a dx b a =b ?a 2. 因此,I 1(f )=∑A k f (x k )1i=0=b ?a 2[f (a )+f(b)] . (7.7)中矩形公式(7.6)和梯形公式(7.7)具有很直观的⼏何意义,即分别⽤矩形⾯积和梯形⾯积来近似函数曲线和横轴围成区域的⾯积(如图7-1).7.1.2求积公式的积分余项与代数精度定义7.1:对于计算积分I(f)的求积公式I n (f),称I(f)?I n (f)为该公式的积分余项,常记为R [f ].积分余项反映了求积公式的截断误差,是衡量求积公式准确度的重要依据. 假设I n (f)为某个插值函数p(x)的积分,则R [f ]=∫[f (x )?p (x )]dx ba,即积分余项等于插值余项的积分. 对于插值型求积公式(7.4),有R [f ]=∫[f (x )?L n (x )]dx b a =∫f (n+1)(ξ)(n +1)!ωn+1(x )dx b a, (7.8) 其中ξ依赖于x .下⾯介绍代数精度的概念,它是衡量求积公式准确度的另⼀个重要标准.定义7.2:如果某求积公式对于次数不超过m 的多项式均准确成⽴,但对于m+1次多项式可能不准确,则称该求积公式具有m 次代数精度(degree of exactness ).上述定义表明,⼀个求积公式具有较⾼次的代数精度,就意味着它能准确计算次数较⾼的多项式的积分②. 应注意,在某些情况下代数精度并不是越⾼越好.要判断⼀个机械求积公式的代数精度,最直接的⽅法是考察当被积函数分别为1,x,…,x m 时求积公式的准确性. 下⾯给出⼀个定理,其证明留给感兴趣的读者思考. 定理7.1:机械求积公式I n (f )=∑A k f (x k )n k=0⾄少有m 次代数精度的充要条件是当f (x )分别为1,x,…,x m 时,I (f )=I n (f ) .我们讨论的所有求积公式都⾄少具有0次代数精度,因此根据定理7.1它们应对f (x )=1的积分准确,则推出:∑A k n k=0=∫1dx ba =b ?a ,(7.9)这说明积分系数之和等于区间长度.根据插值型求积公式的含义,容易得出如下定理,其证明留给读者思考.定理7.2:机械求积公式I n (f )=∑A k f (x k )n k=0是插值型求积公式(7.4)的充要条件是它⾄少有n 次代数精度.考察例7.1中的中矩阵公式和梯形公式,可得出它们都具有1次代数精度. ⼀般地,在部分积分节点、积分系数已知的情况下,利⽤定理7.1可建⽴⽅程求解剩余的积分系数或节点,使其达到⼀定的代数精度. ⽽且定理7.1中求积公式的形式还可以更⼀般,只要是函数值或其导数的线性组合即可,下⾯的例⼦说明了这种情况.例7.2(求积公式的代数精度):⽤形如H 2(f )=A 0f (0)+A 1f (1)+B 0f ′(0)的求积公式近似积分I (f )=∫f(x)dx 10,试确定系数A 0, A 1, B 0,使公式具有尽可能⾼的代数精确度.[解] 根据题意可令f (x )=1,x ,x 2分别代⼊求积公式使H 2(f )=I(f)精确成⽴.②当然,这没有什么实际意义,因为很容易得到多项式函数的原函数.(a) 中矩形公式(b) 梯形公式图7-1 中矩形公式(a)和梯形公式(b)的⽰意图.当f (x )=1时,得A 0+A 1=∫1?dx 1=1当f (x )=x 时,得A 1+B 0=∫xdx 1=12 当f (x )=x 2时,得A 1=∫x 2dx =1310联⽴上述三个⽅程,解得A 1=13,A 0=23,B 0=16 .当f (x )=x 3时,容易验证上述求积公式不准确,因此H 2(f )最多具有2次代数精度. 7.1.3求积公式的收敛性与稳定性实际使⽤的求积公式都是机械求积公式(7.3),下⾯针对它给出求积公式的收敛性和稳定性的概念.定义7.3:对于n 的值可以任意的⼀系列机械求积公式I n (f)=Σk=0n A k f (x k ),a ≤x 0lim n→∞,?→0I n (f)=∫f (x )dx ba ,其中?=max 1≤k≤n (x k ?x k?1),则称这⼀系列求积公式具有收敛性.收敛性说明求积公式在积分节点逐渐增多、且节点间距逐渐变⼩时,其结果收敛到准确的积分值. 这个概念不同于公式(7.2),后者反映的是被积函数具有可积性. 在实际应⽤中,求积公式具有收敛性⾮常重要,后⾯还将针对具体的公式加以讨论.在讨论求积公式的稳定性之前,先分析数值积分问题的敏感性和条件数. 假设f(x)为准确的被积函数, f(x )为实际计算时受扰动影响的被积函数,扰动的⼤⼩为δ=‖f (x )?f ?(x )‖∞=max a≤x≤b |f (x )?f ?(x )|,则扰动对积分计算的影响为: |∫f (x )dx b a ?∫f(x )dx b a |≤∫|f (x )?f ?(x )|dx b a ≤(b ?a )δ, (7.10)这说明,积分计算结果的误差最多为扰动的(b ?a)倍,积分区间的长度(b ?a)是绝对条件数的上限. ⼀般来说,数值积分问题是不太敏感的. 这⼀点不难理解,因为积分运算本⾝就是⼀个平均的过程,它不易受被积函数的某些微⼩变化的影响.求积公式的稳定性反映计算过程中的扰动是否被放⼤、以及放⼤的程度. 具体来说,在计算机械求积公式时,需考虑积分节点的函数值出现误差时,它对结果产⽣的影响. 假设节点函数值由f (x k )变为f(x k ),则数值积分的结果由I n (f )变为I n (f ?),两者之差满⾜: |I n (f )?I n (f)|=|∑A k [f (x k )f (x k )]n k=0|≤∑|A k |nk=0?|f (x k )?f ?(x k )|≤(∑|A k |n k=0)ε,(7.11)其中ε=max 0≤k≤n|f (x k )?f ?(x k )|≤δ. 根据(7.9)式,若同时有A k >0,k =0,…,n ,则不等式(7.11)变为:|I n (f )?I n (f)|≤(b a )ε≤(b ?a )δ . (7.12) (7.12)式表明求积公式的结果受扰动影响的程度与积分问题敏感性的结果(7.10)式⼀致,这是控制数值计算误差能达到的最佳情况. 将它作为⼀个标准,可定义求积公式的稳定性.定义7.4:若对k =0,1,…,n ,均有A k >0, 则机械求积公式I n (f)=Σk=0n A k f (x k )是稳定的.利⽤定义7.4很容易直接判断求积公式的稳定性. 在实际情况中,不稳定的求积公式的积分系数绝对值之和Σk=0n |A k |可能远⼤于b ?a ,从⽽导致函数值的扰动在计算结果上被放⼤很多.本节介绍了求积公式的基本形式,以及积分余项、代数精度、收敛性和稳定性的概念,其中收敛性是针对⼀系列公式(积分节点数⽬逐渐增多)⽽⾔的. 后⾯介绍具体公式时,将考察单个公式的积分余项、代数精度和稳定性,并讨论积分节点数⽬逐渐增多时的收敛性. 此外,还应注意具体公式中计算函数值的次数,它是度量计算量⼤⼩的标准.7.2⽜顿-柯特斯公式在积分区间上构造等距节点的多项式插值,对应的插值型求积公式为⽜顿-柯特斯公式.7.2.1 柯特斯系数与⼏个低阶公式假设将积分区间n 等分,步长?=(b ?a)/n ,插值节点为x k =a +k?,(k =0,…,n),则可得到等距节点的拉格朗⽇插值多项式. 根据公式(7.4), (7.5)的推导,得到型如I n (f )=∑A k f (x k )n k=0的求积公式,其中A k =∫l k (x )dx b a =∫(x ?x 0)?(x ?x k?1)(x ?x k+1)?(x ?x n )(x k ?x 0)?(x k ?x k?1)(x k ?x k+1 )?(x k ?x n )dx b a. 这就是n 阶⽜顿-柯特斯(Newton-Cotes )公式.引⼊变量代换:x =a +t?,t ∈[0,n], 则A k =∫∏(t ?j )n j=0,j≠k ?dt n0=∫∏(t ?j )n j=0,j≠k b ?a dt n 0 . (7.13) 令C k (n )=1n ∫∏(t ?j k ?j )n j=0,j≠k dt n 0 ,(k =0,?,n ), (7.14)它仅与阶数n 有关,⽽与区间⼤⼩⽆关,则积分系数A k =(b ?a )C k (n ).(7.15) 公式(7.14)中的C k (n )常被称为柯特斯系数,可以预先计算出不同n 值对应的柯特斯系数,制成⼀个表(如表7-1所⽰),根据它⽅便地写出各阶⽜顿-柯特斯公式.表7-1 柯特斯系数表。
数值分析第四章数值积分与数值微分习题答案

第四章 数值积分与数值微分1.确定下列求积公式中的特定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度: 解:求解求积公式的代数精度时,应根据代数精度的定义,即求积公式对于次数不超过m 的多项式均能准确地成立,但对于m+1次多项式就不准确成立,进行验证性求解。
(1)若101(1)()()(0)()hhf x dx A f h A f A f h --≈-++⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 从而解得 令3()f x x =,则 故101()()(0)()hhf x dx A f h A f A f h --=-++⎰成立。
令4()f x x =,则 故此时, 故101()()(0)()hhf x dx A f h A f A f h --≈-++⎰具有3次代数精度。
(2)若21012()()(0)()hhf x dx A f h A f A f h --≈-++⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 从而解得 令3()f x x =,则 故21012()()(0)()hhf x dx A f h A f A f h --=-++⎰成立。
令4()f x x =,则 故此时, 因此,具有3次代数精度。
(3)若1121()[(1)2()3()]/3f x dx f f x f x -≈-++⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 从而解得120.28990.5266x x =-⎧⎨=⎩或120.68990.1266x x =⎧⎨=⎩ 令3()f x x =,则 故1121()[(1)2()3()]/3f x dx f f x f x -=-++⎰不成立。
因此,原求积公式具有2次代数精度。
(4)若20()[(0)()]/2[(0)()]hf x dx h f f h ah f f h ''≈++-⎰令()1f x =,则 令()f x x =,则 令2()f x x =,则 故有令3()f x x =,则 令4()f x x =,则 故此时, 因此,21()[(0)()]/2[(0)()]12hf x dx h f f h h f f h ''≈++-⎰具有3次代数精度。
数值分析-李庆杨-第4章 数值积分与数值微分

即得求积公式
b
n
f(x)dx
a
A kfk,
其A k中 a blk(x)dx.
k0
称为插值型求积公式.
(1.
第4章 数值积分与数值微分
它的余项为
b
R[f] a
f(x)Ln(x)dxa bf((n n 1)1 ())!j n0(xxj)dx.
(1.7
《
数
定理求 1 积公 bf(x式 )dxn a
为了构造出形如(1.3)式的求积公式,原则上是一个 确定参数xk和Ak的代数问题。
例如n=1时,取x0=a,x1=b,求积公式为
b
I(f) af(x )d x A 0 f(a ) A 1 f(b ).
第4章 数值积分与数值微分
在线性方程组(1.4)中令m 1,则得
A0 A1 b a,
A 0a
n
n
记 In(f)= A kf(xk),In(f% )= A kf% k
k0
k0
n
则 有 |In(f)In(f% )| A k[f(xk)f% k]. k0
第4章 数值积分与数值微分
定 义 若 30,0只 , 要 f(xk)~ fk (k0,,n),就有
|In(f)In(~ f)| n Ak[f(xk)~ f(xk)], k0
第4章 数值积分与数值微分
第4章 数值积分和数值微分
§4.1 引 言
在一元函数的积分学中,我们已经熟知,若函数f(x)
《
数 在区间[a, b] 上连续且其原函数为F(x) ,则可用牛顿
值 分
―莱布尼兹公式
析
》
b
a f(x)dxF(b)F(a)
第4章 数值积分与数值微分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x
j
)dx.
(1.7)
定理1
求积公式
ab f
( x)dx
n
wk
fk至少具有n次代数精度
k 0
它是插值型求积公式.
四、求积公式的余项
若求积公式
b
f (x)dx
a
n
wk fk的代数精度为m, 则其余项
k 0
R[ f ]
b
f (x)dx
a
n
wk fk Kf (m1) (),
k 0
a,b.
定义2 在求积公式(1.3)中, 若
lim
n
n
wk
k 0
f
( xk
)
ab
f
(x)dx,
h0
其中h max(xi xi1),则称求积公式(1.3)是收敛的.
1in
设f (xk )有误差k , 即f (xk ) ~fk k (k 0,1,, n), 则有
| In ( f ) In ( ~f ) |
12
(a,b).
2. 中矩形公式的余项
b f (x)dx f (a b)(b a), 代数精度为1.
a
2
K
1 2
1
3
(b3
a3)
(b
a)
a
2
b
2
(b
a)3 24
中矩形公式的余项 : R[ f ] (b a)3 f ''(),
24
(a,b).
五、求积公式的收敛性和稳定性
wk fk
k 0
1 1 (m 1)! m
2
(bm2
am2 )
n k 0
wk
xm1 k
f
(m1) ().
1. 梯形公式的余项
b f (x)dx [ f (a) f (b)] b a , 代数精度为1.
a
2
K
1 2
1 3
(b3
a3)
b
2
a
(a2
b2
)
(b a)3 12
梯形公式的余项 : R[ f ] (b a)3 f ''(),
这是因为, 当 f (xk ) fk (k 0, , n)时, 有
n
n
| Rn | wk f (xk ) f (xk ) wk (b a) .
k 0
k 0
§2 牛顿—柯特斯公式
一、Newton-Cotes公式的导出
将求积区间[a,b]做n等分,步长h b a ,在等距节点
第4章 数值积分和数值微分
§1 引 言
一、数值求积的基本思想
问题的提出和解决办法:
I ab f (x)dx. ab f (x)dx F (b) F (a).
ab f (x)dx f ( )(b a).
梯形公式 ab
中矩形公式
f (x)dx
ab f (x)dx
[f
(a) f (a
2
f (b)]b b)(b
考察辛普森公式
S b a[ f (a) 4 f (a b) f (b)].
6
2
定理3 若n为偶数,则n阶N C公式至少有n 1次代数精度.
三、几种低阶Newton-Cotes求积公式的余项
1. 辛普森公式的余项(代数精度为3)
将x4代入R2[ f ] I S
b f (x)dx b a [ f (a) 4 f ( a b) f (b)] Kf (4) ()
)!0n
n
(t
j0
j)dt.
jk
jk
(2.2)
当n 1时, 得到梯形公式
ab
f
( x)dx
T
b a[ 2
f
(a)
f
(b)],
当n 2时, 得到抛物线公式, 也称为辛普森(Simpson)公式
ab
f
( x)dx
S
b
6
a[
f
(a)
4
f
(a
2
b)
f
(b)],
(2.3)
当n 4时,得到柯特斯(cotes)公式
a
2 a).
.
(1.1) (1.2)
一般地, 求积公式
ab
f
( x)dx
n
wk
fk ,
(1.3)
k 0
通常称为机械求积公式.
二、代数精度的概念
定义1 若一个求积公式对于所有次数不超过m的多项式
都准确成立,而对于某一个m 1次的多项式等式不准确成 立, 则称该求积公式具有m次代数精度. 练习 设有求积公式
其中K不依赖于f (x).
由于求积公式的代数精度为m,因此R[ x m1 ]不等于0,
因此
R[xm1]
b xm1dx
a
n
wk
x m 1 k
K
(m
1) !,
k 0
K =
1 1 (m 1)! m
2
(bm2
am2)
n k 0
wk
xm1 k
,
b
n
R[ f ] f (x)dx a
xk
a
kh上的插值型求积公式
ab
f
(
x)dx
(b
a)
n
C(kn)
n
ab
fk ,
n
f (x)dx k fk
wk ablkk(x0)dx(2.1)
k 0
称为Newton- Cotes公式,C(kn)称为Cotes系数.
作变换x a th,则有
C(kn)
h b
a
0n
nt
j0k
j dt j
(1)nk nk!(n k
k 0
ab f (x)dx abLn (x)dx
n
ablk (x)dx
fk ,
k 0
即得求积公式
ab f (x)dx
n
wk
fk ,
其中wk ablk (x)dx.
k 0
称为插值型求积公式.
(1.5)
它的余项为
R[
f
]
ab
f
(x)
Ln
(x)dx
ab
f (n1) ( )
(n 1)!
n
(x
j0
n
wk
[
f
(
xk
)
~fk
].
定义3
若
0,
k 0
0,只要
f (xk )
~fk
(k
0,,n), 就有
| In ( f ) In ( ~f ) |
n
wk
[
f
(
xk
)
~f (
xk
)]
,
k 0
则称求积公式(1.3)是稳定的.
定理2 若求积公式(1.3)中系数wk (0 0,1,,n),则求积公式
是稳定的.
11 f (x)dx w0 f (1) w1 f (0) w2 f (1)
试确定系数w0, w1, w2, 使上述求积公式的代数精度尽量高.
三、插值型求积公式
在n 1个互异节点a x0 x1 xn b上已知函数值f0,
f1,, fn,就有拉格朗日插值多项式
得到
n
Ln (x) lk (x) fk
C
b a[7 90
f
( x0)Fra bibliotek32f
(
x1)
12
f
(
x2 )
32
f
( x3 )
7
f
( x4
)],
其中xk
a kh,h
b a. 4
( 2.4)
柯特斯系数表. n 8时C(kn)出现负值, N C公式不稳定.
二、 Newton-Cotes公式的代数精度
由定理1知,n阶N C公式至少n次代数精度.
a
6
2
余项R2
[
f
]
ba 180
b
a
4
2
f
(4) (),
[a,b].
2. 柯特斯公式的余项(代数精度为5)
若f (6) (x)在[a,b]上连续, 则柯特斯公式的余项为
R4[
f
]
I
C
2(b a) 945
b
a 6
4
f
(6) (),