Return vector elements as a single integer

后端 未结 2 1808
孤城傲影
孤城傲影 2020-12-12 02:43

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

相关标签:
2条回答
  • 2020-12-12 03:19

    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.

    0 讨论(0)
  • 2020-12-12 03:26

    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))
    
    0 讨论(0)
提交回复
热议问题