MATLAB中将整数逐位读取到数组中的常用方法是什么?
我正在尝试将一个四位整数拆分1234
为一个数组[1 2 3 4]
。
对于单个整数,这是一种非常简单的方法
s = num2str(1234)
for t=length(s):-1:1
result(t) = str2num(s(t));
end
然而,最紧凑的方式是:
'1234'-'0'
或者试试这个
result = str2num(num2str(1234)')'
您可以使用arrayfun
arrayfun(@str2num, num2str(x))
这是一个使用递归函数的优雅高效的解决方案:
function d = int2dig(n)
if n >= 10
d = [int2dig(floor(n/10)),mod(n,10)];
else
d = n;
end