📜  MATLAB 中的双积分

📅  最后修改于: 2022-05-13 01:54:34.697000             🧑  作者: Mango

MATLAB 中的双积分

定义在平面区域上的非负函数f(x, y) 的二重积分告诉我们图下区域的体积。两个变量的函数f(x, y) 在区域 R 上的二重积分可以表示如下:

\int \int_{R}^{} f(x,y)dA = \int \int_{R}^{} f(x,y)dx dy

MATLAB 允许用户使用integral2() 方法计算函数的二重积分。 integer2() 方法的不同语法是:

  • F = 积分2(乐趣,xmin,xmax,ymin,ymax)
  • F = 积分2(乐趣,xmin,xmax,ymin,ymax,名称,值)

句法:

integral2(fun,xmin,xmax,ymin,ymax)

该函数近似于任何函数f = fun(x,y) 在区域 xmin ≤ x ≤ xmax 和 ymin(x) ≤ y ≤ ymax(x) 的积分

示例 1:

Matlab
% MATLAB Code to 
% Create a function in x and y
% Function : y*sin(x) + x*cos(y)
f = @(x,y) y.*sin(x)+x.*cos(y);
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x)
% over pi≤x≤2*pi and 0≤y≤pi
d = integral2(f,pi,2*pi,0,pi);
disp("Double Integral of f(x) :");
disp(d);


Matlab
% MATLAB Code to
% Create a function in x and y
% Function : y*sin(x) + x*cos(y)
f = @(x,y) y.*sin(x)+x.*cos(y);
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x)
% over pi≤x≤2*pi and 0≤y≤x
ymax = @(x) x;
d = integral2(f,pi,2*pi,0,ymax);
disp("Double Integral of f(x) :");
disp(d);


Matlab
% MATLAB Code to
% Create a function in x and y
% Function : y*sin(x) + x*cos(y)
f = @(x,y) y.*sin(x)+x.*cos(y);
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x) using Tiled Method
% over pi≤x≤2*pi and 0≤y≤pi
d = integral2(f,pi,2*pi,0,pi,'Method','Tiled');
disp("Double Integral of f(x) :");
disp(d);


Matlab
% MATLAB code for iterated 
% Create a function in x and y
% Function : x*y*e^-(x+y)
f = @(x,y) y.*x.*exp(-(x+y))
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x) using Iterated method
% over 0≤x≤Inf and 0≤y≤Inf
d = integral2(f,0,Inf,0,Inf,'Method','Iterated');
disp("Double Integral of f(x) :");
disp(d);


输出 :

示例 2:

MATLAB

% MATLAB Code to
% Create a function in x and y
% Function : y*sin(x) + x*cos(y)
f = @(x,y) y.*sin(x)+x.*cos(y);
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x)
% over pi≤x≤2*pi and 0≤y≤x
ymax = @(x) x;
d = integral2(f,pi,2*pi,0,ymax);
disp("Double Integral of f(x) :");
disp(d);

输出 :

句法:

F = integral2(fun,xmin,xmax,ymin,ymax,Name,Value) 

它指定带有一个或多个名称、值对参数的附加选项。最常用的名称是“方法”

可能的值为:

  • tiled:积分的限制必须是有限的,这种方法才能起作用。如果需要,它会将集成区域细分为更简单的矩形区域,然后将其转换为矩形形状。
  • 迭代:在此方法中,应用迭代集成。当函数包含多个变量时,它是对先前积分的结果进行重复积分的过程。在函数中。在这种方法中,积分限制可以是无限的。
  • auto: 'auto' 方法用作默认值。它根据选择的限制选择平铺或迭代。如果限制是无限的,那么它选择“迭代”,否则它使用“平铺”方法进行计算。

示例 3:

MATLAB

% MATLAB Code to
% Create a function in x and y
% Function : y*sin(x) + x*cos(y)
f = @(x,y) y.*sin(x)+x.*cos(y);
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x) using Tiled Method
% over pi≤x≤2*pi and 0≤y≤pi
d = integral2(f,pi,2*pi,0,pi,'Method','Tiled');
disp("Double Integral of f(x) :");
disp(d);

输出 :

示例 4:

MATLAB

% MATLAB code for iterated 
% Create a function in x and y
% Function : x*y*e^-(x+y)
f = @(x,y) y.*x.*exp(-(x+y))
disp("f(x,y) :");
disp(f);
  
% Double Integral of f(x) using Iterated method
% over 0≤x≤Inf and 0≤y≤Inf
d = integral2(f,0,Inf,0,Inf,'Method','Iterated');
disp("Double Integral of f(x) :");
disp(d);

输出: