我想创建一个像这样的字符向量数组:
'abc1', 'abc12', 'abc9'
两个问题:如何初始化它,以及如何引用每个元素?
我想从文件中读取一堆值并从每一行创建数组。该文件将如下所示:
abc1 abc12 abc9
一旦读入,我想使用每个字符向量,如下所示:
for i in <mumble>
fprintf(" element = %s\n", <mumble-one-element>)
end
(打印只是表示我要访问数组中每个元素的最简单方法。)
我是MATLAB的新手,很难将数组用法转换为我知道的其他语言。
答案 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