Creating array based on highest values using for loop

1 次查看(过去 30 天)
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matched Filter and Ambiguity Function 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by