Clear Filters
Clear Filters

What is the best vectorized way to construct the following matrix

1 view (last 30 days)
I have a vector variable of size nx1 I want to construct a square nxn matrix from this vector. The first column of the matrix is the vector itself. The second column is the vector itself but with the first element set to zero. The ith column of the matrix is constructed from the vector by setting the first i-1 entries to zero...
So we get is a lower triangular matrix with the diagonal = to the given vector.
ex: given
g = [1 2 3 4];
Construct
G = [1 0 0 0;
2 2 0 0;
3 3 3 0;
4 4 4 4;];

Accepted Answer

Star Strider
Star Strider on 26 Feb 2015
Edited: Star Strider on 26 Feb 2015
This works:
G = tril(repmat([1:4]', 1, 4));

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!