フィルターのクリア

combining results into a single matrix

2 ビュー (過去 30 日間)
Io7
Io7 2021 年 9 月 22 日
コメント済み: Io7 2021 年 9 月 22 日
Code:
h = [1 2 3 4 5];
for i = 2:4
First_Matrix = [h(i-1) h(i) h(i+1) ]
end
Result:
First_Matrix =
1 2 3
First_Matrix =
2 3 4
First_Matrix =
3 4 5
I want help combining the result into a single matrix which is from 3x5 from h1 to h5, I want the answer to look like.
First_Matrix = [ 1 2 3 0 0; 0 2 3 4 0; 0 0 3 4 5]
and I don't want to hard code it. please help! I would really appreciate it if somone can help me.

採用された回答

Matt J
Matt J 2021 年 9 月 22 日
編集済み: Matt J 2021 年 9 月 22 日
One way.
h = [1 2 3 4 5];
n=numel(h);
m=n-2;
First_Matrix=toeplitz([1,zeros(1,m-1)] ,[1 1 1 zeros(1,n-3)]).*h
First_Matrix = 3×5
1 2 3 0 0 0 2 3 4 0 0 0 3 4 5
  1 件のコメント
Io7
Io7 2021 年 9 月 22 日
really appreciate it

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by