MATLAB将字符串存储为数组

时间:2017-06-16 09:46:34

标签: arrays string matlab

  

如何在数组中存储可变长度字符串,以便可以使用行的数组索引访问它们?我希望它是一个列表或表类型结构,使动态输入成为可能。

1 个答案:

答案 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()函数的2D矩阵示例,实际上你也可以为矢量执行:

// 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'