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?

2 Ansichten (letzte 30 Tage)
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';

Antworten (2)

Star Strider
Star Strider am 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 am 29 Nov. 2016
Ok, try this code:
n = '9555688756196283262165034064';
matrix = arrayfun(@str2double ,n);

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by