Как измельчить строку в Matlab - PullRequest
0 голосов
/ 26 апреля 2018

Например, у меня есть эта строка

x='004000500100'

Я хочу преобразовать каждые 4 элемента в массив символов.

результат строки будет:

y={'0040','0050','0100'}

1 Ответ

0 голосов
/ 26 апреля 2018

Кажется, вы хотите разделить вектор символов на векторы символов фиксированного размера.

Если исходный размер кратен целевого размера, вы можете сделать это очень легкоследующим образом:

x = '004000500100';
S = 4;
result = cellstr(reshape(x,4,[]).');

Если исходный размер не может быть кратным целевого размера, возможный подход:

result = accumarray(ceil((1:numel(x))/S).', x(:), [], @(t) {t.'});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...