Matlab之函数积分
一元函数(一重)积分:
求一元函数积分有quad函数,quadl函数,int函数:
quad和quadl:
quad和quadl两个函数,他们使用不同的算法,一般来说quadl更精确一点
例:求的积分:
f=inline('sqrt(4*cos(2*t).^2+sin(t).^2+1)'); disp(quad(f, 0, 3*pi));
或者:
f=@(t)(sqrt(4*cos(2*t).^2+sin(t).^2+1)); disp(quad(f, 0, 3*pi)); %显示积分值
quad(f, lower, upper)中的f是被积函数句柄,lower是积分下限,upper是积分上限,quad返回积分值,quadl函数的用法类似。
int:
int函数也可以求一元函数,它和quad函数(或quadl函数)的区别是int函数可以求解不定积分,而quad函数(或quadl函数)只能求解定积分。另外,int函数采用的算法是牛顿--莱布尼茨方法,因此对于复杂的被积函数,int函数求不出。而quad函数采用的算法是曲线下面积的方法,因此适用于大多数的被积函数。
例:求的积分:
syms x; f=(log(x)/(1+x))^2; disp(int(f, x, 0, 1)); %显示积分值
注意:用int求解积分时,需要先定义一个符号变量!
int(f, x, lower, upper)中的f是一个含有符号变量的函数,x是符号变量,lower和upper分别是积分的下上限。
二元函数(二重)积分:
求二元函数积分可以使用dblquad函数:
例:求的积分:
f=@(x, y)(y.*sin(x)+x.*cos(y)); xmin=pi; xmax=2*pi; ymin=0; ymax=pi; disp(dblquad(f, xmin, xmax, ymin, ymax));
dblquad(f, xmin, xmax, ymin, ymax)中的f是被积函数句柄,xmin是最内部积分下限,xmax是最内部积分上限,ymin是外部积分下限,ymax是外部积分上限,dblquad返回积分值。三重积分可以使用triplequad函数,用法类似。