2017-06-16 336 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

。谢谢。 –