7

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

'111001'    '00'    '111000'    '01'    '1111'  '10'    '11101' '110'

到 <1 x (length bitcode)> 的 <1 x 8 cell> 双打

[111001]    [00]    [111000]    [01]    [1111]  [10]    [11101] [110]

我怎样才能做到这一点?

4

4 回答 4

8

这是一个单线解决方案:

 a=num2cell(str2double(s))
于 2012-12-18T05:09:33.730 回答
6
s = {'111001', '00', '111000', '01', '1111', '10', '11101', '110'};
d = cellfun(@(c_) c_ - '0', s, 'UniformOutput', false);

'01234' - '0'将给出 1 x 5 双矩阵[0, 1, 2, 3, 4],因为'01234'实际上是char(['0', '1', '2', '3', '4']),字符之间的减号运算将给出它们的 ASCII 码之间的运算。

于 2012-12-18T03:09:58.060 回答
4

试试这个:

    s = {'111001','00','111000','01','1111','10','11101','110'}
    num = str2num(str2mat(s));
于 2012-12-18T04:15:44.350 回答
3

尝试使用str2num将 char 数组(字符串)转换为数字。

如果要将数字解释为二进制(以 2 为底)数字,请尝试使用bin2dec.

于 2012-12-18T03:03:14.810 回答