Mirror pattern of the leading diagonal about the middle element of the matrix

1 visualizzazione (ultimi 30 giorni)
Hi All,
I am interested to create the following matrix but unable to think about the logic to create it.
for example : for n = 5 ; the elememts of leading diagonal are 2 1 0 1 2 and rest elements 0
for n = 7, the elements of the leading diagonal are 3 2 1 0 1 2 3 and rest elements are 0.
Any help will be highly appreciated.

Risposta accettata

Star Strider
Star Strider il 2 Gen 2021
This works for odd ‘n’:
dv = @(n) abs(diag(unique(fix(-n/2:n/2)))); % Create Diagonal Matrix
n = 5;
m5 = dv(n)
n = 7;
m7 = dv(n)
producing:
m5 =
2 0 0 0 0
0 1 0 0 0
0 0 0 0 0
0 0 0 1 0
0 0 0 0 2
m7 =
3 0 0 0 0 0 0
0 2 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 2 0
0 0 0 0 0 0 3
.
  6 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by