How to linearly change values in matrix
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hanna Haponenko
il 28 Gen 2019
Modificato: Hanna Haponenko
il 28 Gen 2019
Observe this matrix:
thismatrix = eye(5)
thismatrix =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
I wish to replace the zeros on either size of the 1's on every row with values descending from 1 by 0.1.
This is what I want:
thismatrix =
1.0000 0.9000 0.8000 0.7000 0.6000
0.9000 1.0000 0.9000 0.8000 0.7000
0.8000 0.9000 1.0000 0.9000 0.8000
0.7000 0.8000 0.9000 1.0000 0.9000
0.6000 0.7000 0.8000 0.9000 1.0000
How can I accomplish this without numerous "for loops"/spaghetti code (especially if my matrix is larger)?
0 Commenti
Risposta accettata
Andrei Bobrov
il 28 Gen 2019
Modificato: Andrei Bobrov
il 28 Gen 2019
toeplitz(1:-.1:.6)
or
1 - abs((1:5) - (1:5)')*.1
1 Commento
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!