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

44 views (last 30 days)
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.

Accepted Answer

Stephen23
Stephen23 on 8 May 2018
Edited: Stephen23 on 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

More Answers (1)

Stalin Samuel
Stalin Samuel on 8 May 2018

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!