How do i read the exact values from a textfile

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

Include your text file.
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.
Hi Geoff, I get an empty array when I use importdata.
I want to read just the 441 double data in the file.
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.
Hi Geoff, I used the importdata and it worked. I am just wondering why it didn't at first. Thanks for the help

Sign in to comment.

Answers (1)

Tommy
Tommy on 28 Apr 2020
Edited: Tommy on 28 Apr 2020
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

I just want the 441 double data in the file
A 441x1 double array should be stored in A{1}.
Hi Tommy,
I don't understand
Have you run the code in my answer? What results did you get?
I did ran your code and I had a 0 by 1 double array
Hmm. Any luck with readmatrix?
A = readmatrix('finite1_lu.txt', 'NumHeaderLines', 1, 'ExpectedNumVariables', 1);
It says the readmatrix is an undefined name
I was able to solve it. I used the importdata and it worked. Thanks for the assistance

Sign in to comment.

Asked:

SA
on 28 Apr 2020

Commented:

SA
on 29 Apr 2020

Community Treasure Hunt

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

Start Hunting!