Number to string within numeric matrix
Afficher commentaires plus anciens
I have numbers (1-20) which correspond to a city. I want to convert each number to a string to more easily read the city. For example: 1 = 'Atlanta', 2='Boston', etc. I have the data grouped in cell arrays based on a specific column, but also have the data in a 425x15 matrix (before grouping). Is it possible to replace the city numbers with city names? Thanks.
1 commentaire
Tyler Smith
le 6 Oct 2016
Réponse acceptée
Plus de réponses (3)
Matthias Walle
le 6 Oct 2016
Hi,
create a new class file
classdef city < uint32
enumeration
Atlanta (1)
Boston (2)
Whatever (3)
andsoon (4)
end
end
then you can use
city(1)
for example to get Atlanta
I hope this works for you
Steven Lord
le 6 Oct 2016
You can't store both numbers and characters in a numeric array or a char array without conversion.
A = ones(2) % A is a double array
A(4) = 'A' % double('A') is 65, so A will be [1 1; 1 65]
B = 'ABCDE' % B is a char array
B(5) = 90 % char(90) is 'Z' so B will be 'ABCDZ'
You could use a cell array or a table to store data of both types.
C = {ones(5), 'abracadabra'}
x = [1; 3; 6; 10];
y = {'Amherst'; 'Boston'; 'Cambridge'; 'Easthampton'};
ind = [1 1 2 2 2 2 3 3 3 4]
D = y(ind)
E = table(x, y)
Jan
le 6 Oct 2016
You can use the city numbers as indices:
Names = {'Atlanta', 'Boston', 'Chicago'};
Data = [1, 3.14; 3, 7.07; 2, 2.71];
fprintf(%s\n', Names{Data(:, 1)})
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!