Matlab:将char的单元格转换为双向量的单元格

use*_*491 7 matlab

我想转换一个<1 x 8 cell>的字符

'111001'    '00'    '111000'    '01'    '1111'  '10'    '11101' '110'
Run Code Online (Sandbox Code Playgroud)

至<1 x 8个单元> <1 x(长度bitcode)>加倍

[111001]    [00]    [111000]    [01]    [1111]  [10]    [11101] [110]
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

bla*_*bla 8

这是一个单线解决方案:

 a=num2cell(str2double(s))
Run Code Online (Sandbox Code Playgroud)


小智 6

s = {'111001', '00', '111000', '01', '1111', '10', '11101', '110'};
d = cellfun(@(c_) c_ - '0', s, 'UniformOutput', false);
Run Code Online (Sandbox Code Playgroud)

'01234' - '0'[0, 1, 2, 3, 4]因为'01234'实际上会给出1乘5的双矩阵char(['0', '1', '2', '3', '4']),而字符之间的减运将给出它们的ASCII码之间的操作.