MATLAB Answers

How do I vectorize each digit of an integer and store it as an array?

조회 수: 25(최근 30일)
I have to convert an integer into a vector of all its digits. Example: 100---> [1 0 0]
function ans = int2vec(x)
t=regexp(num2str(x),'\d','match');
[];
arrayfun(@(i) [ans,str2num(t{i})],1:length(t));
end
Though this worked for me, is there a better solution.

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

Stephen Cobeldick
Stephen Cobeldick 8 May 2018
편집: Stephen Cobeldick 8 May 2018
>> num2str(100)-'0'
ans =
1 0 0
If you want all digits, regardless of position and role (e.g. exponent):
>> s = num2str(100);
>> s(isstrprop(s,'digit'))-'0'
ans =
1 0 0

  댓글 수: 0

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by