Build determinantes of matrices in cell arrays
조회 수: 4 (최근 30일)
이전 댓글 표시
I have a cell array X with dimension (N x 2) and N is an even number. This cell array is filled with (2 x 2) Matrices of type double.
I'm wondering, if there is a way to build the determinants of each of those matrices (type: double) in a vectorized manner without using a for loop.
My solution was:
Y = zeros(N,1)
for i = 1:N
Y = det(X{i});
end
Now I have this Y of size (N x 1), which will contain all the determinants of the (2 x 2) matrices stored in the cell array X with size (N x 2).
Can I "vectorize" the for loop in some way or the other?
Thanks for having a look at this!
댓글 수: 0
채택된 답변
KSSV
2017년 4월 19일
doc cellfun
N = 4 ;
X = cell(N,2) ;
for i = 1:N
X{i,1} = rand(2) ;
X{i,2} = rand(2) ;
end
detX = cellfun(@det,X) ;
댓글 수: 5
Jan
2017년 4월 19일
While the cellfun method is nice, it is not "vectorized" actually. You only do not see the loop anymore. Internally you cannot treat the cell elements in a vectorized way.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Cell Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!