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

1 Ansicht (letzte 30 Tage)
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,

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare
Carlos_conde
Carlos_conde am 29 Jun. 2022
thanks a lot
Walter Roberson, you are a lenged!
Carlos_conde
Carlos_conde am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by