使用可变精度的数值积分
数值整合符号表达式x ^ 2
从1
来2
.
Syms x vpaintegral(x ^ 2,1,2)
ans = 2.33333
对符号函数进行数值积分y (x) =x2从1
来2
.
ysms 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);使用vpainintegral = vpainintegral (f, 0,30)
警告:遇到无限或不值的值。使用隔膜= NaN使用Vpaintegral = 0.688424
的数字
功能不影响vpaintegral
.相反,增加的精度vpainter
通过降低集成公差。反过来,通过增加公差来增加数值积分的速度。控制所使用的公差vpaintegral
通过改变相对容忍度RELTOL.
和绝对的宽容AbsTol
,通过条件影响积分
数值积分Besselj(0,x)
从0
来PI.
,通过设置到32个重要的数字RELTOL.
来10 ^ (-32)
.关掉AbsTol
通过将它设置为0
.
Syms X vpaintegral(Besselj(0,x),[0 pi],'Reltol',1E-32,'ABStol',0)
ANS = 1.3475263146739901712314731279612
使用较低的公差值以速度为代价提高精度。
集成1 /(2 * z-1)
从三角形的路径0
来1 + 1i
来1-1I
回0
通过指定航点。
syms z vpaintegral(1 /(2 * z-1),[0 0],'waypoints',[1 + 1i 1-1i])
ANS = - 8.67362E-19 - 3.14159i
通过更改航路点的顺序并交换限制来反转积分的方向,改变结果的迹象。
通过嵌套调用来执行多个集成vpaintegral
.集成
Syms x y vpainteintegral (vpainteintegral (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.