Put elements into corresponding locations of upper triangular matrix
Afficher commentaires plus anciens
Hi all,
Imagine I have a vector:
inpt = (1:6)';
Now I'd like to put elements of inpt in the upper triangular part of a 3 by 3 matrix otpt, so I have:
otpt =
1 2 4
0 3 5
0 0 6
What's the best way to do it? Thanks!
1 commentaire
Jan
le 26 Juil 2017
Is this a homework question? If so, please mention it, because then a different type of answers is required.
Réponse acceptée
Plus de réponses (1)
Roger Stafford
le 26 Juil 2017
Let vector ‘inpt’ have size = n*(n+1)/2,1.
otpt = zeros(n);
otpt(triu(ones(n),0)==1) = inpt;
3 commentaires
Prabhjot Dhami
le 23 Avr 2020
Thanks for this!
warnerchang
le 4 Juin 2021
Brilliant! it's actually the sum formula for arithmetic sequence! very helpful for understanding.
KUMAR TRIPATHY
le 3 Oct 2021
Absolutely brilliant, concise and crisp!
Catégories
En savoir plus sur Surrogate Optimization dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!