How can I create a string vector?

67 ビュー (過去 30 日間)
Andre Ged
Andre Ged 2015 年 12 月 27 日
コメント済み: Jan 2015 年 12 月 29 日
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.

採用された回答

Jan
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
Walter Roberson 2015 年 12 月 27 日
Actually the padding is with blanks when you use char() on a cell array of strings.
Jan
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
Azzi Abdelmalek 2015 年 12 月 27 日
You can use cell arrays, for example:
planet={'planet1' 'planet2' 'planet3' 'planet4'}
vector=[2,4,3]
our=planet(vector)

カテゴリ

Help Center および File ExchangeEarth and Planetary Science についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by