📅  最后修改于: 2020-11-05 04:37:44             🧑  作者: Mango
特殊软件包中提供的功能是通用功能,该功能遵循广播和自动阵列循环。
让我们看一些最常用的特殊功能-
现在让我们简要地了解每个功能。
此三次根函数的语法为– 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)。也称为Lambert W函数。兰伯特W函数W(z)定义为w * exp(w)的反函数。换句话说,对于任何复数z,W(z)的值使得z = W(z)* exp(W(z))。
Lambert W函数是具有无限多个分支的多值函数。每个分支给出方程z = w exp(w)的单独解决方案。在这里,分支由整数k索引。
让我们考虑以下示例。此处,Lambert 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
注–仅在精确= 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
对于自然数“ n”,因为z * gamma(z)= gamma(z + 1)和gamma(n + 1)= 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.]