MATLAB学习之积分(三)

积分

1.定积分与广义积分

定积分定义:设函数f(x) 在区间[a,b]上连续,将区间[a,b]分成n个子区间[x0,x1], (x1,x2], (x2,x3], …, (xn-1,xn],其中x0=a,xn=b。可知各区间的长度依次是:△x1=x1-x0,在每个子区间(xi-1,xi]中任取一点ξi(1,2,…,n),作和式
∑ i = 1 n f ( ξ i ) δ x i \sum_{i=1}^{n}f(\xi_i)\delta x_i i=1nf(ξi)δxi
。该和式叫做积分和,设λ=max{△x1, △x2, …, △xn}(即λ是最大的区间长度),如果当λ→0时,积分和的极限存在,则这个极限叫做函数f(x) 在区间[a,b]的定积分,记为
∫ a b f ( x ) d x \int_{a}^{b}f(x)dx abf(x)dx
并称函数f(x)在区间[a,b]上可积。 [1] 其中:a叫做积分下限,b叫做积分上限,区间[a, b]叫做积分区间,函数f(x)叫做被积函数,x叫做积分变量,f(x)dx 叫做被积表达式,∫ 叫做积分号。

之所以称其为定积分,是因为它积分后得出的值是确定的,是一个常数, 而不是一个函数。

**广义积分定义:**反常积分又叫广义积分,是对普通定积分的推广,指含有无穷上限/下限,或者被积函数含有瑕点的积分,前者称为无穷限广义积分,后者称为瑕积分(又称无界函数的反常积分)。

MATLAB中使用int命令可以求积分值,调用格式如下:

命令说明
int(f,a,b)计算函数f(x)在区间[a,b]的积分值
int(f,x,a,b)计算函数f(x)关于x在区间[a,b]的积分值
syms x;
f = x^3/(exp(x)-1);
int(f,0,inf)

ans =

pi^4/15

求广义积分只需要将积分区间相应的改为无穷即可。

2.不定积分

MATLAB中,不定积分也可以用int函数求解,调用格式如下:

命令说明
int(f)计算函数f的不定积分
int(f,x)计算函数f关于x的不定积分
syms x y;
f = (sin(x)+cos(y))/x;
int(f,0,1)

ans =

piecewise(in(y/pi - 1/2, 'integer'), sinint(1), ~in(y/pi - 1/2, 'integer'), Inf*cos(y) + sinint(1))

3.二重积分

MATLAB中用来进行二重积分数值计算命令的是dblquad,其调用格式如下:

命令说明
q=dblquad(f,xmin,xmax,ymin,ymax)在xmin<=x<=xmax,ymin<=y<=ymax的矩形范围内计算二重积分f(x,y)
q=dblquad(f,xmin,xmax,ymin,ymax,tol)在xmin<=x<=xmax,ymin<=y<=ymax的矩形范围内计算二重积分f(x,y),tol表示自定义公差
q=dblquad(f,xmin,xmax,ymin,ymax,tol,method)同上面的含义一样,只是method表示对求解数值积分方法的选择

进行二重积分计算时,要注意积分区间的范围,比如计算 ∫ 0 π ∫ π 2 π ( y sin ⁡ x + x cos ⁡ y ) d x   d y \int_{0}^{\pi} \int_{\pi}^{2 \pi}(y \sin x+x \cos y) \mathrm{d} x \mathrm{~d} y 0ππ2π(ysinx+xcosy)dx dy

先建立函数M文件my2int.m

function z=my2int(x,y)
global k;
k = k+1;   %定义一个全局变量,计算被积函数调用积分命令的次数
z = y*sin(x)+x*cos(y);

然后在命令行窗口输入命令进行计算

dblquad(@my2int,pi,2*pi,0,pi)

ans =

   -9.8696

k

k =

   493

如果利用int进行二重积分的计算,需要注意积分区间的求取,求得积分区间之后才能进行二重积分计算。

4.三重积分

计算三重积分由于积分域的原因,计算会比二重积分计算更加复杂。

下面通过计算椭球体的积分进行说明:

计算 ∭ V ( x 2 + y 2 + z 2 ) d x   d y   d z \iiint_{V}\left(x^{2}+y^{2}+z^{2}\right) \mathrm{d} x \mathrm{~d} y \mathrm{~d} z V(x2+y2+z2)dx dy dz,其中V是由椭球体 x 2 + y 2 4 + z 2 9 = 1 x^2+\frac{y^2}{4}+\frac{z^2}{9}=1 x2+4y2+9z2=1围成的内部区域。

x = -1:2/50:1;
y = -2:4/50:2;
z = -3;
for i=1:51
    for j = 1:51
        z(j,i) = (1-x(i)^2-y(j)^2/4)^0.5;
        if imag(z(j,i))<0
            z(j,i) = nan;
        end
        if  imag(z(j,i))>0
            z(j,i) = nan;
        end
    end
end
mesh(x,y,z)
hold on
mesh(x,y,-z)
mesh(x,-y,z)
mesh(x,-y,-z)
mesh(-x,y,z)
mesh(-x,y,-z)
mesh(-x,-y,-z)
mesh(-x,-y,z)

三维积分区域如图:
在这里插入图片描述

确定积分限如下:

elloposd2int
view(0,90)
title('沿x轴侧视')
view(90,0)
title('沿y轴侧视')

在这里插入图片描述在这里插入图片描述

由椭球面的性质可得:

syms x y z
f = x^2 + y^2 + z^2; %被积函数
a1 = -sqrt(1-(x^2));  %积分区域
a2 = sqrt(1-(x^2));
b1 = -3*sqrt(1-x^2-(y/2)^2);
b2 = 3*sqrt(1-x^2-(y/2)^2);
fdz = int(f,z,b1,b2);
fdzdy = int(fdz,y,a1,a2);
fdzdydx = int(fdzdy,1,2);
simplify(fdzdydx)

ans =

int(int(((- 4*x^2 - y^2 + 4)^(1/2)*(- 12*x^2 + (3*y^2)/2 + 18))/2, y, -(1 - x^2)^(1/2), (1 - x^2)^(1/2)), x, 1, 2)
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值