MATLAB 数值积分
integral
求数值积分。
语法
q = integral(fun,xmin,xmax)
q = integral(fun,xmin,xmax,Name,Value)
描述
表达式 | 描述 |
---|---|
q = integral(fun,xmin,xmax) | 对函数fun从xmin(最小)到xmax(最大)的范围求积分,使用全局自适应求积和默认错误容错。 |
q = integral(fun,xmin,xmax,Name,Value) |
指定带有一个或多个名称、值对参数的额外选项。 例如,指定“WayPoints”后面跟着实数或复数向量,以指示积分的特定点。 |
反常积分
创建函数:

fun = @(x) exp(-x.^2).*log(x).^2;
求从x=0到x=Inf的积分:
q = integral(fun,0,Inf)
% 结果
q = 1.9475
参数化函数

fun = @(x,c) 1./(x.^3-2*x-c);
求c=5从x=0到x=2的积分:
q = integral(@(x) fun(x,5),0,2)
% 结果
q = -0.4605
下限奇点
创建函数f(x)=ln(x):
fun = @(x)log(x);
在默认的误差容限下,计算从x=0到x=1的积分:
format long
q1 = integral(fun,0,1)
q1 =
-1.000000010959678
再次计算积分,这次的精度是小数点后12位。将RelTol设置为0,这样积分只尝试满足绝对误差容限。
q2 = integral(fun,0,1,'RelTol',0,'AbsTol',1e-12)
% 结果
q2 =
-1.000000000000010
对复数使用路径点围道积分
创建函数f(z)=1/(2z−1)
fun = @(z) 1./(2*z-1);
通过指定路径点,在从0到( 1+1i )到( 1-1i )再到0的三角路径的复平面上进行积分:
q = integral(fun,0,0,'Waypoints',[1+1i,1-1i])
% 结果
q = -0.0000 - 3.1416i
向量值函数
创建向量值函数f(x)=[sinx,sin2x,sin3x,sin4x,sin5x],从x=0到x=1积分。指定’ arrayvalue ‘为真,以计算数组值函数或向量值函数的积分。
fun = @(x)sin((1:5)*x);
q = integral(fun,0,1,'ArrayValued',true)
% 结果
q = 1×5
0.4597 0.7081 0.6633 0.4134 0.1433
振动函数的反常积分
创建函数:

fun = @(x)x.^5.*exp(-x).*sin(x);
求从x=0到x=Inf的积分 ,调整绝对公差和相对公差:
format long
q = integral(fun,0,Inf,'RelTol',1e-8,'AbsTol',1e-13)
% 结果
q =
-14.999999999998360

关注公众号,获取一手资讯
“ MATLAB 数值积分 ” comments 0