If I have a 20-digit numeric string, how can I convert it to an array where the elements are the digits of the string?

1 view (last 30 days)
For example, if I have a string, such as
n='9555688756196283262165034064'
how can I convert it to the vector
b=[9 5 5 5 6 8 8 7 5 6 1 9 6 2 8 3 2 6 2 1 6 5 0 3 4 0 6 4]?
I tried using the following code, but Matlab is not accurate, and the imprecisions throw off the rest of my script:
n='9555688756196283262165034064';
a=str2double(n);
b=num2str(a) - '0';

Answers (2)

Star Strider
Star Strider on 28 Nov 2016
This is not generally recommended, but it works here:
n = '9555688756196283262165034064';
b = n - '0'
b =
Columns 1 through 16
9 5 5 5 6 8 8 7 5 6 1 9 6 2 8 3
Columns 17 through 28
2 6 2 1 6 5 0 3 4 0 6 4

Elias Gule
Elias Gule on 29 Nov 2016
Ok, try this code:
n = '9555688756196283262165034064';
matrix = arrayfun(@str2double ,n);

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!