<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]
これどうやってするの?
<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]
これどうやってするの?
ここにワンライナーソリューションがあります:
a=num2cell(str2double(s))
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'])
これを試して:
s = {'111001','00','111000','01','1111','10','11101','110'}
num = str2num(str2mat(s));
str2num
char 配列 (文字列) を数値に変換するために使用してみてください。
数値を 2 進数 (基数 2) として解釈する場合は、 を使用してみてくださいbin2dec
。