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 日

1 投票

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

2 件のコメント

hunterilmenau Abdulkarim
hunterilmenau Abdulkarim 2011 年 5 月 13 日
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 日

2 投票

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

1 件のコメント

hunterilmenau Abdulkarim
hunterilmenau Abdulkarim 2011 年 5 月 13 日
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
hunterilmenau Abdulkarim 2011 年 5 月 13 日

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 件のコメント

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

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeMathematics and Optimization についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by