Reading Text file in matlab

2 views (last 30 days)
Andrew Cruce
Andrew Cruce on 11 Nov 2017
Answered: Image Analyst on 11 Nov 2017
I believe I am missing something. I am trying to read in a large text file using fscanf.
Here is the code
fileName = 'TestData.tst'
format = '%d%*s%f%f%f%f%%f%f%f%f%f%f%f%f%f%f%f%f%f'
size = [19,Inf]
B = ReadTestData(fileName, format, size)
B = B'
function A = ReadTestData (fileName, format, size)
%fileName = 'TestData.tst'
fileID = fopen(fileName, 'r')
A= fscanf(fileID, format, size)
end
}
The function is in a different file than the main code.
Here is my input file
75 data 2.5 3.1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
4 data 5.5 6.1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
10 data 11 12 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
13 data 14 15 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
It's a simplified version of some aircraft data I have recorded. When I execute the code I only get a 6 by 1 matrix containing only part of the first line in the data file. I've tried this on shorter lines, 4 items long, and it works. What am I missing?

Answers (2)

Image Analyst
Image Analyst on 11 Nov 2017
Don't even use ReadTestData(). Try this in your main program:
fullFileName = fullfile(pwd, 'TestData.tst')
t = readtable(fullFileName)

Star Strider
Star Strider on 11 Nov 2017
I would use the textscan (link) function to read them.

Categories

Find more on Text Data Preparation in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!