Creating array based on highest values using for loop

1 Ansicht (letzte 30 Tage)
Jesper Madsen
Jesper Madsen am 6 Dez. 2022
Kommentiert: Jesper Madsen am 6 Dez. 2022
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

Akzeptierte Antwort

David Hill
David Hill am 6 Dez. 2022
x=zeros(1000,16);
c=1;
for i=Peaks
x(:,c)=Reshaped_array(i:999+i,c);
c=c+1;
end
  1 Kommentar
Jesper Madsen
Jesper Madsen am 6 Dez. 2022
Thak you very much for the quick response, this worked very well.
Cheers,
Jesper

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by