How can I create a string vector?
67 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Jan
2015 年 12 月 27 日
編集済み: Jan
2015 年 12 月 27 日
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 件のコメント
Walter Roberson
2015 年 12 月 27 日
Actually the padding is with blanks when you use char() on a cell array of strings.
Jan
2015 年 12 月 29 日
@Walter: I still try to ignore, that Matlab pads CHAR matrices with blanks, because zeros are less intrusive.
その他の回答 (1 件)
Azzi Abdelmalek
2015 年 12 月 27 日
You can use cell arrays, for example:
planet={'planet1' 'planet2' 'planet3' 'planet4'}
vector=[2,4,3]
our=planet(vector)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Earth and Planetary Science についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!