开发者

matrix based on vector and diagonal elements=1 using matlab

开发者 https://www.devze.com 2023-01-08 21:20 出处:网络
How can I create the following matrix 10000 k1 1000 k2 k1 100 k3 k2 k1 10 k4 k3 k2 k1 开发者_JAVA百科1

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)]))
0

精彩评论

暂无评论...
验证码 换一张
取 消