Próbuję przenieść część mojego kodu z MATLAB do Pythona, a niektóre z nich używają funkcji bsxfun() do wirtualnej replikacji, po której następuje mnożenie lub dzielenie (używam jej również do operacji logicznych). Chciałbym móc to zrobić bez faktycznej replikacji wektora (z funkcją lub z macierzą przekątną) przed pomnożeniem lub podzieleniem, aby zaoszczędzić na pamięci i czasie.Czy istnieje odpowiednik funkcji bsxfun MATLAB w python?
Jeśli istnieje odpowiednik bsxfun w jakiejś bibliotece C, to oczywiście by działało.
Jeśli pracujesz z tablic w Pythonie masz zamiar chcą być przy użyciu numpy (www.numpy.org) i numpy ma bardzo ładne właściwości nadawcze. (Zobacz http://www.scipy.org/EricsBroadcastingDoc na krótki samouczek.) – DSM
Zgodnie z tym [pytanie] (http://stackoverflow.com/questions/3213212/matlab-equivalent-of-numpy-broadcasting) odpowiednik numpy nadawania w Matlabie to 'bsxfun', więc myślę, że działa to na odwrót. – jcollado
Istnieje teraz "oficjalny" tutorial do transmisji numpy na http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html Samouczek zasugerowany przez DSM można znaleźć na https: // github. com/dwf/uratowany-scipy-wiki/blob/master/EricsBroadcastingDoc.rst – user2809402