In MATLAB, how can I return the contents of a vector as a single integer. For example, if a = [ 1 2 3 4 5 6 7 8 9 ]
, then I want a function that returns the num
You can use
result = a*10.^(numel(a)-1:-1:0).';
or equivalently
result = sum(a.*10.^(numel(a)-1:-1:0));
They seem to be about equally fast.
One approach assuming the input as a vector of one-digit numbers with str2num
and num2str
-
str2num(num2str(a,'%1d'))
Or
str2num(char(a+48)) %// Thanks to Luis!
Or
str2double(char(a+48))