Matching lines of data and negating errors in the textfile

1 view (last 30 days)
I am reading in a text file with the following code:
fid=fopen(filename.txt, rt);
X=textscan(fid, %s%s%s%s%s’, ‘headerlines’, 5);
I have to read in all the data as string data because when ever there is an error, the whole line that I am looking at is marked with tacs. Here is what I mean:
X{1}=
5
7
9
12
X{2}=
12
15
---
32
if the columns were all lined up in the matrix X(which is a cell array) it would look like this:
X=
5 12 12:23:51 Y 45
7 15 12:28:34 N 234
9 --- --:--:-- - 23
12 32 12:34:17 Y 87
What I want to do with this is compare the first two columns of data with the Y’s and N’s. I want to take any row of data that has an has a Y in the 4th column and leave out any row that has an N or a “-“ in it.
My end result would be individual rows or a matrix with the data I want, ex:
Xfinal=
5 12 12:23:51 Y 45
12 32 12:34:17 Y 87
Or if it is easier:
X1=
5
12
X2=
12
32
Etc.

Accepted Answer

Walter Roberson
Walter Roberson on 18 Jan 2012
Xfinal = X( strcmp(X{4}, 'Y'), :);

More Answers (0)

Categories

Find more on Data Import and Export in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!