Hallo all, I'm trying to create this matrix (Toeplitz Matrix):
1 0 0 0
2 1 0 0
3 2 1 0
0 3 2 1
0 0 3 2
0 0 0 3 how can I achieve that ?
thanks for help

 采纳的回答

T =tril(toeplitz([1 2 3 0 0 0 ],[1 2 3 0]))

2 个评论

Hi
many thanks Sean , but what in case of a general vector . i.e, in this case h=[1 2 3] , what if I want to make it general for any given vector h ?
Oleg's method is better because it doesn't require the call to tril:
v = 1:5;
T = toeplitz([v(:);zeros(numel(v),1)],zeros(numel(v)+1,1))

请先登录,再进行评论。

更多回答(2 个)

toeplitz([1 2 3 0 0 0],[1 0 0 0])

1 个评论

Hi
many thanks Oleg , but what in case of a general vector . i.e, in this case h=[1 2 3] , what if I want to make it general for any given vector h ?

请先登录,再进行评论。

0 个投票

Hi guys ,
thanks again , it worked , I just modified as follows:
t=toeplitz([h zeros(1,7)],[1 0 0 0 0 0 0 0])
where h is the original vector.
cheer u

1 个评论

For a more generalized version:
t = toeplitz([h zeros(1,length(h)-1)],[h(1) zeros(1, length(h)-1)])

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Linear Algebra 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by