How to create this patterned matrix?
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Burger King
il 7 Mar 2022
Commentato: Davide Masiello
il 7 Mar 2022
How do I create a matrix that looks like this?

0 Commenti
Risposta accettata
Più risposte (2)
Davide Masiello
il 7 Mar 2022
Modificato: Davide Masiello
il 7 Mar 2022
Generalizing for any nxn matrix
clear,clc
n = 9;
A = zeros(n);
for i = 1:n
A(i,i+1:n) = flip(i:n-1);
if i > 1
A(i,1:i) = flip(0:i-1);
end
end
which yields
A =
0 8 7 6 5 4 3 2 1
1 0 8 7 6 5 4 3 2
2 1 0 8 7 6 5 4 3
3 2 1 0 8 7 6 5 4
4 3 2 1 0 8 7 6 5
5 4 3 2 1 0 8 7 6
6 5 4 3 2 1 0 8 7
7 6 5 4 3 2 1 0 8
8 7 6 5 4 3 2 1 0
However, in your example, the row starting with 7 is missing. I am not sure whether that's intentional or just a typo.
In the first instance, the code above can be arranged to remove rows starting with a certain value.
3 Commenti
Davide Masiello
il 7 Mar 2022
Anytime! I guess you indeed wanted that row to be skipped. @Stephen's answer will do that very efficiently.
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!