Finding diag of two cells
이전 댓글 표시
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.
채택된 답변
추가 답변 (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
Bahareh
2011년 7월 25일
Nathan Greco
2011년 7월 25일
Does my answer work for you? If not, what are you looking to retrieve?
Bahareh
2011년 7월 25일
Nathan Greco
2011년 7월 25일
Your question asked for a 2x1 matrix. Please explain what you are looking for. Provide me example values for "a" and "b", and what you expect your result from "diag" to be. I wish I could read your mind.
Bahareh
2011년 7월 25일
Nathan Greco
2011년 7월 25일
One way: type a{:} and show me what it says. Another way: double click on "a" in your "Workspace" window.
Bahareh
2011년 7월 26일
Nathan Greco
2011년 7월 26일
What is b supposed to be? What is the final solution to this problem supposed to be? You are leaving out important information. If I gave you a = {[1;2] [3;4] [5;6] [7;8]}; and b = {[.1;.2] [.3;.4] [.5;.6] [.7;.8]}; What would the result of your diag([a b]) be?
Bahareh
2011년 7월 26일
Nathan Greco
2011년 7월 26일
You are very unhelpful and wasted my time.
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.
카테고리
도움말 센터 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!