How do you extract diagonal elements of submatrix matrix?
2 views (last 30 days)
Show older comments
Hi, need help:
I have a (nxn) square matrix A. I then created submatrices of (kxk) within matrix A. How do I extract only the diagonal (kxk) submatrices into a separate vector? The command diag(A) does not work; this is maybe because of the submatrices elements that I created. Please advise Thanks!
0 Comments
Accepted Answer
Ameer Hamza
on 2 Dec 2020
Are the submatrices in cell array? For example, try something like this
n = 9;
A = rand(n);
k = 3;
B = mat2cell(A, k*ones(1,n/k), k*ones(1,n/k));
diag_all = cellfun(@diag, B, 'uni', 0);
10 Comments
Vishnu Pradeep
on 2 Dec 2021
Hey guys,
What does the 'uni' argument pertain to?
Couldnt find anything on the web other than the name-value pair 'UniformOutput'. Is this the same?
Thanks!
More Answers (0)
See Also
Categories
Find more on Operating on Diagonal Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!