Re: [問題] 請問如何將已轉出的二進位數值放入陣列 …已回收
※ 引述《pk01749276 (GuanTing)》之銘言:
:
: 請問各位高手,我要如何將轉出的二進位數值,放入陣列當中,如下所示:
:
: 1 2 3
: a= 4 5 6
: 7 8 9
:
: 轉成二進位之後呈現
:
: 01 10 11
: b= 100 101 110
: 111 1000 1001
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 123.204.43.192
: 推 zhewei:cell吧! 06/08 22:20
: 推 s80773:b=str2num(dec2bin(a));b=reshape(b,size(a,1),size(a,2)); 06/08 22:20
s大推文提到的這個方法
事實上是得到一個似是而非的解
當你去運算b(3) 的時候會得到111 <一百一十一> 並非7的二進位數值
MATLAB處理二進位採用char儲存 因此比較合理的做法應該是z大所提使用cell array
code如下
clear all;clc;
a=[1 2 3 ; 4 5 6 ; 7 8 9 ];
b=[];
b=cellstr(dec2bin(a,4));
b=reshape(b,size(a,1),size(a,2));
其中dec2bin(a,4)乃指定最少使用4位來表示數字 需要更多位可在此調整
最後則得到一個3x3的cell array
使用時記得使用{}存取並且取出之值仍然是char
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.2.172
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章