How to read a file unrecongnized to Matlab
Show older comments
hi, i am working on implementing the ECG on my DSP kit. i have stored the file using the provided software but its extension is ".ecg". Matlab of course does not read it directly...
If a open it in Matlab directory as OPEN AS TEXT, it opens. Then the data is shown to me as values from 8 channels of ECG. It has 8 numericals values in a spaced single row. And there are around 8000 rows with occasionally english text for heart rate and leads off status.
So is there a way i can read it?? Thanks.
Answers (2)
Fangjun Jiang
on 10 Jun 2011
0 votes
You can use textscan() function to read it. Some other functions are textread(),dlmread(). Try it yourself first.
Walter Roberson
on 11 Jun 2011
0 votes
If you have a mix of numbers and text and the text can appear at any line in the file, then you have to parse the data line by line. See for example the procedure in this Question
8 Comments
Talha
on 11 Jun 2011
Walter Roberson
on 11 Jun 2011
When you get to the line that has text, textscan() with the '%d' format is not going to be able to read the number and is going to return an empty array.
Talha
on 11 Jun 2011
Walter Roberson
on 11 Jun 2011
If you know the number of lines of valid data, then you can pass textscan the number of times to repeat the format. For example,
C = textscan(fid, repmat('%d',1,8), 60,'CollectOutput',1);
r = C{1};
Talha
on 13 Jun 2011
Fangjun Jiang
on 13 Jun 2011
How do you want to deal with those text? Can you simply ignore them and would that impact your numeric data? Post a short set of data with that scenario and we can help you.
Walter Roberson
on 13 Jun 2011
fgetl() to read the line, after which you could start another textscan()
Talha
on 13 Jun 2011
Categories
Find more on Large Files and Big Data in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!