Determining the difference between two vectors

hello friends,
i have to find error between 2 array. i sent a data from transmitter to receiver.
data transmitted is;
td = [1 1 1 0 0 0 1 1 0 1 0 1 1 0 0];
and the data received is;
rd = [0 1 1 0 1 0 1 1 0 1 0 1 1 0 1];
and the number of error is 3 as it is seen above
but how can i find the error number by matlab code?..
Thanks for your helps.

 채택된 답변

추가 답변 (3개)

Matt Fig
Matt Fig 2011년 3월 24일

4 개 추천

Expanding on Paulo's answer, to get the logical index locations of the errors, do this:
locs = td~=rd
now to find out how many there are, I would use
errornumber = sum(locs) % Or just sum(td~=rd) if locs not needed.
If you need the linear index number of the errors, then use FIND, as Paulo shows.

댓글 수: 2

simple code :) +1 vote
Hello, this works perfect. Thanks. But what if sizes of 2 arrays are not equal? How to find the mismatch between those?

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

Paulo Silva
Paulo Silva 2011년 3월 24일

1 개 추천

yet another way
sum((td & rd | (~td & ~rd))==0)
even more simple
sum(~((td & rd | (~td & ~rd))))
even better
sum(xor(td,rd))
osman yurdakul
osman yurdakul 2011년 3월 24일

0 개 추천

thanks for all helps it's working properly now thanks again ...

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

태그

아직 태그를 입력하지 않았습니다.

질문:

2011년 3월 24일

댓글:

2022년 7월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by