Converting 9 digit number into a string

1 visualizzazione (ultimi 30 giorni)
I have a (1675x 1) number matrix. Each numbers are 9 digit number. I want convert this no into string. When I am giving the num2str command it is giving me (1675 x 9) matrix, but I want to get a (1675 x 1) matrix. How can I do that?
  3 Commenti
Sadia
Sadia il 6 Apr 2017
Modificato: Walter Roberson il 6 Apr 2017
I wanted to run the following code:
T = array2table (raw (2:end,[2,1,4,17,18]));
T.Properties.VariableNames = {'Station' 'Date' 'PM' 'Lat' 'Long'};
T2 = unstack(T, 'PM', 'Date', 'GroupingVariables', 'Station')
Then it is showing the following error
Error using tabular/unstack (line 212)
Unable to group rows using unique values of the table variable 'Station'. UNIQUE returned an error.
Error in PM25 (line 20)
T2 = unstack(T, 'PM', 'Date', 'GroupingVariables', 'Station')
Caused by:
Error using cell/unique (line 85)
Input A must be a cell array of character vectors.
That's why I wanted to convert this station from number to char. But my station values are 9 digit numbers and it is not giving me one character for one station.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 5 Apr 2017
If you have R2016b or later, you can use compose()
Result = compose('%d', YourMatrix);
Otherwise you have to use a cell array if you want individual entries. For example,
Result = cellstr( int2str(YourMatrix) );
  2 Commenti
Walter Roberson
Walter Roberson il 6 Apr 2017
You should be using cell2table() rather than array2table() so that you can combine values of different types.
Sadia
Sadia il 7 Apr 2017
Thanks a lot.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by