How can I create a string vector?
54 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Andre Ged
el 27 de Dic. de 2015
Comentada: Jan
el 29 de Dic. de 2015
Given a vector containing a certain number of elements, for example vector=[2,4,3], I have to create a vector containing in each row (or column) the name of the corresponding planet in the solar system. In the case of the previous vector, the result should be PlanetName=['Venus';'Mars';'Earth']. Can you suggest me a method to create such a vector? thank you.
0 comentarios
Respuesta aceptada
Jan
el 27 de Dic. de 2015
Editada: Jan
el 27 de Dic. de 2015
There are no "string vectors" in Matlab, but you need a "cell string":
Planets = {'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune'}
Index = [2, 4, 3];
Chosen = Planets(Index)
See the "Getting Started" chapters of the documentation, because such a powerful tool as Matlab demands for learning the basics from the documentation.
EDITED: And when you really have a good reason not to use a cell string, but a char-matrix:
Chosen = char(Planets(Index))
Now the strings are padded with zeros. But it is less useful to work with char matrices. Prefer cell strings whenever it is possible.
5 comentarios
Walter Roberson
el 27 de Dic. de 2015
Actually the padding is with blanks when you use char() on a cell array of strings.
Jan
el 29 de Dic. de 2015
@Walter: I still try to ignore, that Matlab pads CHAR matrices with blanks, because zeros are less intrusive.
Más respuestas (1)
Azzi Abdelmalek
el 27 de Dic. de 2015
You can use cell arrays, for example:
planet={'planet1' 'planet2' 'planet3' 'planet4'}
vector=[2,4,3]
our=planet(vector)
0 comentarios
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!