※ 引述《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]