登录论坛

查看完整版本 : 使用Matlab基于向量和对角元素的矩阵= 1


poster
2019-12-10, 20:48
我如何创建以下矩阵

1 0 0 0 0 k1 1 0 0 0 k2 k1 1 0 0 k3 k2 k1 1 0 k4 k3 k2 k1 1

回答:

使用TOEPLITZ (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/toeplitz.html) 。

例如

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 编辑

我的向量是[k1 k2 k3 k4 k5],我该如何应用tril或toeplitz?

使用@gnovice的更方便的公式,您可以使用

yourVector = [k1 k2 k3 k4 k5]; tril(toeplitz([1 yourVector(1:4)]))

更多&回答... (https://stackoverflow.com/questions/3345236)