2014-09-28 33 views

回答

4

這可以很簡單地完成這種方式:

B = sum(A.*10.^(numel(A)-1:-1:0)) 
B = 
     101110 

它能做什麼是採取A每個號碼和其中n對應於在矢量那個地方撥付值與10^n乘以。通過採用這個新的矢量的總和,你會得到你的答案。 這是等價的:

1*10^5 + 0*10^4 + 1*10^3 + 1*10^2 + 1*10^1 + 0*10^0 

正如路易斯評論,它也可以做到

B = 10.^(numel(A)-1:-1:0) * A(:); 
1

你可以做一個函數

function decimal = array2dec(A) 
nA = length(A); 
decimal = 0; 
for i = 1:nA 
    decimal = decimal + A(i)*10^(nA-i); 
end 

保存此。

>> A = [1,0,1,1,1,0]; 
>> dec = array2dec(A) 
>> dec = 
>> 101110 
0

另一種方法。可能不是非常快,但:

base2dec(A+'0',10) 
相關問題