use array vector to form a diagonal matrix
조회 수: 6 (최근 30일)
이전 댓글 표시
For diag() function(https://ww2.mathworks.cn/help/matlab/ref/diag.html) the vector 'v' is used to form a diagonal matrix, but 'v' have single elements( i.e. v = [2 1 -1 -2 -5]). I want to use 'v' which has {2x2} array matrices as it's elements to creat a diagonal matrix i.e. [{2x2} {2x2} {2x2} {2x2} {2x2}].
답변 (1개)
DGM
2023년 1월 1일
편집: DGM
2023년 1월 1일
It seems to me like maybe you're talking about what blkdiag() does.
A = [1 2; 3 4];
B = A*11;
C = A*111;
D = blkdiag(A,B,C) % block-diagonal concatenation
If your input v is some sort of cell array, you'll have to manage that, but it's not really clear to me how you have that arranged. Say you have a cell vector of numeric matrices:
v = {A B C}; % same thing, but in a cell
D = blkdiag(v{:}) % same thing
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!