Creating array based on highest values using for loop

조회 수: 5 (최근 30일)
Jesper Madsen
Jesper Madsen 2022년 12월 6일
댓글: Jesper Madsen 2022년 12월 6일
Hi all,
I am still new to using loops in MatLab, so hope you will bear with me.
I have a 16:1 looping vector (Peaks) consisting of the positions of the highest values obtained from each column in my 16 column data array (Reshaped_array).
I wish to use a for loop to create a new array where each column starts with the corresponding position from the looping vector, and contains the following 999 entries, so each column will contain 1000 entries, where column 1 starts with the first entry in Peaks, column 2 the second and so on. I have been using the following code:
for i=(Peaks)
x=Reshaped_array(i:999+i,:);
end
The code seems to loop through the data correctly, but rather than applying each value in Peaks once to each column in Reshaped_array, all values in Peaks seems to be applied to each column at once, leaving only the values obtained from the final loop.
I hope you can help.
Cheers,
Jesper

채택된 답변

David Hill
David Hill 2022년 12월 6일
x=zeros(1000,16);
c=1;
for i=Peaks
x(:,c)=Reshaped_array(i:999+i,c);
c=c+1;
end
  댓글 수: 1
Jesper Madsen
Jesper Madsen 2022년 12월 6일
Thak you very much for the quick response, this worked very well.
Cheers,
Jesper

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Pulsed Waveforms에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by