How do I find/retrieve block in block matrix?
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi,
let's say I have 3 matrices A,B,C and store them in a block diagonal matrix, such that I can refer easily to them in a for loop.
Example:
D=[A B C; B A B; C A B];
for j=1:3
for i=1:9
E=D(i,j)^1*x
end
end
If I say D(i,j) I get an entry of matrix D. But I want the block stored in the i-th row and the j-th column in de way D is defined in the example. D(1,2) should return matrix B and D(2,2) matrix A. How can I do this?
kind regards,
Clarisha
댓글 수: 0
답변 (1개)
Walter Roberson
2018년 8월 11일
편집: Walter Roberson
2018년 8월 11일
In general you cannot, as you do not know that the matrices are the same size. If you knew the sizes of the matrices, you could calculate locations inside D given the block indices.
The better way to handle this is
D = {A B C; B A B; C A B};
then you would use D{1,2} to get back B, even if it is not the same size as the other matrices.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Operating on Diagonal Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!