数值分析Cht4数值积分和数值微分

合集下载

实验4_数值积分与数值微分

实验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章课件

清华第五版数值分析第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

《数值分析-李庆杨》第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章 数值积分与数值微分-文档资料

《数值分析-李庆杨》第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)$。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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) (),
相关文档
最新文档