如何在MATLAB中将具有整数值的矩阵转换为矩阵二进制值



我正试图创建一个MATLAB脚本,将一个100x100的正整数矩阵转换为它们的无符号二进制值。示例matDec=[1,2;1,2]转换为matBin=[000000000 100000010;0000000 10000010]。

我试过类似的东西:

BinI=int2bit(I,8);

其中CCD_ 1是初始矩阵,而CCD_。

但我得到了一个800x100的矩阵,这意味着每个元素的位被分成了8个元素。

设为

A1 =
4    -2     4   -10
5     3   -10    -8
5    -7    -5     7

然后

A2=dec2bin(A1)
A2 =
12×8 char array
'00000100'
'00000101'
'00000101'
'11111110'
'00000011'
'11111001'
'00000100'
'11110110'
'11111011'
'11110110'
'11111000'
'00000111'

你是对的,尽管在命令行中,结果看起来每一行都只是一个元素,但类型是char,所以每个单独的字符实际上都是一个元素。

一种获得与输入大小相同的搜索矩阵的方法是使用命令string

sz1=size(A1);
reshape(string(dec2bin(A1)),sz1)
= 
3×4 string array
"00000100"    "11111110"    "00000100"    "11110110"
"00000101"    "00000011"    "11110110"    "11111000"
"00000101"    "11111001"    "11111011"    "00000111"

命令string是在MATLAB版本2016b中引入的。

在以前的版本中没有命令string

相关内容

  • 没有找到相关文章

最新更新