How to create this patterned matrix?
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Burger King
el 7 de Mzo. de 2022
Comentada: Davide Masiello
el 7 de Mzo. de 2022
How do I create a matrix that looks like this?

0 comentarios
Respuesta aceptada
Más respuestas (2)
Davide Masiello
el 7 de Mzo. de 2022
Editada: Davide Masiello
el 7 de Mzo. de 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 comentarios
Davide Masiello
el 7 de Mzo. de 2022
Anytime! I guess you indeed wanted that row to be skipped. @Stephen's answer will do that very efficiently.
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!