Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何引用字符向量数组_Arrays_String_Matlab - Fatal编程技术网

Arrays 如何引用字符向量数组

Arrays 如何引用字符向量数组,arrays,string,matlab,Arrays,String,Matlab,我想创建一个字符向量数组,如下所示: 'abc1', 'abc12', 'abc9' abc1 abc12 abc9 两个问题:如何初始化它,以及如何引用每个元素 我想从一个文件中读取一组值,并从每一行创建数组。该文件将如下所示: 'abc1', 'abc12', 'abc9' abc1 abc12 abc9 读入后,我希望使用每个字符向量,如下所示: for i in <mumble> fprintf(" element = %s\n", <mumble-on

我想创建一个字符向量数组,如下所示:

'abc1', 'abc12', 'abc9'
abc1 abc12 abc9
两个问题:如何初始化它,以及如何引用每个元素

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

'abc1', 'abc12', 'abc9'
abc1 abc12 abc9
读入后,我希望使用每个字符向量,如下所示:

for i in <mumble>
    fprintf(" element = %s\n", <mumble-one-element>)
end
中的i
fprintf(“元素=%s\n”,)
结束
(打印只是表示我要访问数组中每个元素的最简单方法。)


我是MATLAB的新手,很难将数组的用法翻译成我所知道的其他语言。

使用
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

使用
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

可能与描述相符。每个元素都可以通过
C{index}
访问。可能与描述相符。每个元素都可以通过
C{index}
访问。谢谢您的建议。我的数据文件每行包含一个字符串,而不是每行包含几个字符串。我会看看你的建议,看看我是否能让它以类似的方式工作。我刚刚看了这个,注意到你的建议没有创建字符串向量数组。它只是将字符串分隔为单个字符数组。但是谢谢你的想法,谢谢你的建议。我的数据文件每行包含一个字符串,而不是每行包含几个字符串。我会看看你的建议,看看我是否能让它以类似的方式工作。我刚刚看了这个,注意到你的建议没有创建字符串向量数组。它只是将字符串分隔为单个字符数组。但是谢谢你的想法。