2013-10-31 6 views
3

예를 들어 "norm"기능을 고려하십시오. 나는 행렬을 가지고 있고, 행렬의 각 행에 "norm"을 적용하고,이 행렬의 각 행에 대한 모든 norm의 벡터를 얻고 싶습니다.행렬의 모든 행에 함수를 적용하는 방법은 무엇입니까?

내가 표준 (A, '행')을 수행 할 수 있었으면 좋겠지 만 그건 불가능합니다. 그것을 할 다른 방법이 있습니까?

답변

1

좋아요?

M = 1e4; 
N = 1e3; 
A = randn(M, N); 

% Solve 
B = mat2cell(A, ones(M, 1), N); 
b = cellfun(@norm, B); 

어쩌면 arrayfun을 대신 사용할 수 있습니까?

8

당신은 셀 어레이로 변환하지 않고 그것을 할 수 있습니다 :

arrayfun(@(n) norm(A(n,:)), 1:size(A,1)) 
+0

+1 쉽고 분명 빠른 세포로 변환하는 것보다. –

관련 문제