vpaintegral
使用可变精度的数值积分
描述
例子
数字整合符号表达
对符号表达式进行数值积分x ^ 2
从1
来2
.
Syms x vpainintegral (x^2, 1,2)
ans = 2.33333
符号函数的数值积分
对符号函数进行数值积分y (x) =x2从1
来2
.
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
,通过条件影响积分
数值积分besselj (0, x)
从0
来π
,设置为32位有效数字RelTol
来10 ^ (-32)
.关掉AbsTol
通过将其设置为0
.
syms x vpainintegral (besselj(0,x), [0 pi], 'RelTol', 1e-32, 'AbsTol', 0)
ans = 1.3475263146739901712314731279612
使用较低的公差值以降低速度为代价提高精度。
使用路径点的复杂路径集成
集成1 / (2 * z 1)
穿过三角形的小路0
来1 + 1我
来1-1i
回0
通过指定路径点。
syms z vpainintegral (1/(2*z-1), [0 0], 'Waypoints', [1+1i 1-1i])
Ans = - 8.67362e-19 - 3.14159i
反转积分的方向,通过改变路径点的顺序和交换极限,改变结果的符号。
多重积分
通过嵌套调用来执行多个集成vpaintegral
.集成
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
输入参数
版本历史
介绍了R2016b