基于MATLAB的三重积分与曲线积分

目录

一. 三重定积分的数值求解

例题1

例题2

例题3

二. 第一类曲线积分:对弧长的曲线积分

例题4

例题5

三. 第二类积分:对坐标的曲线积分

例题6

例题7


一. 三重定积分的数值求解

三重定积分的数学表达形式为:

I=\int_{x_m}^{x_M}\int_{y_m}^{y_M}\int_{z_m}^{z_M}f(x,y,z)dzdydx

在MATLAB中调用的格式为如下:

I=triplequad(Fun,x_m,x_M,y_m,y_M,z_m,z_M,\epsilon,@quadl)

在调用时,最后一个@quadl为具体求解一元积分的数值函数,当然也可以修改为@quad或者自己编写的函数,只要调用格式同上式子就行。\epsilon与求解的精度相关。

例题1

计算三重积分

\int_0^1\int_0^\pi\int_0^\pi4xze^{-x^2y-z^2}dzdydx

解:

MATLAB代码:

clc;clear;
triplequad(inline('4*x.*z.*exp(-x.*x.*y-z.*z)',...
    'x','y','z'), 0, 1, 0, pi, 0, pi,1e-7,@quadl)

运行结果:

ans =1.732762284542535

integral3也可以对三重积分进行数值计算。正常的调用格式为:

q=integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax)

如果增加相关的参数限制,调用格式为:

q=integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax,Name,Value)

例题2

在笛卡尔坐标系中对单位球面计算积分,要求在MATLAB代码中使用到匿名函数

f(x,y,z)=xcosy+x^2cosz

解:

MATLAB代码:

clc;clear;
fun=@(x,y,z)x.*cos(y)+x.^2.*cos(z);
xmin=-1; xmax=1;
ymin=@(x)-sqrt(1-x.^2);   
ymax=@(x)sqrt(1-x.^2);
zmin=@(x,y)-sqrt(1-x.^2-y.^2);
zmax=@(x,y)sqrt(1-x.^2-y.^2);
q=integral3(fun,xmin,xmax,ymin,ymax,zmin,zmax,'Method','tiled')    
%使用 'tiled' 方法计算定积分

运行结果:

q =0.779555454656150

例题3

求函数f(x,y,z)=\frac{10}{x^2+y^2+z^2+a}在区域-\infty\leq x\leq0,-100\leq y\leq0,-100\leq z\leq0的积分。其中参数a=2。

解:

MATLAB代码:


clc;clear;
a=2;
f=@(x,y,z)10./(x.^2+y.^2+z.^2+a);
q1=integral3(f,-Inf,0,-100,0,-100,0)
q2=integral3(f,-Inf,0,-100,0,-100,0,'AbsTol',0,'RelTol',1e-9)

运行结果:

q1 =2.734244598320928e+03


q2 =2.734244599944285e+03

MATLAB工具箱中已经拥有了很多计算数值积分的函数,包含integral,integral2,integral3,这些函数都可以计算积分限为无穷大的积分。由于精度限制的原因quad,quadl,quadv,dblquad,triplequad这几个函数可能后续会被MATLAB删除。

二. 第一类曲线积分:对弧长的曲线积分

第一类曲线积分起源于对不均匀分布的空间函数曲线总质量的求取。设空间曲线L的密度函数为f(x,y,z),则其总质量可以利用积分求解如下:

I_1=\int_lf(x,y,z)ds

积分中s为曲线上某点的弧长,所以第一类积分又称之为对弧长的曲线积分。

在数学中x=x(t),y=y(t),z=z(t),弧长积分可以表示为ds=\sqrt{(\frac{dx}{dt})^2+(\frac{dy}{dt})^2+(\frac{dz}{dt})^2},可以简化记作ds=\sqrt{x_t^2+y_t^2+z_t^2}dt,由此原来的曲线积分可以转化为与t相关:

I=\int_{t_m}^{t_M}f[x(t),y(t),z(t)]\sqrt{x_t^2+y_t^2+z_t^2}dt

例题4

求解\int_l\frac{z^2}{x^2+y^2}ds。其中l为为螺线x=acost,y=asint,z=at,(0\leq t\leq 2\pi,a>0)

解:

MATLAB代码:

clc;clear;
syms t; 
syms a positive; 
x=a*cos(t); y=a*sin(t); z=a*t;
I=int(z^2/(x^2+y^2)*sqrt(diff(x,t)^2+diff(y,t)^2+ diff(z,t)^2),t,0,2*pi);
pretty(I)

运行结果: 

数学形式结果:\frac{8}{3}\sqrt{2}\pi^3a

例题5

\int_l(x^2+y^2)ds,其中l曲线为y=xy=x^2的交线。

解:

MATLAB代码:

clc;clear;
X=0:.001:1.2; 
Y1=X; 
Y2=X.^2;
%绘图
plot(X,Y1,X,Y2) %观察图形决定积分的正负

syms x; 
y1=x; 
y2=x^2; 
I1=int((x^2+y2^2)*sqrt(1+diff(y2,x)^2),x,0,1);
I2=int((x^2+y1^2)*sqrt(1+diff(y1,x)^2),x,1,0); 
%注意I1和I2的积分自变量顺序
I=I2+I1

运行结果:

I =(349*5^(1/2))/768 - (2*2^(1/2))/3 - (7*log(5^(1/2) + 2))/512

三. 第二类积分:对坐标的曲线积分

第二类积分起源于变力f(x,y,z)沿曲线l移动时做功的研究,如下:

I=\int_l\overrightarrow{f}(x,y,z)d\overrightarrow{s}

向量\overrightarrow{f}(x,y,z)=[P(x,y,z),Q(x,y,z),R(x,y,z)]

向量d\overrightarrow{s}也为向量,利用参数方程可以表示此曲线:

d\overrightarrow{s}=[\frac{dx}{dt},\frac{dy}{dt},\frac{dz}{dt}]^Tdt

到此,利用此两个向量的点乘可以求解此类积分。

例题6

求曲线积分\int_l\frac{x+y}{x^2+y^2}dx-\frac{x-y}{x^2+y^2}dy,其中l正向为圆周x^2+y^2=a^2

解:

MATLAB积分:

clc;clear;
syms t; 
syms a positive; 
x=a*cos(t); y=a*sin(t);
F=[(x+y)/(x^2+y^2),-(x-y)/(x^2+y^2)]; 
ds=[diff(x,t);diff(y,t)];
I=int(F*ds,t,2*pi,0)  % 正向圆周 

运行结果:I =2*pi 

例题7

计算\int_l(x^2-2xy)dx+(y^2-2xy)dy,其中l为抛物线y=x^2(-1\leq x\leq1)

解:

MATLAB代码:

clc;clear;
syms x; 
y=x^2; 
F=[x^2-2*x*y,y^2-2*x*y]; 
ds=[1; diff(y,x)];
I=int(F*ds,x,-1,1)

运行结果:I =-14/15 

  • 12
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值