Converting 9 digit number into a string

1 次查看(过去 30 天)
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 个评论
Sadia
Sadia 2017-4-6
编辑:Walter Roberson 2017-4-6
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.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2017-4-5
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 个评论
Walter Roberson
Walter Roberson 2017-4-6
You should be using cell2table() rather than array2table() so that you can combine values of different types.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by