Replace diagonals in a matrix
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hasan Hassoun
am 19 Jan. 2021
Kommentiert: Image Analyst
am 23 Jan. 2021
Hello every one,
How to replace the upper and lower part of a n*n matrix with zeros (The upper part starts from "diagonal+2" until n while the lower part starts from "diagonal-2" until n)?
1 Kommentar
Image Analyst
am 23 Jan. 2021
Original question is below in case he deletes it like he's done before:
Replace diagonals in a matrix
Hello every one,
How to replace the upper and lower part of a n*n matrix with zeros (The upper part starts from "diagonal+2" until n while the lower part starts from "diagonal-2" until n)?
Akzeptierte Antwort
Weitere Antworten (1)
David Goodmanson
am 19 Jan. 2021
Bearbeitet: David Goodmanson
am 19 Jan. 2021
Hi Hasan,
here is one way
r = rand(7,7)
n = size(r,1);
m = (n-1)/2;
a = (-m:m)-(-m:m)';
r(abs(a)>1)=0
assuming the main diagonal is number 0, and the zeros start on the +-2nd diagonal, otherwise adjust the '1' on the last line of code accordingly
Siehe auch
Kategorien
Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!