group in a small vector
7 ビュー (過去 30 日間)
古いコメントを表示
Beatriz Dueñas Muñoz
2020 年 3 月 23 日
コメント済み: Beatriz Dueñas Muñoz
2020 年 3 月 24 日
I have a vector
A=[1,0,0,1,1,1];
I need to pass this vector to a new one taking groups of 3 element so
B = [100, 111]
Does someone know how could I do this?
Thank you
0 件のコメント
採用された回答
Sindar
2020 年 3 月 24 日
編集済み: Sindar
2020 年 3 月 24 日
Ok, here is a way:
A=[1,0,0,1,1,1];
% turn A into a 1x6 string array
tmp=string(A);
% reshape into a 3xN string array, then transpose to Nx3
tmp=reshape(tmp,3,[])';
% combine each row, leaving a Nx1 string array
tmp=join(tmp,'');
% convert back to a Nx1 numeric array, then transpose to 1xN
B = double(tmp)';
or, in one line:
B = double(join(reshape(string(A),3,[])',''))'
2 件のコメント
Sindar
2020 年 3 月 24 日
Should work for any A with a multiple of 3 elements, and error otherwise, e.g.,
Error using reshape
Product of known dimensions, 3, not divisible into total number of elements, 8.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Cell Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!