combining results into a single matrix

조회 수: 3 (최근 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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by