Toeplitz Matrix

5 次查看(过去 30 天)
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

采纳的回答

Sean de Wolski
Sean de Wolski 2011-5-13
T =tril(toeplitz([1 2 3 0 0 0 ],[1 2 3 0]))
  2 个评论
hunterilmenau Abdulkarim
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 ?
Sean de Wolski
Sean de Wolski 2011-5-13
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 个)

Oleg Komarov
Oleg Komarov 2011-5-13
toeplitz([1 2 3 0 0 0],[1 0 0 0])
  1 个评论
hunterilmenau Abdulkarim
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 ?

请先登录,再进行评论。


hunterilmenau Abdulkarim
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 个评论
Sibo Van Gool
Sibo Van Gool 2021-10-8
For a more generalized version:
t = toeplitz([h zeros(1,length(h)-1)],[h(1) zeros(1, length(h)-1)])

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by