※ 引述《Lionel (跟快乐交往)》之铭言:
: 大家好 大家晚安
: 假设我有以下资料
: 0 0 0 0 0 0 0 0
: 0 0 0 0 0 0 0 1
: 1 0 0 0 0 0 0 0
: 以上为 (i,j)值仅有{0,1}
: 3*8的double型态
: 想要的到
: 00000000
: 00000001
: 10000000
: 欲得
: 把(i,1)到(i,8)抓起来在一起
: 3*1的uint8
: 3*1的char
: 我知道uint8()跟char()的function
: 可是 转出来依旧还是3*8矩阵
: 感谢大家
如原文底下推文你的3*1 char是不可能的 因为你字的长度就是>1
底下是接近的code:
A=[0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 1;
1 0 0 0 0 0 0 0];
C=zeros(size(A,1),1);
for n=1:size(A,1)
B(n,:)=dec2bin(A(n,:)).';
C(n,:)=uint8(bin2dec(B(n,:)));
end
B会是3*8的char
(如果你直接用char转出来不会是你原来01这些字符 是他ASCII code对应字符)
C就是3*1的矩阵[0;1;128]