Sub-Matrices in a bigger matrix

조회 수: 1 (최근 30일)
Rengin
Rengin 2019년 7월 19일
편집: Jan 2019년 7월 19일
Dear Users,
Imagine that I have 4 square matrices such as A11, B11, C11 and D22.
I want to insert them as diagonal elements of a bigger matrix (please see the pic on the attchments).
However, I don't know the size of the bigger matrix. I will find it out when I insert all sub-matrices. Is there any easy way to do it?
Thanks in advance!

채택된 답변

madhan ravi
madhan ravi 2019년 7월 19일
blkdiag(A11, B11, C11, D22)
  댓글 수: 2
Rengin
Rengin 2019년 7월 19일
Thank you for the answer! Do you also know how to implement other sub-matrices in this big matrix (please see e.g. A12, A13, B21...etc. in the figure on the attcahments) ?
madhan ravi
madhan ravi 2019년 7월 19일
m = size(A11,1);
Wanted = blkdiag(A11, B11, C22, D22);
Wanted(1:m,m+1:end) = [A12,A13,A14];
Wanted(m+1:m*2,1:m) = B21

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Andrei Bobrov
Andrei Bobrov 2019년 7월 19일
For matrices with the same size. Let [m,n] - size of each matrix, q - number of matrices in the vertical of a large matrix:
M = cat(3,A11,B21,..,A12,B11,..,A13,..,C11,..D22);% A11, B21 and etc - your small matrices
out = reshape(permute(reshape(M,m,n,q,[]),[1,3,2,4]),q*m,[]);

카테고리

Help CenterFile Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by