我正在嘗試創建一個 MATLAB 腳本,將 100x100 正整數矩陣轉換為其無符號二進制值。示例 matDec=[1,2;1,2] 轉換為 matBin=[00000001,00000010;00000001,00000010]。
我試過類似的東西:
BinI=int2bit(I,8);
其中I是初始矩陣,BinI是矩陣。
但結果我得到了一個 800x100 的矩陣,這意味著每個元素的位被分成 8 個元素。
uj5u.com熱心網友回復:
讓
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。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/519532.html
標籤:数组matlab矩阵
下一篇:Python通道器
