vpaintegral
使用变量精度的数值集成
Description
Examples
数值整合符号表达式
数值集成the symbolic expressionX^2
From1
至2
。
syms x vpaintegral(x^2, 1, 2)
ANS = 2.33333
数值整合符号函数
数值整合符号函数y(X)=X2From1
至2
。
syms y(x) y(x) = x^2; vpaintegral(y, 1, 2)
ANS = 2.33333
High-Precision Numerical Integration
vpaintegral
uses variable-precision arithmetic while the MATLAB®不可缺少的
功能使用双精度算术。使用公差的默认值,vpaintegral
可以处理导致MATLAB的值不可缺少的
功能以溢出或底流量。
整合贝塞利(5,25*u)。*exp(-u*25)
通过两者使用不可缺少的
一个ndvpaintegral
。这不可缺少的
功能返回南
一个nd issues a warning whilevpaintegral
返回正确的结果。
syms u x f = besseli(5,25*x)。*exp(-x*25);fun = @(u)besseli(5,25*u)。*exp(-u*25);使用integral = integral(fun,0,30)使用vpaintegral = vpaintegral(f,0,30)
Warning: Infinite or Not-a-Number value encountered. usingIntegral = NaN usingVpaintegral = 0.688424
使用公差提高精度
这数字
Function does not affectvpaintegral
。相反,提高精度VPA在teral
通过降低集成公差。相反,通过增加公差来提高数值整合的速度。控制使用的公差vpaintegral
通过改变相对容忍度reltol
一个nd absolute toleranceAbstol
,通过条件影响整合
数值集成besselj(0,x)
From0
至pi
,,,,至32significant figures by settingreltol
至10^(-32)
。关掉Abstol
通过将其设置为0
。
syms x vpaintegral(besselj(0,x), [0 pi], 'RelTol', 1e-32, 'AbsTol', 0)
一个ns = 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])
一个ns = - 8.67362e-19 - 3.14159i
reversing the direction of the integral, by changing the order of the waypoints and exchanging the limits, changes the sign of the result.
多个积分
通过嵌套调用来执行多个集成vpaintegral
。整合
Syms X Y Vpaintegral(vpaintegral(x*y,x,[1 3]),y,[-1 2])
一个ns = 6.0
集成的限制可以是符号表达式或函数。整合三角形区域0≤X≤1一个nd| y |y
按照X
。
vpaintegral(vpaintegral(sin(x-y)/(x-y),y,[-x x]),x,[0 1])
一个ns = 0.89734