scipy.signal.unique_roots¶
- scipy.signal.unique_roots(p, tol=0.001, rtype='min')[源代码]¶
从根列表中确定唯一根及其多重性。
- 参数
- parray_like
根列表。
- tol浮动,可选
两个根之间的距离被认为相等的容差。默认值为1e-3。有关根分组的详细信息,请参阅注释。
- rtype{‘max’,‘Maximum’,‘min’,‘Minimum’,‘Avg’,‘Mean’},可选
如果其中有多个根,如何确定返回的根 tol 彼此之间的关系。
‘max’,‘Maximum’:选取这些根中的最大值
‘min’,‘Minimum’:选取这些根中的最小值
“Avg”,“Mean”:取这些根的平均值
在复数根中求最小值或最大值时,首先按实部比较,然后按虚部比较。
- 退货
- uniquendarray
唯一根的列表。
- multiplicityndarray
每个根的多重性。
注意事项
如果我们有3个根
a
,b
和c
,以便a
接近于b
和b
接近于c
(距离小于 tol ),那么并不一定意味着a
接近于c
。这意味着根分组不是唯一的。在此函数中,我们使用“贪婪”分组,按照根在输入中给定的顺序遍历根 p 。该实用函数不特定于根,但可以用于必须确定其唯一性和多重性的任何值序列。有关更一般的例程,请参见
numpy.unique
。示例
>>> from scipy import signal >>> vals = [0, 1.3, 1.31, 2.8, 1.25, 2.2, 10.3] >>> uniq, mult = signal.unique_roots(vals, tol=2e-2, rtype='avg')
检查哪些根的重数大于1:
>>> uniq[mult > 1] array([ 1.305])