How can I create the following matrix
1 0 0 0 0
k1 1 0 0 0
k2 k1 1 0 0
k3 k2 k1 1 0
k4 k3 k2 k1 开发者_JAVA百科1
Use TOEPLITZ.
E.g.
vector = [1 2 3 4 5]; %# replace this with values for [1 k1 k2 k3 k4]
out = toeplitz(vector,[1 0 0 0 0])
out =
1 0 0 0 0
2 1 0 0 0
3 2 1 0 0
4 3 2 1 0
5 4 3 2 1
EDIT
my vector is [k1 k2 k3 k4 k5], how can i apply tril or toeplitz?
Using @gnovice's more convenient formulation, you use
yourVector = [k1 k2 k3 k4 k5];
tril(toeplitz([1 yourVector(1:4)]))
精彩评论