My sytuacji jest to, że I jak mapować skalarne macierzy A
przez funkcję z uchwytem fun
wysyłającego wektor rzędzie do wektora rzędu, do nabycia B
, tak że B(i,:) = fun(A(i,:))
.arrayfun gdy każdy wiersz tablicy jest wejście
Najbardziej rozsądnym rozwiązaniem mogłoby myślę wygląda następująco:
temp = mat2cell(A,ones(1,size(A,1)),size(A,2));
B = cell2mat(cellfun(fun,temp,'UniformOutput',0));
Jednak konwersja do komórek iz powrotem wydaje się przesadą (i jest Przypuszczalnie kosztowne obliczeniowo). Nie jest też dla mnie jasne, dlaczego cellfun narzeka na niejednolite wyniki. Czy bardziej efektywny sposób przeskakuje na myśl?
Powiązane pytanie: [? Jak zastosować funkcję do każdego wiersza w Matlab] (http://stackoverflow.com/q/2307249/1336150) –