Matlab的:将一个文本文件的每一行中的单独阵列
问题描述:
我有如下所示Matlab的:将一个文本文件的每一行中的单独阵列
10158 18227 2055 24478 25532
12936 14953 17522 17616 20898 24993 24996
26375 27950 32700 33099 33496 3663
...
我想提出每一行中的阵列以分别访问每一行的元件的文件。 我用电池阵列,但它似乎产生1 1阵列的每个电池单元:当我访问cells{ii}
我得到了相同的元素的所有值
fid=fopen(filename)
nlines = fskipl(fid, Inf)
frewind(fid);
cells = cell(nlines, 1);
for ii = 1:nlines
cells{ii} = fscanf(fid, '%s', 1);
end
fclose(fid);
,我无法访问列表值
答
较短的解决办法是阅读文件,textscan
:
fid = fopen(filename, 'r');
C = cellfun(@str2num, textscan(fid, '%s', 'delimiter', ''), 'Uniform', false);
fclose(fid);
产生的单元阵列C
是你在找什么。
在将每行放入单元格矩阵之前,只有'str2num','str2num'将带有空格的数字字符串转换为数字数组。以我的答案为例。也避免在matlab中使用'i' aa dn'j'变量名,因为它们被保留为'sqrt(-1)' – Dan 2013-05-02 09:55:13