Finding diag of two cells
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I have two cells(a and b) each with size 1x4 and each of them contains 2x1 matrix in each of its columns. I would like to find diag([a b]) to get a 2x2 matrix but it seems that diag() is not defined for cell. Can anybody tell me what I should do?
1 件のコメント
Nathan Greco
2011 年 7 月 25 日
What 2x2 matrix are you looking for? diag([a b]) would provide a 2x1 matrix. Are you looking for [diag(a) diag(b)]? When asking questions, please provide sample inputs with an example of the expected result.
採用された回答
Paulo Silva
2011 年 7 月 25 日
Maybe
cellfun(@diag,[a b],'uni',0)
4 件のコメント
Paulo Silva
2011 年 7 月 25 日
Look inside each cell of the ans from cellfun ;)
c=cellfun(@diag,[a b],'uni',0)
c{1} %compare this to what you are expecting from the diag function
その他の回答 (1 件)
Nathan Greco
2011 年 7 月 25 日
Does this work for you?
diag(cell2mat([a b]))
Note that the solution is the same as:
diag([a{1} a{2}])
To get the diag of both a and b, do this:
[diag(cell2mat(a)) diag(cell2mat(b))]
-Nathan
11 件のコメント
Jan
2011 年 7 月 26 日
@Nathan: But without doubt Bahareh is very polite and thanked your repeatedly. It was obviously not his intentention to waste your time.
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!