5
Próbuję wykonać linear combination w Numpy, aby uzyskać przesunięcie wektora między dwoma punktami, ale sposób w jaki robię jest dość odrażający.Przechodzenie linii 2D w Numpy?
import numpy as np
a=np.array([1,2])
b=np.array([3,4])
t=np.linspace(0,1,4)
c=(np.asarray([t*a[0],t*a[1]])+np.asarray([(1-t)*b[0],(1-t)*b[1]])).T
print c
Wyjście jest
[[ 3. 4. ]
[ 2.33333333 3.33333333]
[ 1.66666667 2.66666667]
[ 1. 2. ]]
Czy istnieje lepszy sposób to zrobić (oczywiście skutecznie)?
Dziękuję bardzo. Przez rozmiar jeden wymiar masz na myśli "Brak", który dodałeś? – Cupitor
Tak, 'a [:, Brak]' jest takie samo jak 'a.reshape (a.shape [: 1] + (1,) + a.shape [1:])'. Więc lepiej jest zrobić 'a [..., None]', który jest taki sam jak 'a.reshape (a.shape + (1,))', zredaguje odpowiedź. – Jaime