Put elements into corresponding locations of upper triangular matrix
Mostrar comentarios más antiguos
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 comentario
Jan
el 26 de Jul. de 2017
Is this a homework question? If so, please mention it, because then a different type of answers is required.
Respuesta aceptada
Más respuestas (1)
Roger Stafford
el 26 de Jul. de 2017
Let vector ‘inpt’ have size = n*(n+1)/2,1.
otpt = zeros(n);
otpt(triu(ones(n),0)==1) = inpt;
3 comentarios
Prabhjot Dhami
el 23 de Abr. de 2020
Thanks for this!
warnerchang
el 4 de Jun. de 2021
Brilliant! it's actually the sum formula for arithmetic sequence! very helpful for understanding.
KUMAR TRIPATHY
el 3 de Oct. de 2021
Absolutely brilliant, concise and crisp!
Categorías
Más información sobre Surrogate Optimization en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!