How can I combine every Nth row of a matrix into a new matrix using a loop?
6 ビュー (過去 30 日間)
古いコメントを表示
I have a huge matrix A:
A=[X,Y]
and would like to create a new matrix B using every Nth row of A:
B=[A(1,:); A((1+N),:); A((1+2N),:); ...; A((1+(length(X)-N)),:)]
where length(X)>>1000.
How can I create this new matrix B using a loop?
0 件のコメント
採用された回答
Thomas
2012 年 10 月 5 日
編集済み: Thomas
2012 年 10 月 5 日
Is this what you want? You do not need to use loops
% initial data
a=[1:10;11:20]'
% select every 3rd row
out = a(1:3:end,:)
3 件のコメント
Ransika Pathirana
2020 年 5 月 10 日
If i need to go through a for loop how am i going to do it?
Thank you!
Walter Roberson
2020 年 5 月 10 日
r__r_ = ceil(size(A,1)/N);
B = zeros(r__r_, size(A,2), 'like', A);
for r__r__ = 1 : r__r_
B(r__r__,:) = A(1 - N + r__r__*N, :);
end
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!