我正在尝试使用 textscan 从文本文件中读取数据。文本文件由 3 个空格分隔,有 100 行数据和 9 列。我可以让它返回我认为是 100 x 1 的矩阵。我试图弄清楚如何让代码返回一个 100 x 9 的矩阵。下面是我正在使用的代码......
fid = fopen('file.txt','r');
data = textscan(fid, ' %d %d %d %d %d %d %d %d %d\n');
disp(data); %This command outputs [100x1 int32]
fprintf('data is: %s\n', data{1}); %this outputs garbage
fprintf('data is: %s\n', data{2}); %this outputs garbage
fprintf('data is: %s\n', data{3}); %this outputs garbage
fprintf('data is: %s\n', data{4}); %this outputs garbage
fprintf('data is: %s\n', data{5}); %see output below
Columns 1 through 4
[100x1 int32] [100x1 int32] [100x1 int32] [100x1 int32]
Columns 5 through 8
[100x1 int32] [100x1 int32] [100x1 int32] [100x1 int32]
Column 9
[100x1 int32]
fclose(fid);
如您所见,当我访问数据时,我得到了一些接近我想要的结果{5}。我的最终目标是创建一个包含 1-8 列的矩阵,然后创建一个包含第 9 行的列矩阵。下面是数据在文本文件中的格式。第一列之前有 3 个空格,之后每列之间有 3 个空格。
1.2000000e+02 1.0000000e+00 3.2000000e+00 7.2300000e+02 1.7000000e+00 9.0440000e+03 9.6700000e+02 6.8000000e+01 6.4580000e+01
提前感谢您的帮助。我一直在搞乱 textscan 参数和分隔符,但没有运气。我对 textscan 不熟悉,但我读过我应该在这种情况下使用它,因为正在导入的数据中有非数字字符。