17.6特殊函数

 
a = airy (z)
a = airy (k, z)
a = airy (k, z, scale)
[a, ierr] = airy (…)

计算第一类和第二类艾里函数及其导数。

 K   Function   Scale factor (if scale is true)
---  --------   ---------------------------------------
 0   Ai (Z)     exp ((2/3) * Z * sqrt (Z))
 1   dAi(Z)/dZ  exp ((2/3) * Z * sqrt (Z))
 2   Bi (Z)     exp (-abs (real ((2/3) * Z * sqrt (Z))))
 3   dBi(Z)/dZ  exp (-abs (real ((2/3) * Z * sqrt (Z))))

函数调用airy (z)相当于airy (0, z).

可选的第三个输入scale确定是否应用如上所述的缩放。默认情况下为false。

结果a大小与相同z.

可选输出ierr包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 输入错误,返回NaN.
  3. 溢流、回流Inf.
  4. 因为自变量减少而失去显著性,导致机器精度不到一半。
  5. 因为自变量减少而失去显著性,输出可能不准确。
  6. 错误--没有计算,不满足算法终止条件,返回NaN.
 
J = besselj (alpha, x)
J = besselj (alpha, x, opt)
[J, ierr] = besselj (…)

计算第一类贝塞尔函数。

贝塞尔函数的阶alpha必须是实数的。积分预测x可能很复数。

如果可选参数opt为1或true,则结果Ji乘以exp (-abs (imag (x))) .

如果alpha是标量,结果大小与x如果x是标量,结果大小与alpha如果alpha是一个向量,并且x是列向量,结果是一个矩阵length (x)行和length (alpha)柱。否则alphax必须符合,结果将是相同的大小。

如果被指定,ierr包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 输入错误,返回NaN.
  3. 溢流、回流Inf.
  4. 因为自变量减少而失去显著性,导致机器精度不到一半。
  5. 因为自变量减少而失去显著性,输出可能不准确。
  6. 错误--没有计算,不满足算法终止条件,返回NaN.

详见: bessely,besseli,besselk,besselh.

 
Y = bessely (alpha, x)
Y = bessely (alpha, x, opt)
[Y, ierr] = bessely (…)

计算第二类贝塞尔函数。

贝塞尔函数的阶alpha必须是实数的。积分预测x可能很复数。

如果可选参数opt为1或true,则结果Yi乘以exp (-abs (imag (x))) .

如果alpha是标量,结果大小与x如果x是标量,结果大小与alpha如果alpha是一个向量,并且x是列向量,结果是一个矩阵length (x)行和length (alpha)柱。否则alphax必须符合,结果将是相同的大小。

如果被指定,ierr包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 输入错误,返回NaN.
  3. 溢流、回流Inf.
  4. 因为自变量减少而失去显著性,导致机器精度不到一半。
  5. 因为自变量减少、返回而完全失去意义NaN.
  6. 错误--没有计算,不满足算法终止条件,返回NaN.

详见: besselj,besseli,besselk,besselh.

 
I = besseli (alpha, x)
I = besseli (alpha, x, opt)
[I, ierr] = besseli (…)

计算第一类修正贝塞尔函数。

贝塞尔函数的阶alpha必须是实数的。积分预测x可能很复数。

如果可选参数opt为1或true,则结果Ii乘以exp (-abs (real (x))) .

如果alpha是标量,结果大小与x如果x是标量,结果大小与alpha如果alpha是一个向量,并且x是列向量,结果是一个矩阵length (x)行和length (alpha)柱。否则alphax必须符合,结果将是相同的大小。

如果被指定,ierr包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 输入错误,返回NaN.
  3. 溢流、回流Inf.
  4. 因为自变量减少而失去显著性,导致机器精度不到一半。
  5. 因为自变量减少、返回而完全失去意义NaN.
  6. 错误--没有计算,不满足算法终止条件,返回NaN.

详见: besselk,besselj,bessely,besselh.

 
K = besselk (alpha, x)
K = besselk (alpha, x, opt)
[K, ierr] = besselk (…)

计算第二类修正贝塞尔函数。

贝塞尔函数的阶alpha必须是实数的。积分预测x可能很复数。

如果可选参数opt为1或true,则结果Ki乘以exp (x) .

如果alpha是标量,结果大小与x如果x是标量,结果大小与alpha如果alpha是一个向量,并且x是列向量,结果是一个矩阵length (x)行和length (alpha)柱。否则alphax必须符合,结果将是相同的大小。

如果被指定,ierr包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 输入错误,返回NaN.
  3. 溢流、回流Inf.
  4. 因为自变量减少而失去显著性,导致机器精度不到一半。
  5. 因为自变量减少、返回而完全失去意义NaN.
  6. 错误--没有计算,不满足算法终止条件,返回NaN.

详见: besseli,besselj,bessely,besselh.

 
H = besselh (alpha, x)
H = besselh (alpha, k, x)
H = besselh (alpha, k, x, opt)
[H, ierr] = besselh (…)

计算第三类贝塞尔函数(Hankel函数)。

贝塞尔函数的阶alpha必须是实数的。Hankel函数的类型从指定k并且可以是第一个(k=1)或秒(k2.默认为第一种Hankel函数。评估要点x可能很复数。

如果可选参数opt为1或true,则结果乘以exp (-I*x)对于k=1或exp (I*x)对于k2.

如果alpha是标量,结果大小与x如果x是标量,结果大小与alpha如果alpha是一个向量,并且x是列向量,结果是一个矩阵length (x)行和length (alpha)柱。否则alphax必须符合,结果将是相同的大小。

如果被指定,ierr包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 输入错误,返回NaN.
  3. 溢流、回流Inf.
  4. 因为自变量减少而失去显著性,导致机器精度不到一半。
  5. 因为自变量减少、返回而完全失去意义NaN.
  6. 错误--没有计算,不满足算法终止条件,返回NaN.

详见: besselj,bessely,besseli,besselk.

 
y = beta (a, b)

计算实际输入的贝塔函数ab.

Beta函数的定义是

beta (a, b) = gamma (a) * gamma (b) / gamma (a + b).

Beta函数可能会变得很大,使用输出的对数通常比直接使用函数更有用。详见betaln,用于以有效的方式计算Betafunction的对数。

详见: betaln,betainc,betaincinv.

 
I = betainc (x, a, b)
I = betainc (x, a, b, tail)

计算不完全贝塔函数。

这被定义为

                          x
                         /
                 1       |
I_x (a, b) = ----------  | t^(a-1) (1-t)^(b-1) dt
             beta (a,b)  |
                         /
                        0

与实数x在[0,1]的范围内。输入ab必须是实数的且严格正的(>0)。如果其中一个输入不是标量,那么其他输入必须是标量或具有兼容维度。

默认情况下,tail"lower"和从0到积分的不完全贝塔函数x计算。如果tail"upper"则互补函数从x计算为1。这两个选择的关系如下

β(x,a,b,"upper")=1-β(x,a,b,"lower").

betainc"lower"值很小。

Reference: A. Cuyt, V. Brevik Petersen, B. Verdonk, H. Waadeland, W.B. Jones, Handbook of Continued Fractions for Special Functions, ch. 18.

详见: beta,betaincinv,betaln.

 
x = betaincinv (y, a, b)
x = betaincinv (y, a, b, "lower")
x = betaincinv (y, a, b, "upper")

计算归一化不完全贝塔函数的逆。

归一化不完全贝塔函数定义为

                          x
                         /
                 1       |
I_x (a, b) = ----------  | t^(a-1) (1-t)^(b-1) dt
             beta (a,b)  |
                         /
                        0

如果两个输入是标量,那么betaincinv (y, a, b)对于其他输入中的每一个返回。

如果两个或多个输入不是标量,则它们的大小必须一致,并且betaincinv按元素应用。

变量y必须在区间[0,1]内,而ab必须是实数的,严格意义上是正的。

默认情况下,tail"lower"以及从0到积分的不完全贝塔函数的逆x计算。如果tail"upper"则互补函数从x到1被反转。

该函数通过标准牛顿法计算,通过求解

y - betainc (x, a, b) = 0

详见: betainc,beta,betaln.

 
lnb = betaln (a, b)

计算实际输入的贝塔函数的自然对数ab.

betaln定义为

betaln (a, b) = log (beta (a, b))

并且以减少下溢的发生的方式进行计算。

Beta函数可能会变得很大,使用输出的对数通常比直接使用函数更有用。

详见: beta,betainc,betaincinv,gammaln.

 
b = bincoeff (n, k)

返回的二项式系数nk.

二项式系数定义为

 /   \
 | n |    n (n-1) (n-2) ... (n-k+1)
 |   |  = -------------------------
 | k |               k!
 \   /

例如

bincoeff (5, 2)
   ⇒    10

在大多数情况下nchoosek函数对于小标量整数参数更快。它还警告说,这些参数会失去准确性。

详见: nchoosek.

 
k = commutation_matrix (m, n)

返回唯一的换向矩阵K(m,n)m*nxm*n矩阵,使得K(m,n)*vec(A)=vec(A')为所有的m通过n矩阵A..

如果只有一个参数m给出,K(m,m)返回。

详见 Magnus and Neudecker, Matrix Differential Calculus with Applications in Statistics and Econometrics, 1988.

 
y = cosint (x)

计算余弦积分函数:

            +oo
           /
Ci (x) = - | (cos (t)) / t dt
           /
          x

等效的定义是

                             x
                            /
                            |  cos (t) - 1
Ci (x) = gamma + log (x) +  | -------------  dt
                            |        t
                            /
                           0

参考

M.Abramowitz和I.A.Stegun,Handbook of Mathematical Functions, 1964.

详见: sinint,expint,cos.

 
d = duplication_matrix (n)

返回重复矩阵Dn哪一个是独一无二的N^2通过N*(N+1)/2矩阵,使得Dn * vech (A) = vec (A)对于所有对称N通过N矩阵A..

详见 Magnus and Neudecker, Matrix Differential Calculus with Applications in Statistics and Econometrics, 1988.

 
v = dawson (z)

计算Dawson(缩放虚差)函数。

Dawson函数定义为

(sqrt (pi) / 2) * exp (-z^2) * erfi (z)

详见: erfc,erf,erfcx,erfi,erfinv,erfcinv.

 
[sn, cn, dn, err] = ellipj (u, m)
[sn, cn, dn, err] = ellipj (u, m, tol)

计算Jacobi椭圆函数sn,cndn复数参数u和实参数m.

如果m是标量,结果大小与u如果u是标量,结果大小与m如果u是列向量,并且m是一个行向量,结果是矩阵length (u)行和length (m)柱。否则um大小必须一致,结果将与输入大小相同。

的值u可能很复数。的值m必须为0≤m≤ 1.

可选输入tol当前被忽略(MATLAB使用这里的来允许更快、更不精确的近似)。

如果被指定,err包含以下状态信息,大小与结果相同。

  1. 正常返回。
  2. 错误--没有计算,不满足算法终止条件,返回NaN.

参考文献:Milton Abramowitz和Irene A Stegun,Handbook of Mathematical Functions,第16章(第16.4、16.13和16.15节),多佛,1965年。

详见: ellipke.

 
k = ellipke (m)
k = ellipke (m, tol)
[k, e] = ellipke (…)

计算第一个K的完全椭圆积分(m)和第二个E(m友善的

m必须是标量或实数数组,其中-Inf≤m≤ 1.

可选输入tol控制算法的停止误差,并默认为eps (class (m))可以增加误差范围以计算更快、更不精确的近似值。

当用一个输出调用时,只返回第一类椭圆积分。

数学注释:

第一类椭圆积分定义为

         1
        /               dt
K (m) = | ------------------------------
        / sqrt ((1 - t^2)*(1 - m*t^2))
       0

第二类椭圆积分定义为

         1
        /  sqrt (1 - m*t^2)
E (m) = |  ------------------ dt
        /  sqrt (1 - t^2)
       0

参考文献:Milton Abramowitz和Irene A.Stegun,Handbook of Mathematical Functions,第17章,多佛,1965年。

详见: ellipj.

 
v = erf (z)

计算误差函数。

错误函数定义为

                        z
              2        /
erf (z) = --------- *  | e^(-t^2) dt
          sqrt (pi)    /
                    t=0

详见: erfc,erfcx,erfi,dawson,erfinv,erfcinv.

 
v = erfc (z)

计算互补误差函数。

互补误差函数定义为1 - erf (z) .

详见: erfcinv,erfcx,erfi,dawson,erf,erfinv.

 
v = erfcx (z)

计算缩放的互补误差函数。

缩放互补误差函数定义为

exp (z^2) * erfc (z)

详见: erfc,erf,erfi,dawson,erfinv,erfcinv.

 
v = erfi (z)

计算虚误差函数。

虚误差函数定义为

-i * erf (i*z)

详见: erfc,erf,erfcx,dawson,erfinv,erfcinv.

 
y = erfinv (x)

计算逆误差函数。

反向误差函数的定义使得

erf (y) == x

详见: erf,erfc,erfcx,erfi,dawson,erfcinv.

 
y = erfcinv (x)

计算逆互补误差函数。

定义反向互补误差函数,使得

erfc (y) == x

详见: erfc,erf,erfcx,erfi,dawson,erfinv.

 
y = expint (x)

计算指数积分。

指数积分定义为:

           +oo
          /
          | exp (-t)
E_1 (x) = | -------- dt
          |    t
          /
         x

注意:为了兼容性,此函数使用MATLAB指数积分的定义。大多数其他来源将此特殊值称为E_1(x),以及指数积分为

            +oo
           /
           | exp (-t)
Ei (x) = - | -------- dt
           |    t
           /
         -x

这两个定义是相关的,对于的正实数x通过E_1 (-x) = -Ei (x) - i*pi .

参考文献:

M.Abramowitz和I.A.Stegun,Handbook of Mathematical Functions, 1964.

N.Bleistein和R.A.Handelsman,Asymptotic expansions of integrals, 1986.

详见: cosint,sinint,exp.

 
v = gamma (z)

计算Gamma函数。

Gamma函数定义为

             infinity
            /
gamma (z) = | t^(z-1) exp (-t) dt.
            /
         t=0

编程注意事项:即使输入值很小,gamma函数也会增长得很大。在许多情况下,最好使用伽玛函数的自然对数(gammaln)以将精度损失降至最低。最终结果是exp (result_using_gammaln).

详见: gammainc,gammaln,factorial.

 
y = gammainc (x, a)
y = gammainc (x, a, tail)

计算归一化的不完全伽玛函数。

这被定义为

                                x
                       1       /
gammainc (x, a) = ---------    | exp (-t) t^(a-1) dt
                  gamma (a)    /
                            t=0

极限值1为x接近无穷大。标准符号为P(a,x)例如,Abramowitz和Stegun(6.5.1)。

如果a是标量,则gammainc (x, a)为的每个元素返回x反之亦然。

如果两者都没有x也没有a是标量,那么的大小xa必须同意,以及gammainc按元素应用。的元素a必须是非负数。

默认情况下,tail"lower"和从0到积分的不完全伽玛函数x计算。如果tail"upper"则互补函数从x计算到无穷大。

如果tail"scaledlower",则下不完全gamf函数乘以gamma(a+1)*exp(x)/(x^a)如果tail"scaledupper",则上不完全gamma函数乘以相同的量。

参考文献:

M.Abramowitz和I.A.Stegun,Handbook of mathematical functions,多佛出版社,股份有限公司,1972年。

W. Gautschi, "A computational procedure for incomplete gamma functions", ACM Trans. Math Software, Vol. 5, No. 4, pp. 466–481, 2012.

W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numerical Recipes in Fortran 77, Vol. 1, ch. 6.2, 1992.

详见: gamma,gammaincinv,gammaln.

 
x = gammaincinv (y, a)
x = gammaincinv (y, a, tail)

计算归一化不完全伽玛函数的逆。

归一化不完全伽玛函数定义为

                                x
                       1       /
gammainc (x, a) = ---------    | exp (-t) t^(a-1) dt
                  gamma (a)    /
                            t=0

gammaincinv(gammainc (x, a),a) =x的每个非负值x如果a是标量,则gammaincinv (y, a)为的每个元素返回y反之亦然。

如果两者都没有y也没有a是标量,那么的大小ya必须同意,以及gammaincinv按元素应用。变量y必须在间隔中[0,1]虽然a必须是实数和正的。

默认情况下,tail"lower"和从0到积分的不完备伽马函数的逆x计算。如果tail"upper",则互补函数集成自xtoinfinity反转。

函数是用牛顿法通过求解

y - gammainc (x, a) = 0

Reference: A. Gil, J. Segura, and N. M. Temme, "Efficient and accurate algorithms for the computation and inversion of the incomplete gamma function ratios", SIAM J. Sci. Computing, Vol. 34, pp. A2965–A2981, 2012.

详见: gammainc,gamma,gammaln.

 
l = legendre (n, x)
l = legendre (n, x, normalization)

计算相关的勒让德度函数n和秩序m= 0 …n.

n必须是实的非负整数。

x是实值元素在[-1,1]范围内的向量。

可选参数normalization可能是其中之一"unnorm","sch""norm"。如果没有规范化,则默认为givenis"unnorm".

当可选参数normalization"unnorm",计算相关的勒让德度函数n和秩序mandrew返回的所有值m= 0 …n。返回值的一维数超过x.

度的相关勒让德函数n和秩序m:

 m         m      2  m/2   d^m
P(x) = (-1) * (1-x  )    * ----  P(x)
 n                         dx^m   n

具有勒让德次数多项式n:

          1    d^n   2    n
P(x) = ------ [----(x - 1) ]
 n     2^n n!  dx^n

legendre (3, [-1.0, -0.9, -0.8])返回矩阵:

 x  |   -1.0   |   -0.9   |   -0.8
------------------------------------
m=0 | -1.00000 | -0.47250 | -0.08000
m=1 |  0.00000 | -1.99420 | -1.98000
m=2 |  0.00000 | -2.56500 | -4.32000
m=3 |  0.00000 | -1.24229 | -3.24000

当可选参数normalization"sch",计算了Schmidt半归一化关联勒让德函数。Schmidtsemi规范化的相关Legendre函数与未规范化的Legendre函数的关系如下:

对于勒让德度函数n和顺序0:

  0      0
SP(x) = P(x)
  n      n

对于n阶和m阶的勒让德函数:

  m      m         m    2(n-m)! 0.5
SP(x) = P(x) * (-1)  * [-------]
  n      n              (n+m)!

当可选参数normalization"norm",计算了完全归一化的相关勒让德函数。完全规范化的关联Legendre函数通过以下方式与未规范化的相关Legendre函数相关:

对于勒让德度函数n和秩序m

  m      m         m    (n+0.5)(n-m)! 0.5
NP(x) = P(x) * (-1)  * [-------------]
  n      n                  (n+m)!
 
y = gammaln (x)
y = lgamma (x)

返回的gamma函数的自然对数x.

编程说明:lgamma是的别名gammaln并且任一名称都可以在Octave中使用。

详见: gamma,gammainc.

 
y = psi (z)
y = psi (k, z)

计算psi(polygamma)函数。

polygamma函数是kγ函数对数的第th导数。如果未指定,k默认为零。值为0计算digamma函数,值为1计算trigamma函数,依此类推。

digamma函数定义如下:

psi (z) = d (log (gamma (z))) / dx

计算digamma函数时(当k等于零),z可以具有任何实际值或复数值。然而,对于polygamma函数(k高于0),z必须是实数的和非负面的。

详见: gamma,gammainc,gammaln.

 
y = sinint (x)

计算正弦积分函数:

           x
          /
Si (x) =  | sin (t) / t dt
          /
         0

参考文献:M.Abramowitz和I.A.Stegun,Handbook of Mathematical Functions, 1964.

详见: cosint,expint,sin.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2