2017-10-17 27 views
0

内の文字列要素へのアクセス:私は次のような3つの文字列持つMATLAB

world=["America", "Europe"]; % Parent String 
America=["USA", "Brazil", "Argentina"]; % Child1 String 
Europe=["France", "Germany", "England"]; % Child2 String 

を私は親の文字列(世界)から子文字列(国名)の要素にアクセスしたいとforループ内で使用してさらに操作してください。私は次のようにしています:

for i=1:2 
    d=world(i); % Temporary variable to store the continent name 
for j=1:3 
disp(d(j)); % Throws an Error: "Index exceeds Matrix dimensions 
end 
end 

私は間違っていますか?どんな助力も高く評価されます。

+0

ご連絡ありがとうございます。 私の予想される出力は、大陸の文字列から直接国名を表示することです(大陸文字列を使用せずに) –

+0

'd'は' 'America" 'または' 'Europe" 'です。変数としてではなく、したがって変数のように索引付けすることはできません。 –

+0

d = America(最初の繰り返しでi = 1の場合) –

答えて

0

セルの変数を使用して、さまざまな型の変数、特に文字列を格納できます。私が提案したい:

america = {'USA', 'Brazil', 'Argentina'}; 
europe = {'France', 'Germany', 'England', 'Italy'}; 
continents = {america, europe}; 
for i = 1 : length(continents) 
    for j = 1 : length(continents{i}) 
    disp(continents{i}{j}) 
    end 
end 

あなたは、文字列ではなく、正の数(すなわち数値インデックス)によってインデックスに好きな変数の型構造体を見ている場合。ワークスペース内の変数のリストを出力するには、コマンドをと入力します。タイプはです。

+2

リンクされた複製は、すでに –

+0

がこの回答を投稿した後に発見されたことを示唆しています。申し訳ありませんが、私もそれを探していたはずです。とにかく、他の答えが私の近くにあることを知っておきましょう。 –

+0

あなたがあなたの答えを投稿する前に、重複が存在することを示唆するコメントが(私によって)書かれました。標準の "可能な重複:..."のコメントを素早くチェックするのは良いことです。それは自動的にそれに応じてフラグが立てられた質問の下に追加されます。はい、この答えはとにかく、将来の参考のためだけに適しています。 – Wolfie

関連する問題