预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共35页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MATLAB求解数值积分引言我们知道,若函数f(x)在区间[a,b]上连续且其原函数为F(x),则可用Newton-Leibnitz公式(1)被积函数f(x)并不一定能够找到用初等函数的有限形式表示的原函数F(x),例如:Newton-Leibnitz公式就无能为力了(3)被积函数f(x)没有具体的解析表达式,其函数关系由表格或图形表示。对于这些情况,要计算积分的准确值都是十分困难的。由此可见,通过原函数来计算积分有它的局限性,因而研究一种新的积分方法来解决Newton-Leibniz公式所不能或很难解决的积分问题,这时需要用数值解法来建立积分的近似计算方法。将积分区间细分,在每一个小区间内用简单函数代替复杂函数进行积分,这就是数值积分的思想,用代数插值多项式去代替被积函数发f(x)进行积分是本章讨论数值积分的主要内容。1.1定积分的Matlab符号计算1.2变限积分的Matlab符号计算建立数值积分公式的途径比较多,其中最常用的有两种:(1)由积分中值定理可知,对于连续函数f(x),在积分区间[a,b]内存在一点ξ,使得即所求的曲边梯形的面积恰好等于底为(b-a),高为的矩形面积。但是点ξ的具体位置一般是未知的,因而的值也是未知的,称为f(x)在区间[a,b]上的平均高度。那么只要对平均高度提供一种算法,相应地就获得一种数值求积方法Simpson公式是以函数f(x)在a,b,(a+b)/2这三点的函数值f(a),f(b),的加权平均值似值而获得的一种数值积分方法。(一)用函数trapz计算定积分调用格式一:Z=trapz(Y)调用格式二:Z=trapz(X,Y)调用格式三:Z=trapz(X,Y,DIM)或trapz(Y,DIM)(二)用函数cumtrapz计算定积分调用格式一:Z=cumtrapz(Y)调用格式二:Z=cumtrapz(X,Y)调用格式三:Z=cumtrapz(X,Y,DIM)或cumtrapz(Y,DIM)梯形数值积分的MATLAB主程序functionT=rctrap(fun,a,b,m)n=1;h=b-a;T=zeros(1,m+1);x=a;T(1)=h*(feval(fun,a)+feval(fun,b))/2;fori=1:mh=h/2;n=2*n;s=0;fork=1:n/2x=a+h*(2*k-1);s=s+feval(fun,x);endT(i+1)=T(i)/2+h*s;endT=T(1:m);例3用MATLAB的函数trapz和cumtrapz分别计算精确到10-4,并与矩形公式比较.解:将[0,π/2]分成20等份,步长为π/40,输入程序如下(注意trapz(y)是单位步长,trapz(y)*h=trapz(x,y)):>>h=pi/40;x=0:h:pi/2;y=exp(-x).*sin(x);z1=sum(y(1:20))*h,z2=sum(y(2:21))*h,z=(z1+z2)/2z3=trapz(y)*h,z3h=trapz(x,y),z3c=cumtrapz(y)*h,运行后屏幕显示用矩形公式(9.3),(9.4)计算结果z1、z2和二者的平均数z、函数trapz和cumtrapz分别计算结果z3、z3c.(一)函数sum的调用格式调用格式一:sum(X)调用格式二:sum(X,DIM)(二)函数cumsum的调用格式调用格式一:cumsum(X)调用格式二:cumsum(X,DIM)调用格式一:quad(‘fun’,a,b)调用格式二:quad(‘fun’,a,b,tol)调用格式三:[Q,FCNT]=quad(...)调用格式四:quad(‘fun’,a,b,tol,TRACE)调用格式五:quad(‘fun’,a,b,tol,TRACE,P1,P2,…)复合辛普森(Simpson)数值积分的MATLAB主程序functiony=comsimpson(fun,a,b,n)z1=feval(fun,a)+feval(fun,b);m=n/2;h=(b-a)/(2*m);x=a;z2=0;z3=0;x2=0;x3=0;fork=2:2:2*mx2=x+k*h;z2=z2+2*feval(fun,x2);endfork=3:2:2*mx3=x+k*h;z3=z3+4*feval(fun,x3);endy=(z1+z2+z3)*h/3;1、S=trapz(X,Y)等距梯形法求数值积分调用格式一:Z=trapz(Y)调用格式二:Z=trapz(X,Y)调用格式三:Z=trapz(X,Y,DIM)或trapz(Y,DIM)2、S=cumsum(Y)欧拉法求数值积分调用格式一:cumsum(X)调用格式二:cumsum(X,DIM)3、对于离散点的积分,先对其拟合获得函数表达式,