how to put an array into a matrix

5 views (last 30 days)
Hi there!
the function "triu(X,1)" returns the upper trangular part of the matrix X. I now have an array of size 1-by-(0.5*n*(n-1)), exactly the number of elements in the upper triangular. How can I, without using any loop, put this array into a n-by-n matrix so that this matrix is what triu(X,1) returns?
Thanks. Lianovich

Accepted Answer

Walter Roberson
Walter Roberson on 10 Apr 2011
n = floor(sqrt(2*length(V)));
M = zeros(n);
M(logical(triu(ones(n),1))) = V;
  3 Comments
Chien-Chia Huang
Chien-Chia Huang on 10 Apr 2011
Yup, Matt is right.
Thanks, Matt.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by