unique_roots#
- scipy.signal.unique_roots(p, tol=0.001, rtype='min')[Quelle]#
Bestimmt eindeutige Wurzeln und ihre Vielfachheiten aus einer Liste von Wurzeln.
- Parameter:
- parray_like
Die Liste der Wurzeln.
- tolfloat, optional
Die Toleranz dafür, dass zwei Wurzeln als gleich betrachtet werden, gemessen an ihrem Abstand. Standardwert ist 1e-3. Details zur Gruppierung von Wurzeln finden Sie in den Hinweisen.
- rtype{‘max’, ‘maximum’, ‘min’, ‘minimum’, ‘avg’, ‘mean’}, optional
Wie die zurückzugebende Wurzel bestimmt wird, wenn mehrere Wurzeln innerhalb von tol voneinander liegen.
‘max’, ‘maximum’: wählt das Maximum dieser Wurzeln aus
‘min’, ‘minimum’: wählt das Minimum dieser Wurzeln aus
‘avg’, ‘mean’: nimmt den Durchschnitt dieser Wurzeln
Beim Ermitteln des Minimums oder Maximums unter komplexen Wurzeln werden diese zuerst nach dem Realteil und dann nach dem Imaginärteil verglichen.
- Rückgabe:
- uniquendarray
Die Liste der eindeutigen Wurzeln.
- multiplicityndarray
Die Vielfachheit jeder Wurzel.
Hinweise
Wenn wir 3 Wurzeln
a,bundchaben, so dassanahe beibundbnahe beicliegt (Abstand kleiner als tol), dann bedeutet dies nicht unbedingt, dassanahe beicliegt. Es bedeutet, dass die Gruppierung der Wurzeln nicht eindeutig ist. In dieser Funktion verwenden wir eine "gierige" Gruppierung, die die Wurzeln in der Reihenfolge durchläuft, in der sie in der Eingabe p gegeben sind.Diese Hilfsfunktion ist nicht spezifisch für Wurzeln, kann aber für jede Sequenz von Werten verwendet werden, für die Eindeutigkeit und Vielfachheit bestimmt werden muss. Für eine allgemeinere Routine siehe
numpy.unique.Beispiele
>>> 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')
Prüft, welche Wurzeln eine Vielfachheit größer als 1 haben
>>> uniq[mult > 1] array([ 1.305])