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!