MATLAB:fscanf - 保留柱状结构

时间:2012-02-15 21:45:10

标签: arrays matlab scanf

我正在尝试将大文本文件加载到MATLAB中。该文件具有以下格式:

567.1   339.8   13923645.0  1.3 0.6
568.0   338.5   13923646.0  1.8 0.9
569.4   336.9   13923647.0  2.4 1.1
570.8   337.1   13923648.0  3.3 1.0
570.8   338.8   13923649.0  4.3 0.6

这意味着要导入为[:,5]数组。但是,我正在使用命令:

inputData = fscanf(fid, '%g\t').';

这会导致数字作为一维向量导入:

inputData = [567.1 339.8 13923645.0 1.3 0.6 568.0 338.5 13923646.0 1.8 0.9 ... etc]

如何让它保留其5列结构?

4 个答案:

答案 0 :(得分:1)

尝试使用load命令。在这种情况下,这是最简单的

   x = load('myFile.txt');

答案 1 :(得分:1)

基于your other question,你将inputData分解为5个独立的数组,我只是从头开始将文本文件读入5个独立的数组。

[x y currentSampleTime velocityX velocityY] = textread('data.txt','%f%f%f%f%f');

答案 2 :(得分:0)

您可以使用reshape函数从行向量中创建x-by-5矩阵。

reshape(inputData, 5, []).'

答案 3 :(得分:0)

如果您只有数字数据,最简单的方法是使用DLMREAD

inputData = dlmread(filename,'\t');