基于MATLAB的三重积分与曲线积分 您所在的位置:网站首页 matlab用符号方法求积分 基于MATLAB的三重积分与曲线积分

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

2024-07-11 13:44| 来源: 网络整理| 查看: 265

目录

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

例题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,a0)

解:

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 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有