Finding differences between two vectors in an explicit way.

조회 수: 3 (최근 30일)
Jenna Wong
Jenna Wong 2019년 10월 27일
댓글: Jenna Wong 2019년 10월 27일
I am trying to compare two vectors, let's say
vec1 = [5 4 2 1 3 1 1 1 4];
vec2 = [5 4 2 5 3 2 1 2 2];
As you can see, they differ in indices 4, 6, 8, 9. I would like to determine how they differ, so that I get the following information:
The number 1 from vec1 is classified as a 5 in vec2 one time.
The number 1 from vec1 is classified as a 2 in vec2 two times.
The number 4 from vec1 is classified as a 2 in vec2 one time.
I would like to get it as a numerical result so that it is easier to work with, e.g.:
[1 5 1
1 2 2
4 2 1];
These vectors will be very long. Is there a fast way to go about this? Thank you all!
  댓글 수: 2
Ajay Kumar
Ajay Kumar 2019년 10월 27일
Are there only single digit values in vec1 and vec2?
If not how are double and tripe digits are differed from vec1 and vec 2?
for example: how is 111 referred as? 555?
Jenna Wong
Jenna Wong 2019년 10월 27일
Yes, only single digit values. In this case, where vec1 is a list of true class labels, and vec2 is a list of predicted class labels, I would expect 111 and 555 to be distinct separate classes, so they would just be the actual numbers:
vec1 = [5 4 2 1 3 1 1 1 4 111]

댓글을 달려면 로그인하십시오.

채택된 답변

the cyclist
the cyclist 2019년 10월 27일
편집: the cyclist 2019년 10월 27일
% Input vectors
vec1 = [5 4 2 1 3 1 1 1 4];
vec2 = [5 4 2 5 3 2 1 2 2];
% Identify the mismatched rows, and create a matrix of them
idx = vec1~=vec2;
mismatchedRows = [vec1(idx); vec2(idx)]';
% Find the *unique* mismatched rows, and the indices from the unique ones
% back to the original ones
[uniqueMismatchedRows,~,indexBacktoOriginal] = unique(mismatchedRows,'row','stable');
% Count the number of occurrences of each mismatch row
count = histcounts(indexBacktoOriginal,[unique(indexBacktoOriginal); Inf]);
% Put it all together for the output
output = [uniqueMismatchedRows count'];
  댓글 수: 1
Jenna Wong
Jenna Wong 2019년 10월 27일
Thank you, that works perfectly! I need to learn how to use the function "unique" more often.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Classification에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by