数值分析课程设计积分方法的实际应用数值分析课程设计报告求积公式的实际应用学院数学与统计学院专业信息与计算科学学号 __________________________________姓名 _________________________________指导教师成绩教师评语:指导教师签字:2018年1月8日1 绪论数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值检索方其理论与软件的实现。
随着计算机和计算方法的飞速发展,几乎所有学科都走向定量化和精确化,从而产生了一系列计算性的学科分支,如计算物理、计算化学、计算生物学、计算地质学、计算气象学和计算材料学等,计算数学中的数值计算方法则是解决“计算”问题的桥梁和工具。
我们知道,计算能力是计算工具和计算方法的效率的乘积,提高计算方法的效率与提高计算机硬件的效率同样重要。
科学计算已用到科学技术和社会生活的各个领域中。
数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法,简称计算方法。
在科学研究和工程技术中都要用到各种计算方法。
例如,在航天航空、地质勘探、汽车制造、桥梁设计、天气预报和汉字字样设计中都有计算方法的踪影。
计算方法既有数学类课程中理论上的抽象性和严谨性,又有实用性和亚丁实验性的技术特征,计算方法是一门理论性和实践性都很强的学科。
在70年代,大多数学校仅在数学系的计算数学专业和计算机系开设计算方法这门课程。
随着计算机技术的迅速发展和普及,现在计算方法课程几乎已成为所有理工科学生的必修课程。
计算方法的计算对象是微积分,线性代数,常微分方程中的数学问题。
内容包括:插值和拟合、数值微分和数值积分、求解线性方程组的直接法和迭代法、计算矩阵特征值和特征向量和常微分方程数值解等问题。
2 Gauss求积公式2.1基本原理求积公式nbf (x)d x A k f(xQ (2.1)ak 0含有2n+2个待定参数,X k,A k(k 0,1,L , n).当X k为等距节点时得到的插值求积公其代数精度至少为n次,如果适当选取x k(k 0,1丄,n),有可能使求积公式(2.1)具有2n+1X k 及A k ,使(2.2)具有2n+1次代数精度。
当给定权函数(x),求出右端积分,则可由(2.3)式解得X k (k 0,1L , n)及A k (k 0,1,L , n)2.2程序实现建立gaussl.m 文件,写入如下内容:function s=gaussl(a,b ,n) h=(b-a)/n; s=0.0; for m=0:(1* n/2-1)s=s+h*(gaussf(a+h*((1-1/sqrt(3))+2*m))+gaussf(a+h*((1+1/sqrt(3))+2*m))); end2.3实例分析例 计算积分o --xlogxdx解 建立gaussf.m 文件以调用gaussl.m 文件中的函数,再写入如下内容:function y=gaussf(x) y=sqrt(x)*log(x);再在命令行中输入:>> s=gaussl(0,1,20)得出如下结果:-0.4456次代数精度,这类求积公式称为高斯求积公式为具有一般性,研究带权积分Ibf(x) (x)d x ,这里(X)为权函数,求积公式为 abf (x) (x)d x anA k f(X k )k 0(2.2)A k (k 0,1,L , n)为不依赖于f(x)的求积系数,X k (k 0,1,L , n)为求积节点,可适当选取如果求积公式(2.2)具有2n+1次代数精度,则称其节点X k (k 0,1,L , n)为高斯点,相应求积公式(2.2)称为高斯求积公式。
根据定义要使(2.2)式具有2n+1次代数精度,只要对f(x) x m , (m 0,1,L 2n 1 ),令(2.2)式精确成立,即nmA k Xkk 0b x m (x)dx m 0,1,L 2na(2.3)3 高斯- 勒让德求积公式3.1 基本原理在高斯求积公式(2.1)中,若取权函数(x) 1 ,区间为-1,1 ,则得公式1n-1 f(x)dx A k f(x k). (3.1)-1k0 由于勒让德多项式是区间-1,1 上的正交多项式,因此,勒让德多项式P n 1(x) 的零点就是求积公式(3.1)的高斯点。
形如(3.1)式的高斯公式称为高斯-勒让德求积公式。
3.2 程序实现建立guasslegendre.m 文件,写入如下内容:function [ql,Ak,xk]=guasslegendre(fun,a,b,n,tol)if nargin==1 a=-1;b=1;n=7;tol=1e-8;elseif nargin==3 n=7;tol=1e-8;elseif nargin==4tol=1e-8;elseif nargin==2|nargin>5error('The Number of Input Arguments Is Wrong!');end% 计算求积节点syms xp=sym2poly(diff((xA2-1F( n+1),门+1))/(2八 n*factorial( n));tk=roots(p); % 求积节点% 计算求积系数Ak=zeros(n+1,1);for i=1: n+1xkt=tk;xkt(i)=[];pn=poly(xkt);fp=@(x)polyval(p n, x)/polyval(p n,tk(i));Ak(i)=quadl(fp,-1,1,tol); % 求积系数end%积分变量代换,将[a,b]变换到[-1,1]xk=(b-a)/2*tk+(b+a)/2;% 检验积分函数fun的有效性fun=fcn chk(f un ,'vectorize');%计算变量代换之后积分函数的值fx=fu n(xk)*(b-a)/2;%计算积分值ql=sum(Ak.*fx);参数说明:fun:积分表达式,可以是函数句柄a,b:积分上下限n:积分阶数tol :积分精度,默认1e-6ql :积分结果Ak:积分系数xk :求积节点,满足ql=sum(Ak.*fun(xk))3.3实例分析例用4点的高斯-勒让德公式求解定积分2x2cos x dx的近似值解:打开guasslegendre.m文件,并在命令行中输入如下内容>> syms x;>> fun=i nli ne(cos(x)*x^2);>> [ql,Ak,xk]=guasslege ndre(fu n,0,pi/2,4)得出结果:qi =0.4674Ak =0.56890.23690.47860.23690.4786xk =0.78540.07370.36251.49711.2083即2x2cos x dx的4点的高斯-勒让德积分结果为ql=0.46744 复化Simpson求积公式4.1基本原理复化Simpson公式是一种比较实用的积分方法,可以给出误差估计。
首先将区间[a,b] N等分,子区间的长度为(4.1)h n在每个子区间上采用Simps on公式,在用Simps on公式时,还要将子区间再二等分,因此有2N+1个分点。
即经推导得到,称为S N 为复化Simpson 值,称(4.3)式为复化Simpson 公式。
4.2程序实现编写复化Simpson 求积函数(函数名:s_quad.m )Function l=S_quad(x,y) % 复化求积公式% x 为被积函数自变量的等距节点;y 为被积函数在节点处的函数值。
n=len gth(x);m=length(y); %积分自变量的节点数应与它的函数值个数相同; if n 〜=merror ('The len gth of X and Y must be equa l'); return; endif rem(n-1,2)〜=0 %如果n-1不能被2整除,则调用复化公式error ('节点数不满足要求'); return; end N=( n-1)/2; h=(x( n)-x(1))/N; a=zeros (1, n); for k=1:Na(2*k-1)=a(2*k-1)+1; a(2*k)=a(2*k)+4; a(2*k+1)=a(2*k+1)+1; endl=h/6*sum(a.*y);hXk x k^T ,k 0,1,L ,2N ,Xo a.(4.2)defhS N;f(x)dx -N [f(a)6f(b)N 1 2 f(X 2k )k 1N4f (X 2k 1)] k 1(4.3)然后调用s_quad函数,来实现复化Simpson公式法。
建立一个文件SPS,内容如下:clearx=input('请输入积分上下限及点间的间隔(例如-1:0.1:1):');y=i nput('请输入被积公式:y=');匸S_quad(x,y);disp('得出积分值1=')disp(I);4.3实例分析1 2例1用复化Simpson公式求积分1e x dx,在积分区间中点与点之间的间隔取为0.1。
解:运行程序,按照提示输入积分上下限、点间的间隔及被积公式,如下所示:请输入积分上下限及点间的间隔(例如-1:0.1:1): -1:0.1:1请输入被积公式:y=exp(-x.A2)得出积分值匸1.4936真值为:1.4937例2计算积分1」^dx,将区间8等分。
04 x2解:运行程序,按照提示输入积分上下限、等分后的区间长度及被积公式,如下所示:请输入积分上下限及点间的间隔(例如-1:0.1:1):0:0.125:1请输入被积公式:y=x./(4+x.A2)得出积分值匸0.1116真值为:0.1115724.4结果分析复化Simps on 计算所得的结果误差较小,精度较高,更适合科学计算与应用,且 公式具有收敛性,稳定性良好。
5数值方法的实际应用在实际问题中,往往会遇到一些困难。
有些函数找不到用初等函数表示的原函数, 例如,对于积分而言,不存在用初等函数表示的原函数。
而有些函数虽然能找到原函数,但计算过于复 杂,例如,椭圆型积分2ax 2 bx cdxx1而有些情况下,只能知道某些点处的函数值,并没有函数的具体表达式。
这些情况, 使我们有必要研究积分的数值计算问题。
下面我们就以梯形公式为例做以说明。
所谓梯形求积公式就是用梯形面积来近似曲边梯形面积,利用梯形公式和连续增加[a,b]的区间数来逼近:第j 次循环在2j 1个等距节点处对f x 采样5.1实例分析卫星轨道是一个椭圆,椭圆周长计算公式是S 4a 02 J 1- (—)2sin 2 d这里a 是椭圆半长轴,c 是地球中心与轨道中心(椭圆中心)的距离,记 h 为近地点距 离, H 为远地点距离, R=637km 为地球半径,则a (2R H h)/2,c (H h)/2,我国第一颗人造卫星近地点距离h=439km ,远地点距离H=2384,试求卫星轨道的周长。