How to add zeros diagonally in a matrix?
Mostra commenti meno recenti
I am having a 4*5 matrix. Now, I need to add '0' diagonally and convert the matrix into 5*5. Thank you in advance.
Example:
A=[2 2 1 3 2
1 3 3 1 2
3 1 4 4 1
2 2 1 3 3]
Expected output:
B=[ 0 2 1 3 2
2 0 3 1 2
1 3 0 4 1
3 1 4 0 3
2 2 1 3 0]
Risposta accettata
Più risposte (1)
Jiri Hajek
il 14 Dic 2022
Hi, MATLAB has functions that can extract upper and lower triangular parts of a matric, rest is just adding them into a zero pre-allocated matrix B:
A = randn(4)
Au = triu(A);
Al = tril(A);
B = zeros(5);
B(1:4,2:end) = Au;
B(2:end,1:4) = B(2:end,1:4)+Al
1 Commento
ASHA PON
il 14 Dic 2022
Categorie
Scopri di più su Operating on Diagonal Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!