基本上这就是我想要做的事情:
我有十进制值3:
x=3
现在我得到二进制格式:
s = dec2bin(x,3)
s = 011
s的格式是一个字符串(正确吗?)。
现在我想将此值转换为矩阵,以便对其进行矩阵运算。就这样:
A = [0 1 1]
但我似乎无法做到这一点。我已经尝试过str2mat和cell2mat但没有结果。有什么想法吗?
答案 0 :(得分:2)
如果您100%确定只会获得0和1,请使用:
a = '001';
b = double(a)-48;
(ASCII为48时为0)
答案 1 :(得分:0)
这是一种方式:
>> cellfun(@str2num, cellstr(s'))'
ans =
0 1 1
正如您所注意到的,MATLAB对于字符串操作并不是那么好。 :)
答案 2 :(得分:0)
您也可以这样做:
x=3;
binNumber = dec2bin(x,3);
A=sprintf('%s',binNumber) - '0';