7

<1 x 8 cell> の文字を変換したい

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

<1 x (長さビットコード)> double の <1 x 8 セル> に

[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'は実際にはである[0, 1, 2, 3, 4]ため、1 x 5の二重行列になり、文字間のマイナス演算はASCIIコード間の演算になります。'01234'char(['0', '1', '2', '3', '4'])

于 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

str2numchar 配列 (文字列) を数値に変換するために使用してみてください。

数値を 2 進数 (基数 2) として解釈する場合は、 を使用してみてくださいbin2dec

于 2012-12-18T03:03:14.810 に答える