Rearrangement of vector elements
2 ビュー (過去 30 日間)
古いコメントを表示
Hello everyone,
I have a vector that contains 1252459 elements and I need to rearrange these elements so that every 250th and 251nd element become the last elements of the vector. To be more clear, if the initial vector is
b=[1st element; 2nd element;...; 250th element; 251st element; ...; 500th element; 501st element;...;1252459th element]
it has to become
b=[1st element; 2nd element; ... (every element that should not be moved here) ... ; former 250th element; former 251st element; former 500th element; former 501st element; former 750th element ; former 751st element;...]
Thanks in advance.
0 件のコメント
回答 (2 件)
Fangjun Jiang
2021 年 4 月 8 日
something like this?
a=(1:95)'
b=reshape(a,19,[])
c=b(1:11,:)
d=c(:)
0 件のコメント
Jan
2021 年 4 月 8 日
編集済み: Jan
2021 年 4 月 8 日
Maybe you want:
b = rand(1252459, 1);
match = false(size(b));
match(1:249:end) = true;
match(2:249:end) = true;
c = b(match);
2 件のコメント
Jan
2021 年 4 月 8 日
Try it with some smaller data:
x = 11:20
m = false(size(x))
m([2,4,6]) = true
x(m)
m contains FALSE values except for the 2nd, 4th and 6th value, which are true. Using this vector as "logical index", only the elements are replied, which have a TRUE inside the index vector.
参考
カテゴリ
Help Center および File Exchange で Operators and Elementary Operations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!