目录
一. 三重定积分的数值求解
例题1
例题2
例题3
二. 第一类曲线积分:对弧长的曲线积分
例题4
例题5
三. 第二类积分:对坐标的曲线积分
例题6
例题7
一. 三重定积分的数值求解
三重定积分的数学表达形式为:
在MATLAB中调用的格式为如下:
在调用时,最后一个@quadl为具体求解一元积分的数值函数,当然也可以修改为@quad或者自己编写的函数,只要调用格式同上式子就行。与求解的精度相关。
例题1
计算三重积分
解:
MATLAB代码:文章来源:https://www.toymoban.com/news/detail-420264.html
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代码中使用到匿名函数
解:
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
求函数在区域的积分。其中参数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),则其总质量可以利用积分求解如下:
积分中s为曲线上某点的弧长,所以第一类积分又称之为对弧长的曲线积分。
在数学中,弧长积分可以表示为,可以简化记作,由此原来的曲线积分可以转化为与t相关:
例题4
求解。其中l为为螺线。
解:
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)
运行结果:
数学形式结果:。
例题5
求,其中l曲线为和的交线。
解:
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移动时做功的研究,如下:
向量
向量也为向量,利用参数方程可以表示此曲线:
到此,利用此两个向量的点乘可以求解此类积分。
例题6
求曲线积分,其中l正向为圆周。
解:
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
计算,其中l为抛物线。
解:
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 文章来源地址https://www.toymoban.com/news/detail-420264.html
到了这里,关于基于MATLAB的三重积分与曲线积分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!