2017-10-17 99 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'可以是美國或歐洲字符串;不作爲變量,因此不能像變量一樣索引 –

+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