0

MATLAB中将整数逐位读取到数组中的常用方法是什么?

我正在尝试将一个四位整数拆分1234为一个数组[1 2 3 4]

4

4 回答 4

5

对于单个整数,这是一种非常简单的方法

s = num2str(1234)
for t=length(s):-1:1
   result(t) = str2num(s(t));
end

然而,最紧凑的方式是:

'1234'-'0'
于 2013-02-15T13:19:59.673 回答
4

或者试试这个

result = str2num(num2str(1234)')'
于 2013-02-15T13:17:46.850 回答
1

您可以使用arrayfun

arrayfun(@str2num, num2str(x))
于 2013-02-15T13:48:23.177 回答
0

这是一个使用递归函数的优雅高效的解决方案:

function d = int2dig(n)
   if n >= 10   
      d =  [int2dig(floor(n/10)),mod(n,10)];
   else
      d = n;
   end
于 2017-04-16T14:13:24.903 回答