2016-08-28 4 views
-3

ich eine zweidimensionale Anordnung einer bestimmten Größe mit komplexen Zahlen wie in diesem Beispiel erzeugen möge:Generieren eine zweidimensionale Anordnung von komplexen Zahlen

>>> generate_array((2, 3)) 
array([[ 0.+0.j, 1.+0.j, 2.+0.j], 
     [ 0.+1.j, 1.+1.j, 2.+1.j]]) 
+1

Und? Hast du es versucht? –

+1

Für Ihre Frage fehlt eine Frage. –

+0

@ IgnacioVazquez-Abrams Natürlich habe ich es versucht, aber ich konnte dies nicht mit Standard-Tutorials lösen, ich habe nicht die richtige Funktion/Möglichkeit gefunden, dies beim Betrachten der Dokumente zu erzeugen und konnte diese Frage nicht in einem Q & A finden Seite? ˅. – timakro

Antwort

2

Hier ist ein Weg, um diesen
mit np.indices() Eingriff zu erreichen mit np.vectorize():

def generate_array(dim): 
    X, Y = np.indices(dim) 
    return np.array(np.vectorize(complex)(X, Y)) 

ar = generate_array((2, 3)) 
print(ar) 

Ausgang:

[[ 0.+0.j 0.+1.j 0.+2.j] 
[ 1.+0.j 1.+1.j 1.+2.j]] 
+0

Tippfehler: 'dim' wurde nicht verwendet –

+0

Danke! Korrigiert. –

2
def generate_array(m, n): 
    return (np.arange(m) * 1j)[:, None] + np.arange(n) 


generate_array(2, 3) 
Out: 
array([[ 0.+0.j, 1.+0.j, 2.+0.j], 
     [ 0.+1.j, 1.+1.j, 2.+1.j]]) 
Verwandte Themen