数值逼近课程设计
- 格式:doc
- 大小:122.50 KB
- 文档页数:12
《数值逼近》课程设计报告数值逼近课程设计报告一、目的意义(1)进一步熟悉掌握复化梯形和复化抛物线公式(2)学会比较复化梯形公式和复化抛物线公式如何达到所要求的精度(3) 提高编程能力(4)通过数值方法求出很难求得原函数的积分和解析表达是没有明确的给出积分的近似值二、内容要求积分计算问题:分别用复化梯形和复化Simpsom 求积公式计算积分dx e x x x 5.1402)(13-⎰-,并比较计算量(精度为10-8)。
三、问题解决的方法与算法方法:解决该积分问题时,运用了数值积分近似解法的方法,运用复化梯形和复化Simpsom 求积公式进行计算3.1 复化梯形积分3.1.1复化梯形积分公式表达式()()()1122n n i i h T f a f b f x -=⎡⎤=++⎢⎥⎣⎦∑ 3.1.2复化梯形积分误差表达式[]()()()2,,12n b a h R f f a b ηη-''=-∈3.2复化抛物线积分3.2.1复化抛物线积分公式表达式()()()()()11/21142n n bk k a k k f x dx f a f x f x f b --==⎡⎤≈+++⎢⎥⎣⎦∑∑⎰3.2.2复化抛物线积分误差表达式[]()()()()()()()54444,,28802880n b a h b a R f f f a b n ηηη--=-=-∈3.3算法 3.3.1复化梯形积分算法第一步:根据精度计算n 的值,输入两端点的值,计算步长h第二步:根据步长计算出各个节点x[i]的值,i=0,1,2,…,n第三步:根据x[i]计算出各个节点对应y[i]的值,i=0,1,2,…,n第四步:对各个节点的值进行求和第五步:输出最终的积分的值3.3.2复化抛物线积分算法第一步:根据精度计算n 的值,端点a,b 的值,计算步长h第二步:根据步长计算出各个节点x[i]的值,i=0,1,2,…,n第三步:根据x[i]计算出各个节点对应y[i]的值,i=0,1,2,…,n第四步:对各个节点的值进行求和,分情况,对左右端点先求和,对剩下的端点,奇数的求和后乘以4倍,偶数的求和后乘以2倍,最终将各个值进行加和第五步:对加和的值乘以步长除以3第六步:输出最终的积分的值四、计算程序// 复化梯形公式.cpp : 定义控制台应用程序的入口点。
课程设计报告课程名称数值逼近专业信息与计算科学班级计算092姓名杜青学号 50指导教师秦新强、胡钢日期 2011-07-01理学院应用数学系一、目的意义(1)进一步熟悉掌握复化梯形公式。
(2)进一步掌握熟悉复化抛物线公式。
(3) 学会比较复化梯形公式和复化抛物线公式如何达到所要求的精度。
二、内容要求积分计算问题:分别用复化梯形和复化Simpsom 求积公式计算积分dx e x x x 5.142)(13-⎰-,并比较计算量(精度为10-8)。
三、问题解决的方法与算法方法:利用复化梯形和复化抛物线积分公式。
算法:输入:端点a 、b 以及要计算的积分公式f(x);输出:积分f(x)在指定区间上的近似值以及当其达到所要求的精度时要做的等分数n 的值。
Step1:编写复化梯形公式程序。
Step2:通过所要达到的精度作为条件,算出要做的等分数以及对应的近视值。
Setp3:编写复化抛物线积分公式程序。
Setp4:通过所要达到的精度作为条件,算出要做的等分数以及对应的近视值。
Setp5:然后比较复化梯形和复化抛物线的所需等分数,比较谁的精度比较高。
四、计算程序1.复化梯形数值积分及其应用报告1#include <>#include <>double f(double x){double s;s=13*(x-x*x)*exp*x);return s;}void main(){int n,i;double h,m,y,a,b,t[3000];printf("请输入端点的值a,b\n"); scanf("%lf",&a);scanf("%lf",&b);for(n=1;;n++){h=(b-a)/n;m=(f(a)+f(b))/2;for(i=1;i<n;i++){m+=f(a+i*h);}t[n]=m*h;h=(b-a)/(n+1);m=(f(a)+f(b))/2;for(i=1;i<n+1;i++){m+=f(a+i*h);}t[n+1]=m*h;if(fabs(t[n+1]-t[n])< break;}printf("求得结果为n=%d",n);printf("求得结果为:t[n+1]=%10.8f\n",t[n+1]); }2.复化抛物线#include <>#include <>double f(double x){double s;s=13*(x-x*x)*exp*x);return s;}void main(){int i,n;double h,m,p,q,x,s,a,b,t[1000];printf("请输入端点的值a,b\n");scanf("%lf",&a);scanf("%lf",&b);for(n=1;;n++){h=(b-a)/(2*n);m=f(a)+f(b);p=0;q=0;for(i=1;i<2*n;i++){ x=a+i*h;if(i%2==0)q=q+f(x);elsep=p+f(x);}t[n]=h*(m+2*q+4*p)/3;h=(b-a)/(2*(n+1));m=f(a)+f(b);p=0;q=0;for(i=1;i<2*(n+1);i++){ x=a+i*h;if(i%2==0)q=q+f(x);elsep=p+f(x);}t[n+1]=h*(m+2*q+4*p)/3;if(fabs(t[n+1]-t[n])< break;}printf("求得结果为:n=%d\n",n);printf("求得结果为:%10.8f\n",t[n+1]);}五、计算结果与分析1.复化梯形的运行结果:2.复化抛物线的运行结果:分析与评价:通过对复化梯形的运行结果和复化抛物线的运行结果的分析得到,当其所要求的精度相同时,复化抛物线的的等分数明显比复化梯形的等分数少,因此可以得到复化抛物线的精度比复化梯形的精度高。
《数值逼近》课程实验教学大纲一、制定实验教学大纲的依据根据本校《2004级本科指导性培养计划》和《数值逼近》课程教学大纲制定。
二、本实验课在专业人才培养中的地位和作用《数值逼近》是“信息与计算科学”专业的一门基础课程,它是将数学知识与计算机语言相结合,在计算机上实现数值计算和微积分计算等。
主要内容包括:误差分析初步,代数插值和样条插值,最佳逼近,数值积分和数值微分,高斯型积分公式等。
对于学生深入了解计算机数值计算,掌握算法构造思想,针对实际问题建立新的计算方法具有重要的理论指导作用。
本门课程的16个上机学时就是针对所学习的基本算法进行程序设计、编程、调试与计算,通过对基本算法的计算机实现,对实际计算问题的解决和后续课程的学习都有着重要实际意义和指导作用。
三、本实验课讲授的基本实验理论1、代数插值的基本算法:Lagrange插值、Newton插值、分段线性插值、分段Hermite插值和三次样条插值。
2、数值积分基本算法:复化梯形公式、复化抛物线公式、Gauss积分公式以及多重积分公式。
3、数据拟合的最小二乘法。
四、本实验课学生应达到的能力1、对Lagrange插值、Newton插值、分段线性插值、分段Hermite插值、三次样条插值、复化梯形公式、复化抛物线公式、Gauss积分公式、多重积分公式以及数据拟合的最小二乘法进行程序设计、上机调试并给出计算结果。
能够熟练的利用一种语言完成所有任务。
2、对所有算法写出上机实验报告。
学会实验报告的写作。
五、学时、教学文件学时:本课程总学时为64学时,其中实验为16学时,占总学时的25%。
教学文件:《数学建模与计算教学大纲》、《数值逼近上机指导书》。
要求学生实验前对算法进行程序设计,画出计算流程图。
上机后进行代码编写、调试,真并针对具体数据进行计算、检验。
六、实验考核办法与成绩评定实验课成绩占本课程总成绩20%。
七、仪器设备及注意事项仪器设备:PC机。
注意事项:注意保护设备。
《数值逼近》教学大纲第一篇:《数值逼近》教学大纲《数值逼近》教学大纲(课程编号520271)(学分3.5,学时56)一、课程的性质和任务本课程是信息与计算科学专业的专业大类课。
函数逼近论研究函数的各类逼近性质,是计算数学和其它科学工程计算中诸多数值方法的理论基础。
本课程除了介绍几类古典的函数逼近理论和方法之外,还介绍了现代逼近理论中样条函数、曲线与曲面拟合等方面的理论与技巧。
在介绍上述内容的同时,安排学生上机实习,使学生能够更深刻地理解与掌握逼近论的基本理论与方法,达到理论与实践相结合的目的。
二、课程内容、基本要求 Weierstrass 定理与线性算子逼近掌握 Weierstrass 第一定理、第二定理,了解算子逼近理论。
一致逼近掌握函数一致逼近理论中的Borel 存在定理、最佳逼近定理,熟练掌握Tchebyshev 最小零偏差多项式,了解三角多项式逼近理论和代数多项式逼近理论中的 Jackson 型和 Bernstein 型定理。
多项式插值方法熟练掌握 Lagrange 插值公式、Newton 插值公式、Hermite 插值,等距节点插值与差分,插值余项估计等。
平方逼近理论掌握最小二乘法、最佳平方逼近理论,空间中的直交函数系与广义Fourier 级数、直交函数系的构造方法、直交多项式的一般性质,了解直交多项式级数的收敛性、几种特殊的直交多项式。
数值积分掌握Newton-Cotes 公式、Romberg 方法,熟练掌握代数精度法构造求积公式,熟练掌握Gauss 型求积理论,了解Euler-Maclaurin 公式,三角精度与周期函数的求积公式、奇异积分的计算等内容。
样条逼近方法掌握样条函数及其基本性质、B-样条及其性质、三次样条插值。
曲线、曲面的生成和逼近了解微分几何中的曲线、曲面论,掌握数据处理、累加弦长法、参数样条曲线、Bezier 方法、B-样条方法等曲线与曲面设计方法。
三、课程的教学环节课内 56 学时,课外 12 学时(学生自行上机完成数值实习作业)。
第六章非线性逼近方法教学目的和要求:要求掌握非线性一致逼近、有理函数逼近、Pad 'e 逼近方法、有理逼近的一些算法 .考虑函数)1ln(x +的逼近问题.它的Taylor 展开式为∑∞=-≤<--=+11)11()1()1l n (k kk x kxx .记上式右端前s 项的和为)(x T s ,显然)(x T s 可以作为)1ln(x +的一种近似.由连分式展开的方法,)1ln(x +又有如下的连分式展开式: .524231211)1l n (2222+++++=+x x x x x x不难算出它的前4个渐近分式依次为.612054084042025260630420)(,3369060116060)(,6636)(,22)(4324324323232221xx x x xx x x x R xx x xx x x R xx xx x R xx x R +++++++=+++++=+++=+=可以具体算出,)(x R n 的展开式将含有函数)1ln(x +之Taylor 展开式的前n 2项和)(2x T n .下面来比较)(x R n 与)(2x T n 的逼近误差.设以R ε与 分别记)(x R n 与)(2x T n 同)1ln(x +之间的误差,并取1=x .它们误差的对比,如下表:()18147693.02(ln =由上表可知,)1(4R 的精确度竟比)1(8T 的精确度高几乎510倍.这说明开展某些函数的有逼近或一般非线性逼近的研究是很有必要的.§1. 非线性一致逼近首先讨论如下有理分式,∈n m R ,n m R ,:,)()()(,x Q x P x R n m n m =(1.1)其中n n m m P x Q P x P ∈∈)(,)(分别为x 的n m ,次多项式.设)(,x R x m 是既约有理分式,即)(x P m 与)(x Q n 互质.设)(x f 是有界闭区间],[b a 上的连续函数.定义偏差函数)()(,x R x f n m -的绝对值的上确界为)(,x R n m 与)(x f 的最大偏差,简称为偏差: )()(s u p )(,,x R x f R n m bx a n m -=∆≤≤.(1.2) 又定义量)()(s u p i n f )(,,,x R x f f n m bx a R n m nm -=≤≤ρ(1.3)为形如(1.1)的有理分式类:{})(,,x R def R n m n m 对给定函数)(x f 的最佳逼近或最小关于偏差的下界估计,有: 定理1(Vall ée-Poussin)设多项式,)(0μμ--++=m m a xa x A νν--++=n n b x b x B 0)(互质,其中.0,0,00≠≤≤≤≤b n m νμ且设 )(/)()(x B x A x R =于],[b a 区间上为有穷,差函数)()(x R x f -在],[b a 中的点列 N x x x <<< 21 上以正负交错的符号取异于0的值 N N λλλ121)1(,,,---(不妨假定各个0>j λ).而且),,min(,2νμ=+-+=d d n m N 则对每一形如(1.1) 的函数),(x Q 恒有}.,,min{)(21N Q λλλ ≥∆(1.4)当0)(≡x R 且2+=m N (即)n d =时,此不等式仍然成立.证明 采用反证法.假若存在一个形如(1.1)的函数),(x Q 满足 }.,,min{)(21N Q λλλ <∆ 考察差)()()(x R x Q x -=η)]()([)]()([x Q x f x R x f ---=.显然)(,),(),(21N x x x ηηη 不等于0且正负交错变号.由于)(x η于],[b a 上连续,连续函数的中值定理,)(x η与),(b a 内至少有11+-+=-d n m N 个零点.然而 )(/)()()()(x u x v x R x Q x =-=η中分子)(x v 的次数.},max{d n m n m n m -+=-+-+≤νμ从而必有0)(≡x η,亦即)()(x R x Q ≡.此与定理假设相矛盾,故定理得证.定理2 在所有形如(1.1)的有理分式中,至少存在一个有理分式),(x Q 使得它与)(x f 的偏差)(Q ∆取到极小值,即min)(=∆Q .证明 只须证明存在形如(1.1)的有理分式),(x Q 使得 )()(,f Q n m ρ=∆.下面我们将具体地构造出)(x Q 来.按下确界的定义,存在无穷函数序列)}({x Q i ,使得)()(lim ,f Q n m i i ρ=∆∞→,其中nin i ni mi m i m i i p xp x p q xq xq x Q ++++++=-- 110110)(.将)(x Q i 如下标准化,使其分母的系数满足).,2,1(122120 ==+++i p p p nii i 我们来证明相应的系数),,1,0(m j q ji =也是有界的.事实上,设).,2,1()( =<∆i M Q i又设121,,,+m ξξξ 为),(b a 内给定的互异点,则对其中任一点ξ,必有ni n i ni mi m i m i p p p q q q ++++++-+ 110110ξξξξ≤)()(110110ξξξξξξf f p p p q q q nin i ni mi m i m i +-++++++-+)(max x f M bx a ≤≤+≤.从而有正常数K 存在,使得Kq q q mi m i mi <+++- 110ξξ.由于多项式mi m i m i q x q x q +++- 110于1+m 个点121,,,+m ξξξ 处的值是有界的,比方设它们依次为121,,,+m K K K ,则按线性方程组)1,,2,1(110+==+++-m j K q q q j mi m j i m j i ξξ, 可以解出li q 的一个表达式),,0(m l =.显然这些),,0(m l q li =均有界. 由于),,0(n j p ji =和),,0(m l q li =有界,根据Bolzano-Weierstrass 定理,在有理分式序列)}({x Q i 中,可以选出某子序列,不妨仍记为)}({x Q i ,使得.lim ,lim l li i j ji i b q a p ==∞→∞→今作(1.1)型有理分式 .)(110110nn nm m m a xa x ab xb xb x P ++++++=--以下来证明).()()(max )(,f x P x f P n m bx a ρ=-=∆≤≤因为)(x P 只可能在有限多个点处变为无穷,而在],[b a 区间的其它点~x 处,显然有)()(lim ~~x P x Q i i =∞→.(1.5)所以)()()()()()(~~~~~~x P x Q x Q x f x f x P i i -+-+≤ i i bx a Q x f ε+∆+≤≤≤)()(m a x即除去可能在有限个点处外,总有.)(m a x )(M x f N x P bx a +=<≤≤从而上式于区间],[b a 上处处成立.即)(x P 在区间],[b a 上处处有限,所以(1.5)式处处成立.由于)(x P 个系数与)(x Q i 个相应系数之间的极限关系,不难看出极限关系式)()()(lim b x a x P x Q i i ≤≤=∞→在],[b a 上一致成立.这样一来,若于 )()(m a x x P x f bx a -≤≤)()(m a x )()(m a x x Q x P x Q x f i bx a i bx a -+-≤≤≤≤≤两边令i 趋于无穷,立即得到).()()(max ,f x P x f n m bx a ρ≤-≤≤是故).()(,f P n m ρ≤∆又显然有)()(,P f n m ∆≤ρ, 所以最终证得)()(,f P n m ρ=∆. 存在性定理2证毕.根据定理2,存在形如(1.1)的有理分式)(x R ,使得)()(,f R n m ρ=∆, (1.6) 其中)(x f 是区间],[b a 上连续函数.称满足(1.6)的有理分式为)(x f 于(1.1) 所示有理分式类中的最佳一致逼近有理分式.下面的Tchebyshev 定理对最佳一致逼近有理分式的特征作了确切的描述.定理3 形如(1.1)的有理分式函数中在],[b a 上与)(x f 偏差最小的有理分式)(x P 由下述特征所唯一确定① . 若将)(x P 写成 )()()(110110x A x B a xa xa b x b xb x P n n n m m m =++++++=--------νννμμμ ,其中)(),(x B x A 互质,n m a ≤≤≤≤≠νμ0,0,00.则在],[b a 上使)()(x P x f - 以正负交错的符号达到)(P ∆的点列之点数2+-+≥d n m N ,其中),m i n (νμ=d .若0)(≡x P ,则2+≥m N . 证明 充分性.设2+-+≥d n m N .并于定理1中取)(P k ∆=λ,则知对任何形如(1.1)的有理分式)(x Q ,必有).()(P Q ∆≥∆ 从而)(x P 是最佳逼近有理分式.必要性.采用反证法.设满足要求的偏离点的个数为1+-+≤d n m N ,我们来证)(x P 必不是最佳逼近有理分式.将],[b a 分为如下的'N 个子区间: ],[,],,[],,[1'211b a N -ξξξξ , (1.7) 使之在上述区间上,轮流满足α-∆≤-≤∆-)()()()(P x P x f P ,① 此处所说的唯一性,乃指经约分化简后为相同的有理分式者.和).()()()(P x P x f P ∆≤-≤+∆-α并且(1.7)中每个区间内只含有一个偏离点.为证)(x P 不是最佳者,只须求得(1.1)形有理分式)(x Q ,使得)()(P Q ∆<∆成立即可.引入多项式)())(()(1'21----=N x x x x ξξξφ显然它在121',,,-Nξξξ 处依次变号.由于)(x A 与)(x B 互质,于是存在次数分别为m 与n 的多项式)(x φ与)(x ϕ,使得.1)()()()(=+x x B x x A ϕφ于上式两边同乘多项式)(x Φ,得到)()()()()()()(x x x B x x x A x Φ+Φ=Φϕφ.(1.9)用)(x B ,)(x A 分别去除(带余))()(),()(x x x x ΦΦϕφ:)()()()()()()()()()(2211x r x q x A x x x r x q x B x x +=Φ+=Φϕφ(1.10)其中μ-∈m P x r )(1,ν-∈n P x r )(2分别为νμ--n m ,次多项式.将(1.10)代入(1.9)有)()()()()()()(21x q x B x A x q x B x A x +=Φ )()()()(21x r x B x r x A ++)()()}()]()()[(){(1221x r x A x r x q x q x A x B +++=)()()()(x v x A x u x B ⋅+⋅=,其中)(),(x v x u 为次数不高于m n ,的多项式.作有理分式)()()()()()()(x u x x A x v x x B x Q ωω+Ω-Ω=.于是)()()()()()()()()()(x u x x A x v x x B x A x B x Q x P ωω+Ω-Ω-=-)]()()()[()()]()()()[()]()()()([x u x x A x A x x u x x A x A x v x A x u x B ωωωω+ΩΦ=+Ω+=因为)]()([)]()([)()(x Q x P x P x f x Q x f -+-=-)]()([x P x f -= +)]()()()[()(x u x x A x A x ωω+ΩΦ, (1.11)于是只须特别取1)(≡Ωx ,并取ω充分小,则在调节ω正、负号的前提下可以保证(1.11)最后一等号右端第二项恰与第一项在个偏离点上的值异号.从而,只须对充分小的ω取(1.1)形有理分式 )()()()()(x u x A x v x B x Q ωω+-=,则可保证不等式(1.8)成立.必要性得证.最后证明唯一性,用反证法.设还有(1.1)形有理分式)(x Q ,使得 )()()(,f P Q n m ρ=∆=∆.假设与)(x Q 相应的量'''',,,d N νμ与d N ,,,νμ意义相同.由必要性,知 2,2''+-+≥+-+≥d n m N d n m N .为确定起见,不妨假设N N ≥'. 设'21N βββ<<< 为相应于)(x Q 的偏离点,考虑差函数 )()()(x Q x P x -=η)]()([)]()([x P x f x Q x f ---=.若j β点同样也是)(x P 的同类(同正或同负)偏离点,则应有 0)(=j βη 否则,0)(≠j βη,但此时必然有)].()([)(j j j Q f sign sign βββη-= (1.12)例如假设.0)(,0)()(,0)(11≠===≠+++-k i k i i i βηβηβηβη由于)]()([)1(111-----i i i Q f ββ与)]()([)1(111++++++--k i k i k i Q f ββ同号,从而根据(1.12)知)()1()(11++--=k i ki sign sign βηβη.当k 为偶数时,由(1.13),)(x η于区间],[11++-k i i ββ两端点上同号.于是)(x η在该区间上有偶数个根.当k 为奇数时,由(1.13),)(x η于区间],[11++-k i i ββ两端点上异号.于是)(x η在该区间上有奇数个根.总之,)(x η于区间],[11++-k i i ββ区间中根的个数与k 同奇偶.但已知k i i +ββ,, (共1+k 个)是)(x η的根,于是为保证同奇偶,必有第2+k 个根存在.依此推导,可知)(x η于区间],[b a 内至少应有1'-N 个根.但这是不可能的,因为)(/)()(x D x C x =η中分子的 次数=r 2},max{'''-≤--+--+N n m n m νμνμ 当)(x P 0)(,0≠≠x Q ,,2''-≤-=N m ν 当0)(≡x P , ,2'-≤-=N m ν 当0)(≡x Q因而定理唯一性证完.最后我们来证明,当0)(≡x P 时,)(x P 是最佳逼近有理分式必须且只须2+≥m N .若2+≥m N ,则于定理1所示的V all ée-Poussin 定理中取)(m a x )(x f P bx a j ≤≤=∆=λ,则队任何(1.1)形有理分式)(x Q ,均有j P Q λ=∆≥∆)()(. 从而)(x P 为最佳逼近有理分式.反之,设0)(≡x P 为最佳逼近有理分式,我们来证2+≥m N .若不然,设偏离点个数1'+≤m N .考虑)())(()(121'----=ΦN x x x x ξξξ .作)()(x x Q Φ=ω,其中ω为一充分小实数,则可以同前面必要性证明一样而引出矛盾.至此定理全部证完.N e w m a n J D ..曾经讨论了x 有理逼近的误差估计问题.下面我们来介绍有关结果.若)(x r n 是两个互质多项式的商:)(/)()(X Q x P x r n n = <<-∞x ()∞+, 则称n r ()x 为n 阶有理函数.定义 ()()()x r x f fn Ax r n n-=∈s u p i n fρ,其中A 为实数集合, n r ()x 取遍一切n 阶有理函数.根据关于函数类的“宽度”的研究可知,对于性质比较好的函数来说,有理函数逼近的优越性不大.然而,对于有较小奇异性的函数,有理逼近却非常有效,下面来考察函数()x x f =在区间[]A =-1,1上用n 阶有理函数逼近的误差估计问题.Newman 证明了下述定理:定理4 当5≥n时恒有()nn ex P -≤3. (1.14)证明 设nea 1-=.则当n 充分大时,a 接近于1,而1-n a 却接近于零,先来证明估计式nn j jj eaa--=≤+-∏1111 )5(≥n (1.15)事实上,利用数学分析中的典型方法不难证明 tett 211-≤+-, 当 0≥t .从而⎭⎬⎫⎩⎨⎧---=⎭⎬⎫⎩⎨⎧-≤+-∑∏-=-=a a a a aann j j n j jj 12exp 2exp 111111.又,当5≥n 时,()()122551>-≥---eeaa n.对于所有0≥t,还有t e t≤--1,所以n a≥-11.是故估计式(1.15)成立. 现在设 ()()∏-=+=11n k ka x x p , ()()()[]()()x p x p x p x p x x r n-+--=. (1.16)显然n r ()x 是n 阶有理函数.我们来证明()nn ex r x -<-3 (5≥n, 11≤≤-x ) (1.17)因为x 与()x r n 都是偶函数,为了证明(1.17)只需考虑的情形.对于满足条件()n axn-=≤≤exp 0的x,由于()0≥-x p .从而()x x r n ≤≤0.故有()nnn eex x r x --≤≤≤-3,即当na x ≤≤时(1.17)式成立. 当1≤≤xa n时,必存在某个j(10-≤≤n j ),使得jj a xa≤≤+1.于是由(1.15),有()()∏∏-+==+-+-=-111n j k kk jk kk a x ax xa x a x p x p∏∏-+==+-+-≤111n j k kjk j jk nkn k aa a a aa a a∏∏--=--=+-+-=1111111j n m mm n j n m mm aaa ann m mm eaa--=≤+-=∏1111.因此当1≤≤x an时,由于下述不等式成立(10≤≤x ):()()()()()()122--≤-+-=-x p x p x p x p x p xx r x n ,所以()nnn eex r x -≤-≤-312(5≥n ).定理4证完.Newman 还证明了()nn ex921-≥ρ (5≥n ). (1.18)综合(1.14)与(1.18),可知()nn nexe--≤≤3219ρ (5≥n ). (1.19)它比()x x f =在[]1,1-上的最佳n 次多项式逼近的误差阶O(n 1)要优越得多.D.newman 的不等式(1.19)还可以用来估计某些函数的有理逼近的误差阶.§2. 有理函数插值给定m+n+1个互异的点 n m x x x +,,,1和相应的函数值()()()n m x f x f x f +,,,10 ,希望构造一个有理分式函数 ()()()101,b x b x b a x a xa x D x N x R nn m m n m n m ++++++==,使之满足插值条件()()j j n m x f x R =, (1,,1,0++=n m j) (2.2)这种问题就是所谓有理函数插值问题.显然,当分母次数0=n时,()x R n m ,是一个m 次的多项式,从而插值问题(2.2)的解存在并且唯一.但是,当0>n,即(2.1)所示的()x R n m ,真正是一个有理分式函数时,插值问题(2.2)是否对任何右端(){}j x f 皆有唯一解存在呢?且看下述几个例子. 例1 设 0=m,()0=jx f ,()0≠kx f ,()010,0b x b x b a x R nn n +++=.于是由()0,0=j n x R 推知00=a .但是当00=a 时,显然()0,0≠x R n不成立.是故,此时相应插值问题无解.例2 设1==nm,且()()()321x f x f x f ≠=.则由相应插值条件,必有 021021011011b x b a x a b x b a x a ++=++.于是 0))(12110=--x x b a b a (.而21x x ≠,从而0110b a b a =.若01=b ,则()x R 1,1退化为一次多项式.既然()x R 1,1于21,x x x=处的值一样(假定),说明()x R y 1,1=是一条平行于X 轴的直线.当然也就不可能满足()()231,1x f x R ≠了.所以不妨设01≠b .于是1010b b a a =.从而()01101101011,1b x b b b a x a b x b a x a x R ++=++=()()c o n s tb a b x b b b x b a ==++=11011011.这样一来,又不可能满足插值条件中所要求的条件 ()()31,111,1x R x R ≠了.总之,本例所讨论的有理插值问题的解不存在. 为了便于讨论,需要引进一些定义.两个有理分式 ()()()x Q x P x R 111=, ()()()x Q x P x R 222=(2.3)称为恒等,如果存在一个非零常数a ,使得()()x aP x P 12=, ()()x aQ x Q 12=.此时记()()x R x R 21≡.(2.3) 所示两有理分式()()x R x R 21,称为等价的,如果 ()()()()x Q x P x Q x P 1221⋅≡⋅.此时常记为()x R 1~()x R 2.对于此处所定义的关系“~”,显然有下列三个性质: (i) R(x) ~ R(x);(ii) R(x) ~Q(x),Q(x) ~S(x)则R(x) ~S(x); (iii) R(x) ~Q(x), 则Q(x) ~R(x) . 所以“~”是一种等价关系.显然可知,两有理分式()x R 1和()x R 2等价,必须且只须()x R 1和()x R 2 的最简(既约)有理分式()x R 1和()x R 2恒等.今后只要两有理分式等价,则认为它们是同一个有理分式,而不加以区别.有理函数插值的唯一性也是在这种意义上说的. 定理5 插值问题(2.2)若有解,则必唯一. 证明 设()()()x D x N x R n m n m =, , ()()()x D x N x R n m n m =,同时满足插值条件(2.2): ()()()j j n m j n m x f x R x R ==,, (n m j+=,,0 ).于是由 ()()()()jnj m j n j m x D x N x D x N =(n m j+=,,0 ).可推知()()()()j n j m j n j m x D x N x D x N =(n m j+=,,0 ).因为()()x D x N n m 与()()x D x N n m 为次数不高于n m +的多项式,所以从上式可知()()()()x D x N x D x N n m n m ≡.从而()x R n m ,~()x R n m ,.定理5证完.定理5说明对于有理函数插值来说,关键的问题是存在性和具体解法. 我们知道,当(2.1)所示的有理分式()x R n m ,满足插值条件(2.2)时,只要分母()0≠j n x D (1,,0+=m j),就应有()()()0=-j n j j m x D x f x N (n m j +=,,). (2.4)它是一个关于系数00,,,,,b b a a nm的线性代数方程组.这当然比非线性方程组(2.2)要容易求解了.那么,(2.2)在什么条件下会与(2.4)等价呢? 下面定理6对这个问题作了明确的回答.定理6 设线性方程组(2.4)有非平凡解.为使满足插值条件(2.2)的最简有理分式()()()x q x p x R n m n m =,存在,必须且只须(2.4)的任一非平凡解()()x D x N n m **,,在约去一切公因子后得到的互斥多项式()()x B x A ,,仍然是(2.4)的解,即 ()()()0=-j j j x B x f x A (n m j+=,,0 ).证明 必要性.设()()x D x N n m **,是(2.4)的任一组非平凡解()()()0=-**j n j j m x D x f x N (n m j +=,,0). (2.5)按假设,有(2.1)型的最简有理分式()()x v x t 存在,使插值条件(2.2)得以满足:()()()j j j x f x v x t =(n m j+=,,0 ). (2.6)由于()x t 与()x v 互质,所以()0≠j x v .因为否则为使上式成立,必亦有()0=j x t ,是故有公共因子(j x x-)了.以(2.6)代入(2.5),得到()()()()0=-**j n j j jmx D x v x t x N(n m j +=,,0 ).两边通乘以()j x v ,得到()()()()0=-**j n j j j m x D x t x v x N (n m j +=,,0 ).这样一来,次数不超过n m+的多项式()()()()x D x t x v x N n m **-已有1++nm个互异的根,从而()()()()x D x t x v x N n m **-≡ 0在上式中约去()()x D x N n m**,的最大公因子,则有()()()()0≡-x B x t x v x A .特别地,也应有 ()()()()0=-j j j j x B x t x v x A (n m j +=,,0 ).注意到(2.6)式,上式亦即()()()0=-j j j x B x f x A (n m j+=,,0 ).必要性得证.充分性.设如上定义的()()x B x A ,是(2.4)的解:()()()0=-j j j x B x f x A (n m j+=,,0 ).可断言()0≠j x B .因为否则由上式,必也有()0=jx A .从而与()()x B x A ,互质的假定相矛盾.既然如此,我们可以用遍除上式两边,而得到()()()j j j x f x B x A =(n m j+=,,0 ).是故()()x B x A 满足插值条件(2.2).充分性得证.定理6全部证完.定理6建立了(2.2)与(2.4)等价的充分必要条件.然而由于所给条件仍不便于检验,所以N.Macon 与D.E.Dupree 还给出了便于检验的条件. 定理7 设(j j y x ,) (n m j+=,,0 )中各j x(n m j+=,,0)是互异的.为使满足插值条件(2.2)的最简有理分式()()()x D x N x R n m n m =,存在,必须且只须诸矩阵⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=+-++++-++++-++++-+++------------n m n n m nm n m nm m nm nm nm j n j j j j m j j j j n j j j j m j j j n m jy x y x y x x x y x y x y x x x y x y x y x x x y x y x y x x x A 1121111111121111111111211010012001111(2.7) (n m j +=,,0 )都是非奇异的.其中()j j x f y =(n m j+=,,0).定理7的证明要用到若干引理,此处不拟列出. H.Salzer 讨论了切触有理插值问题.设()()x D x N ,是x 的两个多项式,r x x ,,1是互异实数,()i j x f)(,1,,1,0-=i s j为一批给定的数.所谓切触有理插值,就是确定()x N 和()x D 的系数,使得()()()()i i x x jj x fx D x N dxd i=⎥⎦⎤⎢⎣⎡= (2.8)若∑==ri isk1,通常取()x N 和()x D 的次数相等或接近相等.即当为k 奇数时,()x N 和()x D 的次数皆取成[]2k ;当k 为偶数时,和的次数则分别取[]2k 和[]2k -1.设()0≠i x D ,一般有理函数插值问题()()()i i i x f x D x N =(r i,,1 =) 自然等价于()()()[]ixx i x f x D x N ==(r i,,1=).一切切触插值()()()()()()i x x i x x x f x D x N x f x D x N ii'=⎥⎦⎤⎢⎣⎡===',, (2.9)可以表示为()()()[]()()()()()[]2,i i i i i xx i x D x D x N x D x N x f x D x N i'-'== = ()i x f ' . (2.10)后一等式中又可以()i x f 代替()()i i x D x N 然后用()i x D 遍乘而化为()()()()()i i i i i x D x f x D x f x N '+'='.因而(2.9)最后化成()()()[]ixx i x f x D x N ==,()()()[]'ix x i x f x D x N =='. (2.11)完全类似地,二阶切触有理插值可转化为()()()[]ixx i x f x D x N ==, ()()()[]'ix x i x f x D x N ==',()()()[]''ixx i x f x D x N =='' (2.12)一般情况下,是否也可把有理切触插值()()()()i m x x mm x fx D x N dxd i=⎪⎪⎭⎫ ⎝⎛= (1,,1,0-=i s m) (2.13)化成等价形式(当()0≠i x D 时)()()()()()ixx mm i m x f x D dxd x N==(1,,1,0-=i s m )?(2.14)回答是肯定的.这可以用数学归纳法来证明.事实上,由前面的分析,已知当1,01=-=i s r 时,(2.13)和(2.14)是等价的.今设当1-=sr时,(2.13)与(2.14)也是等价的.我们来证明当s r =时,它们还是等价的.其实只须再证明()()()()i s xx s sx fx D x N dx di=⎪⎪⎭⎫ ⎝⎛= (2.15)与()()()()()ixx ss i s x f x D dxd x N==(2.16)等价就够了.设(2.16)成立.因由Leibnitz 公式()()()()()()()()()∑=-=⎪⎪⎭⎫ ⎝⎛==sk i k s i k xx ss i s x D x f k s x f x D dxd x Ni0, (2.17)()()()()()()()()()()()i k s sk k x x s x x i s x D x D x N k s x D x D x N x Ni i-===∑⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=⎥⎦⎤⎢⎣⎡=0. (2.18)由归纳假定,后一式右端中()()[]()()()i k k xx x fx D x N i==(1,,1,0-=s k).因而比较上两式右端,即知()()()()()s x x i s ix D x N x f =⎥⎦⎤⎢⎣⎡=. 亦即(2.15)成立.反之,假定(2.15)式成立.则由(2.18),有()()()()()()()∑=-=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=sk i k s k x x i s x D x D x N k s x Ni0 = ()()()()∑=-⎪⎪⎭⎫⎝⎛sk i k s i k x D x fk s 0= ()()[]()s x x i x D x f =. 即(2.16)成立.总之,我们已建立了如下定理: 定理8 设()0≠i x D ,则有理切触插值问题()()()()i m x x mx fx D x N dxdi=⎥⎦⎤⎢⎣⎡⎪⎪⎭⎫ ⎝⎛= (1,,1,0-=i s m)与下列线性问题()()()()[]ix x mi m x f x D dx d x N=⎪⎭⎫ ⎝⎛=(1,,1,0-=i s m)是等价的.若把定理8中的微商换成有限差(等距情况)或差商,则可以建立类似的定理.另外,当()x N 和()x D 不是普通多项式,而是广义多项式时,定理8也是照样成立的. 由定理8可知,只要各个()0≠i x D ,则有理切触插值问题(2.8)便等价于线性方程组()()()()[]ixx mi m x f x D dx d x N =⎪⎭⎫ ⎝⎛= (2.19)(1,,1,-=i s m; r i,,1=).下面我们应用定理8来具体讨论有理切触插值的构造问题.Salzer 具体讨论了下述连分式作为有理分式()()x D x N 的表达式:()()1,112,111,110,11--++-+-+=s a x x a x x a x x a x D x N,321,221,220,212a x x a x x a x x a x x s -+-++-+-+-1,1,0,1---++-+-++r s r n r n r n a x x a x x a x x (2.20)为了讨论方便,先介绍一些有关连分式的预备知识:1连分式 ++++nn b a b a b 110表示+++22110b a b a b++n n b a2分式n n b a 称为连分式(2.21)的第n 节;n a 与n b 称为连分式(2.21)的第n节的两项; ,,21a a 称为连分式(2.21)的部分分子, ,,21b b 称为连分式(2.21)的部分分母.有限连分式nn nn Q P b a b a b a b =++++22110称为连分式(2.21)的第n 个渐近分式.3 相邻三个渐近分式之间有递推关系式⎭⎬⎫⎩⎨⎧+=+=----2121n n n n nn n n n nQ a Q b Q P a P b P (2.22)事实上,按连分式的定义111011000,1b a b b Q P b Q P +==,2212102211022a b b b a b b a b a b Q P ++=++=21202122212120210Q a Q b P a P b a b b b a a b b b b ++=+++=.这说明当n=1和n=2时,(2.22)式成立(已人为地取定1-P =1,1-Q =0).设递推公式(2.22)对n 已成立.即2121----++=n n n n n n n n nn Q a Q b P a P b Q P .我们来证明当n 换成n+1时,(2.22)也成立.注意从n n P 变到`11++n n Q P 应以11+++n n n b a b 代替n b ,于是111111211112111111-++-++--++--+-+-++++=++++=n n n n n n n n n n n n n n n n n n n n n n n n Q a Q b P a P b Q a Q b a Q b P a b P a P b Q P .所以对于一切正整数而言,递推公式(2.22)恒成立(其中已规定1-P =11-Q ,=0). 下面回过来继续讨论(2.20)所述()()x D x N 的切触插值问题.假定1,11,10,11,,,---i s i a a a已经求出,于是由(2.20)可以求出它的渐近分式()()()()x Q x P x Q x P t t t t 2211,----,此处∑-==-111i j jst.根据关系(2.22),有()()()()()()()()()()x Q x x x Q x R x P x x x P x R x D x N t i t i t i t i 211211-------+-+=, (2.23)其中()+-+-+=2,1,0,i i i i i i a x x a x x a x R1,1,110,11,-+++--++-+-+-+n i s n n i i i i s i i a x x a x x a x x a x x (2.24)当按(2.23)所示的()()x D x N 和切触条件(2.8)(其中x=i x )来确定1,1,0,,,,-i s i i i a a a时(共i s 个条件),()x R i 表达式中的项1,1,10,11-++-++--+-n s n i i i i i a x x a x x a x x是可以忽略的.若记()()1,2,1,0,--++-+-+=i s i i i i i i i i i a x x a x x a x x a x T x S则由定理8,()x S i 和()x T i 两多项式的系数应该满足()()()()(){}()m x x t i i t i i x P x T x x x P x S =----+211()()()()()(){}[]()m x x i i i t i i x Q x T x x x Q x S x f =----+=211 (1,,1,0-=i s m). (2.25)由此求出()()x T x S i i 表达式中的各系数1,1,0,,,,-i s i i i a a a .于是(2.24)的渐近分式()()()(),,11x Q x P x Q x P t t t t ++可按渐近分式()()x P a x P k t k i k t 1,-++=当0=k,()()()x P x x x x k t i i 21-+-⋅--+, 当,1,,1-=i s k()()x Q a x Q k t k i k t 1,-++=当0=k, (2.26)()()()x Q x x x x k i i i 21-+-⋅--+当,1,,1-=i s k来逐个地确定.用i+1替代i,用t+i s 替代t 又可重复上述各步骤……当具有较小的i s 值时,比如i s =2,1+i s =3,…,则立即可以比较方便地在多个点处应用公式(2.25).Euler-Minding 曾经推导出关于有限连分式()()x x S i i 的具体有理分式表达:()()∑-≤≤+--++=2011101i i s j j i is i a a x x a a a x S()∑∑<≤-≤+++-+j s k k k j j i i a a a a x x 032112()∑∑∑<≤≤<-++++++-+j l k s l l k k j j ii a a a a a a x x 04322113(2.27)和()()()⎥⎦⎤⎢⎣⎡+-+-+=∑∑∑<≤-≤+++-≤≤+-k j s k k j j i s j j j i s i i i i a a a a x x a a x x a a a x T 1321132111211 其中ja(1,,1,0-=i s j )表示j i a ,(1,,1,-=i s j).具体写出,可列下表:))§3. Padé逼近方法一个函数的Taylor 级数展开的系数同该函数值的关系问题,既是一个有深刻意义的数学问题,又是一个重要的实际问题.它是数学分析研究的基础,又是遍及许多物理和生物学中数学模型的实际计算基础.如所知,如果一个Taylor 级数展开绝对收敛,则它唯一确定一函数的值,且该函数任意次可微.反之,如果一个函数任意次可微,则它也唯一确定一个Taylor 级数展开.此时实际上我们可以用多项式来逼近给定的函数.当然这种功能是有一定限度的.考虑()+-+-+=⎪⎭⎫ ⎝⎛++=43221128141161385211121x x x x x x x f . (3.1)容易看到当21>x时,上述Taylor 级数是不收敛的.当然也不能用它来计算()2=∞f 了!如果作变量替换()ωω21-=x或 ()x x 21+=ω,则()[]()211--=ωωx f+++++=4321283516583211ωωωω (3.2)于21=ω(∞=x )处是收敛的.取Taylor 级数(3.2)的前几个截断多项式于21=ω的值,即可得的近似值:1,1.125,1.343 75,1.382 81,1.399 90,…. (3.3)还原于原先的变量x,则(3.2)的前几个关于ω的截断多项式,正是x 的下列有理分式 ()()()(),21843291,21251,122x xx xx +++++. (3.4)下面我们考虑获取由Taylor 级数展开式(3.1)所定义函数()x f 的其它有理分式逼近的一种重要方法—Pad é逼近方法. 考虑()x f 的这样一种有理分式逼近 ()()dx c bx a ++,使其Taylor 级数展开的前3项同(3.1)的前3项相重合,于是求得()() +-+-+=++432128125322585211451471x x x x xx . (3.5) 按它算出()4.12≈∞=f ,它比(3.3)所给近似为好.考虑()x f 的下述有理分式:()()22hx ex d cxbx a ++++,使其Taylor 级数展开的前5项同(3.1)的前5项重合,则得到()()()()221629411116414131xx x x ++++. (3.6)由它算得()413793103.129412=≈∞=f .往下,按同样思路分别考虑分子(母)为3次,4次和5次多项式之有理分式,使其Taylor 级数展开与(3.1)的前7项,9项和11项相重合.于是相应求得()∞=f 2的下述近似值:1.414 201 183,1.414 213 198和 1.414 213 552. (3.7)2同最后一近似的误差仅为810-.足见这种算法还是很优越的.由此即可引导出一般的Pad é逼近方法.设()x f 由下述形式幂级数所定义 ()∑∞==j jj x a x f . (3.8)()x f 的[]M L Pad é逼近为[]()()x Q x P ML M L =, (3.9)其中()L L P x P ∈,()M M P x Q ∈分别为次数不超过L,M 的多项式.(3.9)中()x P L 和()x Q M 的系数,按下述方程来确定:()()()()1++=-M L M L xO x Q x P x f . (3.10)因为一个有理分式的分子、分母同乘一常数其值不变,我们特地要求()x Q M 满足标准化条件 ()0.10=M Q . (3.11)最后要求()x P L 与()x Q M 无公共因子存在. 若记()LL L xp x p p x P +++=10()MM M xq x q x Q +++=11, (3.12)则由标准化条件(3.11),可用()x Q M 遍乘(3.10)式以线性化系数方程。
数值逼近教学设计背景在数学教学中,数值逼近是一种常见的数值计算方法,它主要用于求解无法通过解析式求解的数学问题。
随着科技的不断进步,计算机的使用也逐渐成为数值逼近算法的重要手段之一。
数值逼近在数学、物理、工程、金融等领域都有着广泛的应用。
要想实现好数值逼近算法的教学工作,需要一定的教学设计方案。
本文将从教学目标、教学内容、教学方法、教学评价等方面,详细探讨数值逼近教学的设计。
教学目标1.理解数值逼近的基本概念和数值逼近算法的原理,能够运用数值逼近方法解决具体的数学问题。
2.掌握利用计算机进行数值逼近计算的方法和技巧,了解计算机在数值计算中的作用和优势。
3.培养学生对数学问题的分析和解决能力,提高学生的科学思维能力和数学素养。
教学内容基本概念•浮点数表示法•绝对误差和相对误差•收敛性和稳定性•截断误差和舍入误差•多项式插值法数值逼近算法•牛顿迭代法•龙贝格公式•正交多项式•最小二乘法•带权最小二乘法•数值微积分计算机实现•MATLAB编程•Python编程•C/C++编程•Excel逼近工具教学方法•讲授:教师通过讲授基本概念和数值逼近算法的原理,增强学生理解和掌握能力。
•实验:教师通过选取具体的实例和算法,引导学生进行计算机实验,培养学生实际操作和分析问题的能力。
•课堂讨论:教师组织学生进行课堂讨论,促进学生之间的互动和交流,提高学生的综合分析与解决问题的能力。
•课外阅读:教师引导学生进行课外阅读,拓展学生的知识面和分析思路。
教学评价•评价方式:教师对学生进行课堂测试、作业考核、实验报告和期末综合考核等方式进行评价。
•评价标准:评价标准主要包括学生的数值逼近算法基本概念掌握、实验操作能力、课堂表现和综合素质等方面。
结语数值逼近是一门重要的数值计算学科,它不仅是现代科技的基础,也是在科学领域推动时代发展和提升人类生活质量的重要工具。
通过合理的教学设计和教学方法,能够有效提高学生对数值逼近算法的理解和掌握能力,培养学生的计算机科学素养和科学创新能力,为未来的科技领域注入新的生力军。
1、对于函数f(x)=,在[-1,1]上用等距节点插值,分别取n=4,n=8,n=12,并画出的图像。
dengjuu.m:function D=dengju(f,s,e,n)%s是起点,e是终点syms t;temp=(e-s)/n;x=[s:temp:e];y=subs(f,x);D=y(1);p=0;%p是系数q=1;%q 用来表示各项n=length(x);for(i=1:n-1)for(j=i+1:n)p(j)=(y(j)-y(i))/(x(j)-x(i));%计算差商endq=q*(t-x(i));D=D+p(i+1)*q;%整合多项式y=p;endsimplify(D);在主界面输入代码:>> syms x;>> syms y;>> y=1/(1+25*x^2);>> ezplot(y,[-1,1])>> hold on;>> f1=dengju(y,-1,1,4);>> f2=dengju(y,-1,1,8);>> f3=dengju(y,-1,1,12);>> t=[-1:0.01:1];>> f1=subs(f1,t);f2=subs(f2,t);f3=subs(f3,t);>> plot(t,f1,'--',t,f2,'-.',t,f3,':');>> legend('f(x)','n=4','n=8','n=12');>> axis([-1,1,-1,1]);图1“龙格现象”2、为了制定生产计划,某羊毛衫厂记录了一年来羊毛衫的销售情况,按月份得如表1所示的数据表,其销售量单位为箱。
现在我们要建立月份(x)和销量(y)的关系。
数值逼近课程设计一、设计目的本课程设计旨在让学生通过编写程序实现数值逼近的算法,掌握数值逼近的基本原理以及实现方法,提高数学分析与程序设计的能力。
二、设计要求1.掌握数值逼近的基本原理,了解相关概念和定理。
2.掌握数值逼近的常用算法,能够灵活选择算法来实现数值逼近。
3.能够使用程序进行数值逼近,编写简单的程序验证数值逼近算法的正确性。
4.能够用数值逼近解决实际问题,熟悉数值逼近在实际应用中的作用。
三、设计内容1.基本概念和定理介绍数值逼近的基本概念和定理,包括数学函数近似、最小二乘法、插值等概念,以及相关定理的推导与证明。
2.数值逼近的常用算法介绍数值逼近的常用算法,包括最小二乘法、Lagrange插值法、Newton插值法、Hermite插值法、样条插值法等算法,对每种算法的原理和实现方法进行详细讲解。
3.数值逼近的程序实现编写程序实现数值逼近算法,包括输入数据、计算过程、输出结果等部分。
通过实现不同的算法,对比分析它们的优缺点,体会不同算法在不同问题中的适用性。
4.数值逼近在实际应用中的应用介绍数值逼近在实际应用中的应用,如曲线拟合、信号处理、图像处理等领域,介绍每种应用的具体实现思路和方法。
四、设计步骤1.首先熟练掌握数值逼近的相关概念和定理,对每种算法进行深入理解。
2.建议使用各种语言编写数值逼近程序,可以选择Matlab、Python、C++或者其他语言,通过编写程序验证各种算法的正确性。
3.在编写程序的过程中,要注重数据的预处理和后处理,对于程序的中间结果要进行有效的调试和解释。
4.在实现数值逼近算法的过程中,要进行可视化的效果展示,例如用图表展示结果,方便观察和比较算法的优劣。
5.对于实际应用的部分,要注重与实际问题的结合,提高解决实际问题的能力。
五、课程考核1.编写数值逼近程序并验证其正确性;2.论述各种算法的优缺点及在不同问题中的适用性;3.能够对实际问题进行分析和解决,将算法运用于实际问题中。
课程设计报告课程名称数值逼近专业信息与计算科学班级计算092姓名杜青学号指导教师秦新强、胡钢日期-07-01理学院应用数学系资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
一、 目的意义(1)进一步熟悉掌握复化梯形公式。
(2)进一步掌握熟悉复化抛物线公式。
(3) 学会比较复化梯形公式和复化抛物线公式如何达到所要求的精度。
二、 内容要求积分计算问题: 分别用复化梯形和复化Simpsom 求积公式计算积分dx e x x x 5.1402)(13-⎰-, 并比较计算量( 精度为10-8) 。
三、 问题解决的方法与算法方法: 利用复化梯形和复化抛物线积分公式。
算法:输入: 端点a 、 b 以及要计算的积分公式f(x);输出: 积分f(x)在指定区间上的近似值以及当其达到所要求的精度时要做的等分数n 的值。
Step1: 编写复化梯形公式程序。
Step2: 经过所要达到的精度作为条件, 算出要做的等分数以及对应的近视值。
Setp3: 编写复化抛物线积分公式程序。
数值积分及其应用报告1Setp4: 经过所要达到的精度作为条件, 算出要做的等分数以及对应的近视值。
Setp5: 然后比较复化梯形和复化抛物线的所需等分数, 比较谁的精度比较高。
四、计算程序1.复化梯形#include <stdio.h>#include <math.h>double f(double x){double s;s=13*(x-x*x)*exp(-1.5*x);return s;}void main(){int n,i;double h,m,y,a,b,t[3000];printf("请输入端点的值a,b\n");scanf("%lf",&a);scanf("%lf",&b);for(n=1;;n++){h=(b-a)/n;m=(f(a)+f(b))/2;for(i=1;i<n;i++){m+=f(a+i*h);}t[n]=m*h;h=(b-a)/(n+1);m=(f(a)+f(b))/2;for(i=1;i<n+1;i++){m+=f(a+i*h);}t[n+1]=m*h;if(fabs(t[n+1]-t[n])<0.00000001) break;}printf("求得结果为n=%d",n);printf("求得结果为:t[n+1]=%10.8f\n",t[n+1]); }2.复化抛物线#include <stdio.h>#include <math.h>double f(double x){double s;s=13*(x-x*x)*exp(-1.5*x); return s;}void main(){int i,n;double h,m,p,q,x,s,a,b,t[1000];printf("请输入端点的值a,b\n");scanf("%lf",&a);scanf("%lf",&b);for(n=1;;n++){h=(b-a)/(2*n);m=f(a)+f(b);p=0;q=0;for(i=1;i<2*n;i++){ x=a+i*h;if(i%2==0)q=q+f(x);elsep=p+f(x);}t[n]=h*(m+2*q+4*p)/3;h=(b-a)/(2*(n+1));m=f(a)+f(b);p=0;q=0;for(i=1;i<2*(n+1);i++){ x=a+i*h;if(i%2==0)q=q+f(x);elsep=p+f(x);}t[n+1]=h*(m+2*q+4*p)/3;if(fabs(t[n+1]-t[n])<0.00000001) break; }printf("求得结果为:n=%d\n",n);printf("求得结果为:%10.8f\n",t[n+1]);。
第一题 龙格现象1901年Runge 给出一个例子22511)(x x f +=定义在区间[-1,1]上。
这是一个很光滑的函数,它的任意阶导数都存在。
对它在[-1,1]上做等距节点插值时,会发现插值多项式在变量靠近-1和1时余项会随着n 的增大而很大;另一个现象就是插值多项式随节点增多而振动更多。
这种插值多项式当节点增多时反而不能更好的接近被插函数的现象称为Runge 现象。
function f=runge(n)syms t z z1;x=-1:2/n:1;y=1./(1+25*x.^2);z=0;for i=1:(n+1)z1=y(1,i);for j=1:(n+1)if(i~=j)z1=z1.*(t-x(1,j))./(x(1,i)-x(1,j));endendz=z+z1;endf=expand(z);在命令窗口输入命令:y1=runge(4)y1=1250/377*t^4-3225/754*t^2+1;y2=runge(8)y2=1+228601250/3725137*t^4-383000000/3725137*t^6+200000000/3725137*t^8-98366225/7450274*t^2; y3=runge(12)y3=1+367051586875/1847048164*t^4-107641853578125/112669938004*t^6+62017871484375/28167484501*t^8+25628906250000/28167484501*t^12-551599221900/28167484501*t^2-65809335937500/28167484501* t^10;x=-1:0.01:1;y=(1+25*x.^2).^(-1);t=-1:0.01:1;y1=1250/377.*t.^4-3225/754.*t.^2+1;y2=1+228601250/3725137.*t.^4-383000000/3725137.*t.^6+200000000/3725137.*t.^8-98366225/7450274.*t.^ 2;y3=1+367051586875/1847048164.*t.^4-107641853578125/112669938004.*t.^6+62017871484375/281674845 01.*t.^8+25628906250000/28167484501.*t.^12-551599221900/28167484501.*t.^2-65809335937500/2816748 4501.*t.^10;plot(x,y,t,y1,':',t,y2,'-.',t,y3,'*')legend('f(x)','n=4','n=8','n=12')-1-0.8-0.6-0.4-0.200.20.40.60.81图1结论:由上图可以看出用高次插值多项式是不妥当的,误差会随着阶数的提高越来越严重。
因此,为提高插值的精度,可以采用分段插值。
第二题 Chebyshev 多项式画出Chebyshev 多项式在n=2,3,4,5时的图像x=-1:0.1:1;T2=cos(2*acos(x));T3=cos(3*acos(x));T4=cos(4*acos(x));T5=cos(5*acos(x));plot(x,T2,x,T3,'-.',x,T4,':',x,T5,'-')legend('n=2','n=3','n=4','n=5')-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.20.20.40.60.81第三题 Remez 算法1.求函数f(x)=在[-1,1]上的二次多项式逼近。
编写M 文件function remezs(F,x1,x2,x3,x4,e,min,max)format long;图2syms x ;y1=F;xA=5;xB=5;xC=5;xD=5;m=0;n=0;X1(1)=x1;X2(1)=x2;X3(1)=x3;X4(1)=x4;P1(1)=subs(F,'x',x1);P2(1)=subs(F,'x',x2);P3(1)=subs(F,'x',x3);P4(1)= subs(F,'x',x4);d=2;while(abs(abs(subs(y1,'x',xA))-abs(m))>e | abs(abs(subs(y1,'x',xB))-abs(m))>e | abs(abs(subs(y1,'x',xC))-abs(m))>e | abs(abs(subs(y1,'x',xD))-abs(m))>e)a=[1,1,x1,x1^2;1,-1,x2,x2^2;1,1,x3,x3^2;1,-1,x4,x4^2];z1=subs(F,'x',x1);z2=subs(F,'x',x2);z3=subs(F,'x',x3);z4=subs(F,'x',x4);b=[z1;z2;z3;z4];g=a\b;c=[g(4,1);g(3,1);g(1,1)];m=g(2,1);p=poly2sym(c); P1(d)=subs(p,'x',x1);P2(d)=subs(p,'x',x2);P3(d)=subs(p,'x',x3);P4(d)=subs(p,'x',x4);y1=F-p;y2=diff(y1);y3=diff(y2);s=(max-min)/50;j=1;for i=s:s:max-mink1=subs(y2,'x',min+i-s);k2=subs(y2,'x',min+i);if((k1<0)&(k2>0)|(k1>0)&(k2<0))w(1,j)=min+i;j=j+1;endendxA=min;xD=max;xB=5;xC=5;xb=w(1,1);xc=w(1,2);while(abs(abs(xB)-abs(xb))>0.00000001 | abs(abs(xC)-abs(xc))>0.00000001) y4=xb-y2/y3;xB=subs(y4,'x',xb);t=xb;xb=xB;xB=t;y5=xc-y2/y3;xC=subs(y5,'x',xc);t=xc;xc=xC;xC=t;endx1=xA;X1(d)=x1;x2=xB;X2(d)=x2;x3=xC;X3(d)=x3;x4=xD;X4(d)=x4;n=n+1;d=d+1;endnmcp=poly2sym(c);y=pX1X2X3X4P1P2P3P4在命令窗口输入命令:syms xy=exp(x);remezs (y,-1,-0.5,0.5,1,0.000000001,-1,1) %当初始点组为-1,-0.5,0.5,1时n = 3 %迭代步数m = -0.04501738840272 %最佳逼近c = 0.55404090635670 %最佳逼近多项式系数1.130183805241080.98903972845855y=1247589209708019/2251799813685248*x^2+5089895364143919/4503599627370496*x+8908477905081045/ 9007199254740992 %最佳逼近多项式X1 =-1 -1 -1 -1X2 =-0.500000000000000 -0.438621271668792 -0.436958142528573 -0.436958064363172X3 =0.500000000000000 0.560938664934263 0.560058700967099 0.560057761761697X4 =1 1 1 1P1 =0.367879441171442 0.412216302056878 0.412896544738883 0.412896829574159P2 =0.606530659712633 0.562193798827198 0.599907881178971 0.600981082304536P3 =1.648721270700128 1.693058131585564 1.797333670243964 1.795792657883955P4 =2.718281828459046 2.673944967573610 2.673264724891605 2.673264440056329remezs (y,-1,0,0.5,1,0.000000001,-1,1) %当初始点组为-1,0,0.5,1时n = 4 %迭代步数m = -0.04501738840244 %最佳逼近c = 0.55404090635629 %最佳逼近多项式系数1.130183805241360.98903972845896y=4990356838828379/9007199254740992*x^2+2544947682072583/2251799813685248*x+8908477905084741/ 9007199254740992 %最佳逼近多项式X1 =-1 -1 -1 -1 -1X2 =Columns 1 through 40 -0.421854446335344 -0.439110722460123 -0.436957524811125Column 5-0.436958064364547X3 =Columns 1 through 40.500000000000000 0.616666867105925 0.559560192587622 0.560059523299712Column 50.560057761761412X4 =1 1 1 1 1P1 =Columns 1 through 40.367879441171442 0.401056989982813 0.412479164166748 0.412896473452533Column 50.412896829573882P2 =Columns 1 through 41.000000000000000 0.966822451188630 0.611229767837094 0.599592370658370Column 50.600981481349462P3 =Columns 1 through 41.648721270700128 1.681898819511499 1.897342025310450 1.794919743126876Column 51.795794097603871P4 =Columns 1 through 42.718281828459046 2.685104279647675 2.673682105463739 2.673264796177954Column 52.673264440056606remezs (y,-0.8,-0.3,0.4,0.7,0.000000001,-1,1) %当初始点组为-0.8,-0.3,0.4,0.7时n = 5 %迭代步数m =-0.04501738840282 %最佳逼近c = 0.55404090635688 %最佳逼近多项式系数1.130183805240980.98903972845837y=2495178419416851/4503599627370496*x^2+5089895364143459/4503599627370496*x+8908477905079421/ 9007199254740992 %最佳逼近多项式X1 =-0.800000000000000 -1.000000000000000 -1.000000000000000 -1.000000000000000-1.000000000000000 -1.000000000000000X2 =-0.300000000000000 -0.389100143282599 -0.456582740283911 -0.436909973732124-0.436958078197744 -0.436958064362609X3 =0.400000000000000 0.363012301238986 0.556102082418996 0.5602067742463830.560057758708891 0.560057761761852X4 =0.700000000000000 1.000000000000000 1.000000000000000 1.0000000000000001.000000000000000 1.000000000000000P1 =0.449328964117222 0.466303115476679 0.408989321350584 0.4128673420117470.412896826843031 0.412896829574262P2 =0.740818220681718 0.723844069322260 0.636556522698576 0.5884566949991940.601012202753950 0.600981123862051P3 =1.491824697641270 1.508798849000728 1.478763424231403 1.7888497064056231.796051917382699 1.795791008202466P4 =2.013752707470477 1.996778556111019 2.677171948279904 2.6732939276187412.673264442787456 2.6732644400562272.画出f(x)=函数在中进行二次多项式最佳逼近逼近,Remez算法中交错点组随迭代次数k的变化规律,以及逼近误差曲线的形象syms xx1=-1;x2=-0.5;x3=0.5;x4=1;F='exp(x)';a=[1,1,x1,x1^2;1,-1,x2,x2^2;1,1,x3,x3^2;1,-1,x4,x4^2];z1=subs(F,'x',x1);z2=subs(F,'x',x2);z3=subs(F,'x',x3); z4=subs(F,'x',x4);b=[z1;z2;z3;z4];g=a\b;c=[g(4,1);g(3,1);g(1,1)];y1=poly2sym(c)y1 =(4989443987306157*x^2)/9007199254740992+(2546480093808581*x)/2251799813685248 + 4454695378303483/4503599627370496 %第一次迭代得到的多项式X1 =[-1 -1 -1 -1] ; % x1随迭代的变化X2 =[-0.500000000000000 -0.438621271668792 -0.436958142528573-0.436958064363172 ] ; % x2随迭代的变化X3 =[0.500000000000000 0.560938664934263 0.5600587009670990.560057761761697 ] ; % x3随迭代的变化X4 =[1 1 1 1 ] ; % x4随迭代的变化P1 =[ 0.367879441171442 0.412216302056878 0.4128965447388830.412896829574159 ] ; % y1随迭代的变化P2 =[0.606530659712633 0.562193798827198 0.599907881178971 0.600981082304536 ] ;%y2随迭代的变化P3 =[1.648721270700128 1.693058131585564 1.7973336702439641.795792657883955 ] ; %y3随迭代的变化P4 =[2.718281828459046 2.673944967573610 2.673264724891605 2.673264440056329 ] ;% y4随迭代的变化x=-1:0.1:1;y1=(4989443987306157*x.^2)/9007199254740992+(2546480093808581*x)/2251799813685248+4454695378 303483/4503599627370496 ;y=1247589209708019/2251799813685248*x.^2+5089895364143919/4503599627370496*x+89084779050810 45/9007199254740992;plot(x,exp(x),x,y1,'+',x,y,'-.')grid onlegend('原函数','初始误差曲线','最终误差曲线')hold onplot(X1,P1,'v',X2,P2,'v',X3,P3,'v',X4,P4,'v')图3第三题最小二乘法为了制定生产计划,某羊毛衫厂记录了一部一年来羊毛衫的销售量,按月份得到表(1)的数据表,其销售量单位为箱,试建立月份(x)和销售(y)之间表1a=[1 1 1;1 2 4;1 3 9; 1 4 16;1 5 25;1 6 36;1 7 49;1 8 64;1 9 81;1 10 100;1 11 121;1 12 144];b=[256;201;159;61;77;40;17;25;103;156;222;345];x=inv(a'*a)*a'*bx = 386.0000-113.42669.0420x1=1:0.01:12;y=9.0420.*x1.^2-113.4266.*x1+386;plot(x1,y)hold onx2=[1,2,3,4,5,6,7,8,9,10,11,12];y2=[256,201,159,61,77,40,17,25,103,156,222,345];plot(x2,y2,'.')024681012050100150200250300350第四题用复化梯形公式计算积分10dx e x 。