How to create this patterned matrix?
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Burger King
le 7 Mar 2022
Commenté : Davide Masiello
le 7 Mar 2022
How do I create a matrix that looks like this?

0 commentaires
Réponse acceptée
Plus de réponses (2)
Davide Masiello
le 7 Mar 2022
Modifié(e) : Davide Masiello
le 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 commentaires
Davide Masiello
le 7 Mar 2022
Anytime! I guess you indeed wanted that row to be skipped. @Stephen's answer will do that very efficiently.
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!