从给定向量创建下三角矩阵
我的问题如下:我有一个向量
[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
但是,我不想使用 for 循环,因为我最终会得到大小问题。 我正在考虑使用 flipud
、fliprl
、hankel
和 toeplitz
函数,但找不到解决方案。
My problem is the following: I have a vector as
[3,4,5,6,7]
I want to create a matrix as
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
However, I don't want to use for loops because of the problem of size that I will eventually get.
I was thinking about using flipud
, fliprl
, hankel
and toeplitz
functions but cannot find a solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
Try this:
如果 A 是你的向量,你可以做
M=repmat(A, length(A), 1) .* tril(ones(length(A),length(A)),0)
If A is your vector, you can do
M=repmat(A, length(A), 1) .* tril(ones(length(A),length(A)),0)