我想转换< 1 x 8 cell>字符
'111001' '00' '111000' '01' '1111' '10' '11101' '110'
至< 1×8细胞> < 1 x(长度bitcode)>双打
[111001] [00] [111000] [01] [1111] [10] [11101] [110]
我该怎么做?
答案 0 :(得分:8)
这是一个单线解决方案:
a=num2cell(str2double(s))
答案 1 :(得分:6)
s = {'111001', '00', '111000', '01', '1111', '10', '11101', '110'};
d = cellfun(@(c_) c_ - '0', s, 'UniformOutput', false);
'01234' - '0'
将给出1乘5双矩阵[0, 1, 2, 3, 4]
,因为'01234'
实际上是char(['0', '1', '2', '3', '4'])
,而字符之间的减号操作将在它们的ASCII代码之间进行操作。
答案 2 :(得分:4)
试试这个:
s = {'111001','00','111000','01','1111','10','11101','110'}
num = str2num(str2mat(s));
答案 3 :(得分:3)
尝试使用str2num
将char数组(字符串)转换为数字。
如果您想将这些数字解释为二进制(基数2)数字,请尝试使用bin2dec
。