decimal to binary and grouping into another matrix
1 次查看(过去 30 天)
显示 更早的评论
i have to convert a decimal value to binary and group every two digits to
form a new one dimensional matrix whose size is 1,4*rows*cols
i tried this its not working ie
secret = [22 33
22 44]
[rows,cols]=size(secret);
for i= 1 : rows
for j= 1: cols
binarysecret{i,j}=dec2bin(secret(i,j),8);
end
end cc=1;
[r,c]=size(binarysecret)
for q = 1 : r
for q1 = 1 : c
while(x<8)
y=x+1;
secretDNA{cc} = binarysecret{q,q1}(x:y)
x=x+2;
cc=cc+1;
end
end
end
Thanks in advance
0 个评论
采纳的回答
Andrei Bobrov
2012-10-30
编辑:Andrei Bobrov
2012-10-30
bi = dec2bin(secret,8) - '0';
out = reshape(mat2cell(bi,ones(size(bi,1),1),2*ones(size(bi,2)/2,1))',1,[]);
or
n = 8;
s = size(secret);
bi = rem(floor(reshape(secret',[],1)*pow2(1-n:0)),2);
out = reshape(mat2cell(bi,ones(prod(s),1),2*ones(n/2,1))',1,[]);
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!