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

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

采纳的回答

Walter Roberson
Walter Roberson 2022-6-29
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 个评论
Carlos_conde
Carlos_conde 2022-6-30
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?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by