1、一元函数的数值积分 函数 1 trapz功能 复合梯形求积公式格式 T=trapz(Y) %用 等距复合梯形求积公式近似计算Y的积分。若Y是一向 量,则trapz(Y)为Y的积分;若Y是一矩阵,则trapz(Y) 为Y的每一列的积分。 T = trapz(X,Y) %用复合梯形求积公式计算Y在X点上的积分,X和Y可以是负数。若X 为一列向量,Y为矩阵,且size(Y,1) = length(X),则trapz(X,Y)通过Y的第一个非单元集方向进行计算。 T = trapz(,dim) %沿着dim指定的方向对Y进行积分。若参量中包含X,则应有length(X)=size(Y,dim)。 例
2、1 计算 的数值积分。计算可得 。0sinxd2sin0xd准备工作:X = 0:pi/100:pi;Y = sin(X);函数调用:T = trapz(X,Y)可得T=1.9998或者T = pi/100*trapz(Y)可得T=1.9998例 2 计算复积分z = exp(i*pi*(0:100)/100);trapz(z, 1./z)可得ans =0.0000 + 3.1411iproduce Z =1.9998 函数2 quad、quadl、quad8 功能 数值定积分,自适应复合Simpson求积公式。 格式 q = quad(fun,a,b) %近似地从a到b计算函数fun的数值积
3、分,误差为10-6。若给fun输入向量x,应返回向量y,即fun是一单值函数。 q = quad(fun,a,b,tol) %用指定的绝对误差tol代替缺省误差。tol越大,函数计算的次数越少,速度越快,但结果精度变小。 q = quad(fun,a,b,tol,trace,p1,p2,) %将可选参数p1,p2,等传递给函数fun(x,p1,p2,),再作数值积分。若tol=或trace=,则用缺省值进行计算。 q,n = quad(fun,a,b,) %同时返回函数计算的次数n q,n = quadl(fun,a,b,) %用高精度进行计算,效率可能比quad更好。 q,n = quad8(fun,a,b,) %该命令是将废弃的命令,用quadl代替。例 3 计算积分 dx20351方法 1:首先写一个计算被积函数函数值的函数文件 myfun.mfunction y = myfun(x) y = 1./(x.3-2*x-5);然后调用函数计算数值积分Q = quad(myfun,0,2)可得Q =-0.4605方法 2:F = (x)1./(x.3-2*x-5); %将被积函数用匿名函数来表达Q = quad(F,0,2);注:注意以上两种方法 quad 中被积函数的调用方式!