how to compare two text file and sort the lines of one of them with respect of another one ?
7 views (last 30 days)
Show older comments
I have a text file which has 6 3d coordinates (6 lines 3 columns) (as a reference file). I have to measure these points again and save them in another text file. later i need both text file by correct sorting.
The problem is that sometimes some points cannot be measured. in this case the discipline points will be destroyed. and also one or two or 3 points less.
Question is;
- how can I change the discipline of the first file (reference file) as well as the second file (measured file)? that means points 1 should be in the same line in both files (no matter which) and points that are not measured e.g. Point 2 should also be deleted from the reference file. these are my two files below:
measured: (points 2 and 4 could not be measured)
1.006253e + 03 9.822302e + 02 1.161773e + 01
1.006552e + 03 9.987608e + 02 1.161969e + 01
9.946106e + 02 1.012398e + 03 1.161471e + 01
9.989777e + 02 9.972292e + 02 1.161314e + 01
reference file:
1006.249 982.228 11.618
1010.194 984.407 11.617
1006.546 998 761 11 620
1002.063 1012.767 11.614
994,606 1012,399 11,616
998,971 997,229 11,614
thank you for your help.
Accepted Answer
Guillaume
on 13 Feb 2020
Edited: Guillaume
on 13 Feb 2020
So, it will go something like this:](
%read the files. Not enough details given to give exact syntax. Something like this should work:
measurement = dlmread('C:\somewhere\measurementfile');
reference = dlmread('C:\somewhere\referencefile');
%find which rows of reference are within the range of the rows of measurement, and keep only these
rowstokeep = ismembertol(reference, measurement, 1, 'ByRows', true, 'DataScale', 1);
newreference = reference(rowstokeep, :);
%save into new file
dlmwrite('C:\somewhere\newreferencefile', newreference);
You may have to play around with the tol input of ismembertol (3rd input) and the DataScale input (if you want absolute tolerances, if you want relative tolerances, get rid of DataScale).
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!