ich habe erst vor kurzem mit Python angefangen und möchte gerne zwei Mengen von Vektoren mit einander verknüpfen, indem ich sie addiere und dabei noch eine Funktion der beiden Vektoren in die dritte Komponente addiere. Ich habe das ganze mit zwei for loops geschrieben und gehe so die einzelnen Vektoren durch. Jetzt stellt sich mir die Frage ist es möglich das ganze ohne for Schleifen zu machen? Also gibt es eine clevere Art Mengen von arrays zu addieren (inklusiver einer Funktion die separat definiert wird?
Ich interessiere mich dafür da ich deutlich größere Mengen von Vektoren miteinander verknüpfen möchte und ich frage mich ob man das effizienter machen kann.
Nebenbei habe ich auch gerade das Problem, dass ich die Punkte nicht zu der Menge AB hinzufügen kann, weil das berechnete g ein ndarray ist. Vielleicht kann mir dabei auch jemand helfen, wie man damit richtig umgeht?
Code: Alles auswählen
import numpy as np
def w(x,y):
return -2*x[0]*y[1]+2*x[1]*y[0]
A = [np.array([1,0,3]),np.array([3,4,5]),np.array([6,3,6]),np.array([3,4,6])]
B = [np.array([1,2,0]),np.array([2,44,15]),np.array([9,23,6]),np.array([3,6,5])]
AB = set()
for x in A:
for y in B:
g = x + y + np.array([0, 0, w(x, y)])
print('AB=',AB)