从给定向量创建下三角矩阵

emp*_*per 3 matlab matrix vectorization

我的问题如下:我有一个向量作为

[3,4,5,6,7]

我想创建一个矩阵作为

3 0 0 0 0   
3 4 0 0 0   
3 4 5 0 0   
3 4 5 6 0   
3 4 5 6 7 
Run Code Online (Sandbox Code Playgroud)

但是,由于我最终会得到的大小问题,我不想使用for循环.我想使用flipud,fliprl,hankeltoeplitz功能,但无法找到一个解决方案.

ras*_*mus 6

试试这个:

x = [3,4,5,6,7]
tril(ones(length(x),1)*x)

ans =

 3     0     0     0     0
 3     4     0     0     0
 3     4     5     0     0
 3     4     5     6     0
 3     4     5     6     7
Run Code Online (Sandbox Code Playgroud)