SciPy特殊包装 SciPy ODR 特殊包装中可用的功能是通用功能,它遵循广播和自动数组循环。 让我们看看一些最常用的特殊功能 - 立方根函数 指数函数 相对误差指数函数 对数和指数函数 兰伯特函数 排列和组合函数 伽马函数 现在让我们简单地了解这些功能。 立方根函数 这个立方根函数的语法是 - scipy.special.cbrt(x)。这将获取 x的 基于元素的立方体根。 让我们考虑下面的例子。 from scipy.special import cbrt res = cbrt([10, 9, 0.1254, 234]) print res 上述程序将生成以下输出。 [ 2.15443469 2.08008382 0.50053277 6.16224015] 指数函数 指数函数的语法是 - scipy.special.exp10(x)。这将计算10 ** x元素明智。 让我们考虑下面的例子。 from scipy.special import exp10 res = exp10([2, 9]) print res 上述程序将生成以下输出。 [1.00000000e+02 1.00000000e+09] 相对误差指数函数 这个函数的语法是 - scipy.special.exprel(x)。它生成相对误差指数,(exp(x) - 1)/ x。 当 x 接近零时,exp(x)接近1,所以exp(x)-1的数值计算会遭受灾难性的精度损失。然后exprel(x)被实现以避免精度的损失,这在 x 接近于零时发生。 让我们考虑下面的例子。 from scipy.special import exprel res = exprel([-0.25, -0.1, 0, 0.1, 0.25]) print res 上述程序将生成以下输出。 [0.88479687 0.95162582 1. 1.05170918 1.13610167] 对数和指数函数 这个函数的语法是 - scipy.special.logsumexp(x)。它有助于计算输入元素指数总和的对数。 让我们考虑下面的例子。 from scipy.special import logsumexp import numpy as np a = np.arange(10) res = logsumexp(a) print res 上述程序将生成以下输出。 9.45862974443 兰伯特函数 这个函数的语法是 - scipy.special.lambertw(x)。它也被称为兰伯特W函数。兰伯特W函数W(z)被定义为w exp(w)的反函数。换句话说,对于任何复数z,W(z)的值都是z = W(z) exp(W(z))。 兰伯特W函数是具有无限多分支的多值函数。每个分支给出了方程z = w exp(w)的单独解。这里,分支由整数k索引。 让我们考虑下面的例子。这里,兰伯特W函数是w exp(w)的倒数。 from scipy.special import lambertw w = lambertw(1) print w print w * np.exp(w) 上述程序将生成以下输出。 (0.56714329041+0j) (1+0j) 排列和组合 让我们分开讨论排列和组合,以便清楚地理解它们。 组合 - 组合函数的语法是 - scipy.special.comb(N,k)。 让我们考虑下面的例子 - from scipy.special import comb res = comb(10, 3, exact = False,repetition=True) print res 上述程序将生成以下输出。 220.0 注 - 数组参数仅适用于exact = False大小写。 如果k> N,N <0或k <0,则返回0。 排列 - 组合函数的语法是 - scipy.special.perm(N,k)。 一次取k个N个东西的排列,即N个k个排列。这也被称为“部分排列”。 让我们考虑下面的例子。 from scipy.special import perm res = perm(10, 3, exact = True) print res 上述程序将生成以下输出。 720 伽马函数 由于z * gamma(z)= gamma(z + 1)和gamma(n + 1)= n!,所以对于自然数'n',伽马函数通常被称为广义因子。 组合函数的语法是 - scipy.special.gamma(x)。一次取k个N个东西的排列,即N个k个排列。这也被称为“部分排列”。 组合函数的语法是 - scipy.special.gamma(x)。一次取k个N个东西的排列,即N个k个排列。这也被称为“部分排列”。 from scipy.special import gamma res = gamma([0, 0.5, 1, 5]) print res 上述程序将生成以下输出。 [inf 1.77245385 1. 24.] SciPy ODR