主要内容

vpaintegral

使用可变精度的数值积分

描述

例子

vpaintegral (fa、b数值接近f一个b.默认的变量xf是发现的symvar

vpaintegral (f [b])等于vpaintegral (f, a, b)

例子

vpaintegral (fxa、b使用积分变量执行数值积分x

例子

vpaintegral (___名称,值使用一个或多个指定的其他选项名称,值对参数。

例子

数字整合符号表达

对符号表达式进行数值积分x ^ 212

Syms x vpainintegral (x^2, 1,2)
ans = 2.33333

符号函数的数值积分

对符号函数进行数值积分y (x) =x212

Syms y(x) y(x) = x^2;vpaintegral (y, 1、2)
ans = 2.33333

高精度数值积分

vpaintegral采用变精度算法,而MATLAB®积分函数使用双精度算术。使用默认的公差值,vpaintegral可以处理的值,导致MATLAB积分函数溢出或下溢。

集成besseli(5、25 * u)。* exp (- u * 25)通过使用两个积分而且vpaintegral.的积分函数返回并发出警告vpaintegral返回正确的结果。

Syms u x f = besseli(5,25*x).*exp(-x*25);有趣= @ (u) besseli(5、25 * u)。* exp (- u * 25);usingIntegral = integral(fun, 0,30) usingvpainintegral = vpaintegral(f, 0,30)
警告:遇到无限或非数字值。usingIntegral = NaN usingvpainintegral = 0.688424

使用公差提高精度

数字功能不影响vpaintegral.相反,增加的精度vpainteral通过降低积分公差。相反,通过增加公差来提高数值积分的速度。控制所使用的公差vpaintegral通过改变相对公差RelTol和绝对宽容AbsTol,通过条件影响积分

| | 马克斯 一个 b 年代 T o l | | · R e l T o l 在哪里 计算积分 准确的积分

数值积分besselj (0, x)0π,设置为32位有效数字RelTol10 ^ (-32).关掉AbsTol通过将其设置为0

syms x vpainintegral (besselj(0,x), [0 pi], 'RelTol', 1e-32, 'AbsTol', 0)
ans = 1.3475263146739901712314731279612

使用较低的公差值以降低速度为代价提高精度。

使用路径点的复杂路径集成

集成1 / (2 * z 1)穿过三角形的小路01 + 1我1-1i0通过指定路径点。

syms z vpainintegral (1/(2*z-1), [0 0], 'Waypoints', [1+1i 1-1i])
Ans = - 8.67362e-19 - 3.14159i

反转积分的方向,通过改变路径点的顺序和交换极限,改变结果的符号。

多重积分

通过嵌套调用来执行多个集成vpaintegral.集成

1 2 1 3. x y d x d y

Syms x y vpaintegral(vpaintegral(x*y, x, [1 3]), y, [-1 2])
ans = 6.0

集成的极限可以是符号表达式或函数。对三角形区域积分0≤x≤1而且| y | < x通过指定积分的极限y而言,x

vpaintegral (vpaintegral (sin (x - y) / (x - y), y, [x - x]), x, [0 1])
ans = 0.89734

输入参数

全部折叠

要积分的表达式或函数,指定为符号数、变量、向量、矩阵、多维数组、函数或表达式。

积分的极限,指定为两个数字、符号数、符号变量、符号函数或符号表达式的列表。

积分变量,指定为符号变量。如果x未指定时,积分变量由symvar

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:e-20 RelTol, 1

相对容错,指定为正实数。默认值是1 e-6.的RelTol参数决定了积分的准确性只有当 R e l T o l · | | > 一个 b 年代 T o l ,在那里是计算的积分。在这种情况下,vpaintegral满足条件 | | R e l T o l · | | ,在那里是精确的整数值。只使用RelTol和关闭AbsTol,设置AbsTol0

例子:1 e-8

绝对容错,指定为非负实数。默认值是1平台以及AbsTol决定了积分的准确性 一个 b 年代 T o l > R e l T o l · | | ,在那里是计算的积分。在这种情况下,vpaintegral满足条件 | | 一个 b 年代 T o l ,在那里是精确的整数值。关掉AbsTol和只使用RelTol,设置AbsTol0

例子:1 e-12

积分路径,指定为数字向量,或符号数字、表达式或函数的向量。vpaintegral沿着直线路径序列进行积分(下限到第一个路径点,从第一个路径点到第二个路径点,以此类推),最后从最后一个路径点到上限。对于轮廓积分,设置相等的上下限,并用路径点定义轮廓。

输入的最大求值,指定为正整数或正符号整数。默认值为10 ^ 5.的计算次数f大于MaxFunctionCalls,然后vpaintegral抛出一个错误。对于无限的计算,设置MaxFunctionCalls

提示

  • 确保输入是可积的。如果输入不可积,则输出vpaintegral是不可预测的。

  • 数字功能不影响vpaintegral.要提高精度,请使用RelTol而且AbsTol参数。

版本历史

介绍了R2016b

另请参阅

|||

主题

Baidu
map