我有一個數組a=[0 1 0 1 1 0]
,我想將該數組的內容轉換爲數字(a=010110
)。我怎麼做?Octave - array to number
而且我還要向相反: 如果我有一些b=100101
,我想獲得一個數組a=[1 0 0 1 0 1]
感謝您的幫助
我有一個數組a=[0 1 0 1 1 0]
,我想將該數組的內容轉換爲數字(a=010110
)。我怎麼做?Octave - array to number
而且我還要向相反: 如果我有一些b=100101
,我想獲得一個數組a=[1 0 0 1 0 1]
感謝您的幫助
不是最優雅的,而是從矩陣去到數:
a = [1 0 1 1 0 1];
a = mat2str(a); % returns '[1,0,1,1,0,1]'
a = strrep(substr(a, 2, numel(a)-2), ',', ''); % remove ',' , '[' , ']'
a = str2num(a); % convert to number
數量矩陣:
a = 110011001;
a = num2str(a, 1000000)-'0';
其中1000000
是Octave在將數字轉換爲字符串時使用的精度。這需要足夠大以容納您正在轉換的數字。
這是一件非常奇怪的事情,你試圖去做,很可能有更好的方法來做到這一點。什麼是你的問題?你想要做什麼,需要你將矢量轉換成字符串?
爲了回答你的問題,你可以轉換一個數字向量,與sprintf
。以下內容適用於整數(請參閱printf文檔以獲取有關如何處理其他內容的詳細信息)。
octave> a = [ 0 1 0 1 0 0]
a =
0 1 0 1 0 0
octave> sprintf ("%i", a)
ans = 010100