Wie man eine Python-Funktion mit bedingter Logik auf einem np.array oder einem Float zum Laufen bringtPython

Python-Programme
Anonymous
 Wie man eine Python-Funktion mit bedingter Logik auf einem np.array oder einem Float zum Laufen bringt

Post by Anonymous »

Ich habe eine Funktion, die Numpy-Arrays oder Floats als Eingabe verwenden möchte. Ich möchte eine Operation so lange ausführen, bis ein Fehlermaß unter einem Schwellenwert liegt.
Ein einfaches Beispiel wäre das Folgende: Eine Zahl oder ein Array durch 2 zu teilen, bis es unter einem Schwellenwert liegt ( wenn es sich um einen Float handelt) oder bis sein Maximum unter einem Schwellenwert liegt (wenn es sich um ein Array handelt).

Code: Select all

def f(x):   #float version
while x>1e-5:
x = x/2
return x

def f(x):    #np array version
while max(x)>1e-5:
x = x/2
return x
Leider funktioniert max nicht, wenn ich etwas habe, das nicht iterierbar ist, und x>1e-5 funktioniert nicht, wenn x< /code> ist ein Array. Ich kann dazu nichts finden, außer vielleicht vektorisieren, aber das scheint nicht so effizient zu sein, wie ich es gerne hätte. Wie kann ich eine einzelne Funktion dazu bringen, beide Fälle zu behandeln?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post