How to calculate if two matrices have similar elements.

7 Ansichten (letzte 30 Tage)
Thomas
Thomas am 27 Aug. 2012
I've got a number of different csv files which have the following format;
Number, Number, Number, Number, Number, Text.
Below are some examples.
3764.92,3764.92,-759.167,58.8299,65.4035,1,One
165.493,3234.51,-1940.46,311.928,63.8692,1,Three
I was wondering if its at all possible to calculate if 2 different matrices have similar elements (the same rows) and how many of the same elements they have. There are 34 columns per file.
Any help would be much appreciated!

Akzeptierte Antwort

Dishant Arora
Dishant Arora am 27 Aug. 2012
Bearbeitet: Dishant Arora am 27 Aug. 2012
total=0;
for num=1:34
if isequal(file1(num),file2(num))
total=total+1;
end
end
sum will return the number of same elements
  5 Kommentare
Walter Roberson
Walter Roberson am 27 Aug. 2012
Your values are floating point. Floating point values that are not calculated exactly the same way often have round-off differences, and so will not compare equal.
Dishant Arora
Dishant Arora am 27 Aug. 2012
Bearbeitet: Dishant Arora am 27 Aug. 2012
bascially you want number of common elements in the files?? does the rows here follow the same pattern as above , i mean with last element as string and all other elements of class double(numbers).
if this is the case, try this:
mat1=cell2mat(file1(1:end-1));
mat2=cell2mat(file2(1:end-1));
total=length(intersect(mat1,mat2))+isequal(file1(end),file2(end));

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by