如何引用字符向量数组

时间:2018-11-06 00:09:21

标签: arrays string matlab

我想创建一个像这样的字符向量数组:

'abc1', 'abc12', 'abc9'

两个问题:如何初始化它,以及如何引用每个元素?

我想从文件中读取一堆值并从每一行创建数组。该文件将如下所示:

abc1 abc12 abc9

一旦读入,我想使用每个字符向量,如下所示:

for i in <mumble>
    fprintf(" element = %s\n", <mumble-one-element>)
end

(打印只是表示我要访问数组中每个元素的最简单方法。)

我是MATLAB的新手,很难将数组用法转换为我知道的其他语言。

1 个答案:

答案 0 :(得分:2)

使用fgetl从文件中读取一行,然后使用strsplit创建一个单元格数组。

假设test.txt是您的文件,其中包含以下数据:

abc1 abc12 abc9
abc4 abc5 abc6

逐行读取文件并创建相应的单元格数组:

fileID = fopen('test.txt');

tline = fgetl(fileID);
while ischar(tline)
    cell_array = strsplit(tline);
    for i = 1:length(cell_array)
        fprintf(" element = %s\n", cell_array{i});
    end
    fprintf("\n");
    tline = fgetl(fileID);
end

fclose(fileID);

输出:

 element = abc1
 element = abc12
 element = abc9

 element = abc4
 element = abc5
 element = abc6