我有一个单元阵列,使得其长128个字符,即MATLAB分区单元阵列
c = {'1......128'}
我想做的是它分解成8块,从左边开始,然后将每个8块块放入一个新的单元阵列中。什么是最简单的方法来做到这一点?
我有一个单元阵列,使得其长128个字符,即MATLAB分区单元阵列
c = {'1......128'}
我想做的是它分解成8块,从左边开始,然后将每个8块块放入一个新的单元阵列中。什么是最简单的方法来做到这一点?
你可以用一条线做
mycell = repelem('a', 128); % creating the cell
newcells = cellstr(reshape(mycell{:},8,[])'); % cells with 8 characters each
,如果你的电池只是1x1
用128个字符。
valS = 1;
valE = 8;
for ii=1:(128/8)
newC{ii,:} = c{valS:valE};
valS = valE + 1; % after first loop valS = 9 ...
valE = valE + 8; % after first loop valE = 16 ...
end
你也可以使用eval如果你想NEWC分为不同的变量完全
有关下列哪些?
res = cell(1,16);
for ii=0:15
res{ii} = c{1}((1:8)+ii*8);
end
这不起作用,因为'c'的尺寸是1x1。你也应该避免动态调整'newC'的大小。 – Loamsiada