Transforming vector into triangular matrix

21 次查看(过去 30 天)
Hi guys,
I've got a 48x1 vector say [x1; x2; x3; x4;...x48]
I want to transform this into a 48x48 matrix that looks like:
x1 0 0 0 ...
x1 x2 0 0 ...
x1 x2 x3 0 ...
x1 x2 x3 x4 ...
....
What are some of the ways to do this? I know I could use diag() but that would only get me 1 diagonal line. Or should I try and use tril()? Thanks!

采纳的回答

Amit
Amit 2014-2-2
Lets call it A Then
A_new = repmat(A,1,48);
A_new = tril(A);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by