我的問題創建下三角矩陣如下:我有一個向量作爲從一個給定矢量
[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
的功能,但無法找到解決方案。
我的問題創建下三角矩陣如下:我有一個向量作爲從一個給定矢量
[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
的功能,但無法找到解決方案。
試試這個:
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
如果A是你的載體,你可以做
M = repmat(A,長度(A),1)* TRIL(一(長度(A),長度(A)),0)
這是幾乎完美的,除了工作,我們需要改變-1到0。我的意思是工作版本是:repmat(A,長度(A),1)* TRIL (長(A),長(A)),0)許多謝謝 – emper 2012-02-12 03:12:04
那麼,我發現另一種方式基於迭戈的答案: tril(repmat(A,lengt h(A),1))但是你的也是正確的!謝謝 – emper 2012-02-12 03:15:15