Creating array based on highest values using for loop

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

 Respuesta aceptada

x=zeros(1000,16);
c=1;
for i=Peaks
x(:,c)=Reshaped_array(i:999+i,c);
c=c+1;
end

1 comentario

Thak you very much for the quick response, this worked very well.
Cheers,
Jesper

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 6 de Dic. de 2022

Comentada:

el 6 de Dic. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by