Put elements into corresponding locations of upper triangular matrix
显示 更早的评论
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 个评论
Jan
2017-7-26
Is this a homework question? If so, please mention it, because then a different type of answers is required.
采纳的回答
更多回答(1 个)
Roger Stafford
2017-7-26
Let vector ‘inpt’ have size = n*(n+1)/2,1.
otpt = zeros(n);
otpt(triu(ones(n),0)==1) = inpt;
3 个评论
Prabhjot Dhami
2020-4-23
Thanks for this!
warnerchang
2021-6-4
Brilliant! it's actually the sum formula for arithmetic sequence! very helpful for understanding.
KUMAR TRIPATHY
2021-10-3
Absolutely brilliant, concise and crisp!
类别
在 帮助中心 和 File Exchange 中查找有关 Surrogate Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!