How do i read the exact values from a textfile
Show older comments
I have a textfile that contains a vector of length 441. However when i use the fileread command, Matlab says the file has length.12350. It prints put all the values but a wrong size. How do I correct this?
The file ia attached below
5 Comments
Deepak Gupta
on 28 Apr 2020
Include your text file.
Geoff Hayes
on 28 Apr 2020
SA - what happens if you use importdata instead? fileread does the same for me (creating an array of size 1x12350) because it is a character array and not the numeric array that you are expecting.
SA
on 28 Apr 2020
Geoff Hayes
on 28 Apr 2020
SA - strange..not sure why it would be empty. Possibly something in the formatting of the file (?). See Tommy's answer below for a working solution.
SA
on 29 Apr 2020
Answers (1)
fileread is reading each character from the file. If you want to interpret those characters as numbers, one option is to use textscan:
fileID = fopen('finite1_lu.txt');
A = textscan(fileID, '%f', 'HeaderLines', 1);
fclose(fileID);
8 Comments
SA
on 28 Apr 2020
Tommy
on 28 Apr 2020
A 441x1 double array should be stored in A{1}.
SA
on 28 Apr 2020
Tommy
on 28 Apr 2020
Have you run the code in my answer? What results did you get?
SA
on 28 Apr 2020
Tommy
on 28 Apr 2020
Hmm. Any luck with readmatrix?
A = readmatrix('finite1_lu.txt', 'NumHeaderLines', 1, 'ExpectedNumVariables', 1);
SA
on 29 Apr 2020
SA
on 29 Apr 2020
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!