MATLAB 数值积分

integral

求数值积分。


语法


q = integral(fun,xmin,xmax)
q = integral(fun,xmin,xmax,Name,Value)

描述

表达式 描述
q = integral(fun,xmin,xmax)  对函数funxmin(最小)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

评论/回复

电子邮件地址不会被公开。 必填项已用*标注