Using a for- loop to extract a range of columns every n-columns

1 view (last 30 days)
Hi all,
I have a 64x10000 matrix. Now I am trying to select certain columns within.
I want to select 200 columns every 2000 columns, so at the end my data would be a matrix of size 64x1000
Right now, my code looks like this :
data = rand(64,10000);
for w=1:5
extract_data(w)=data(:, (2000*(w-1))+1:200)
end
I hope that you can help me,
Thanks,

Accepted Answer

Walter Roberson
Walter Roberson on 29 Jun 2022
data = rand(64,10000);
startcols = 1:2000:size(data,2)-1999;
for w = 1:length(startcols)
sc = startcols(w);
extract_data(:,200*(w-1)+1:200*w)=data(:, sc:sc+199);
end
size(extract_data)
ans = 1×2
64 1000
  2 Comments
Carlos_conde
Carlos_conde on 30 Jun 2022
I was trying to understand your code again, and I think that I do not catch the reason for -1999
Can you please explain that?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by