2017-06-16 597 views
-2

如何將變長字符串存儲在數組中,以便可以使用數組行索引訪問它們?我希望它是一個列表或表類型的結構,使動態輸入成爲可能。MATLAB將字符串存儲爲數組

+0

你需要了解你想要什麼更加清晰。請張貼示例,代碼和任何可以幫助人們幫助您的內容。 –

回答

1

您需要使用cell arrays。如果你知道迭代的次數我會預分配數組:

N = 10; 
stringCellArr = cell(1,N); // cell array with 1 row and N columns 
for i=1:N 
    stringCellArr{i} = 'string'; 
end 

,或者如果你想添加字符串不預分配:

stringCellArr = {}; // empty cell array 
for i=1:10 
    stringCellArr{end+1} = 'string'; 
end 

如果你願意,你可以在數組轉換爲一個字符串數組,這裏是使用string()功能的二維矩陣的例子,其實你也可以做到這一點的載體:

// This is a cell array ... 
A = {'Mercury','Gemini','Apollo';... 
    'Skylab','Skylab B','ISS'} 

// ... converted to string array ... 
strArr = string(A) 

// ... and being accessed 
str(3,3) 

--> will return 'ISS' 
+0

如何在循環中動態添加條目?而且,如果條目數量不允許將其變爲完整的正方形或矩形矩陣,它將如何響應? –

+0

@VirataGarwal:我編輯了我的答案以滿足您的要求。它的工作原理是 –

+0

。謝謝。 –