How to linearly change values in matrix
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hanna Haponenko
le 28 Jan 2019
Modifié(e) : Hanna Haponenko
le 28 Jan 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 commentaires
Réponse acceptée
Andrei Bobrov
le 28 Jan 2019
Modifié(e) : Andrei Bobrov
le 28 Jan 2019
toeplitz(1:-.1:.6)
or
1 - abs((1:5) - (1:5)')*.1
1 commentaire
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!