# Compare two vectors for similarity

578 views (last 30 days)
Souparno Bandyopadhyay on 9 Dec 2012
Commented: maxanto on 2 Feb 2022
How to compare two vectors quickly. Right now I print out each in a loop and examine them by eye, is there a way i can find if two are almost similar.
##### 2 CommentsShowHide 1 older comment
maxanto on 2 Feb 2022
isequal(a, b)
Returns true if each element of vector a is equal to each element of vector b. If some element of a are different from b returns false.

Sign in to comment.

### Accepted Answer

Matt Fig on 9 Dec 2012
What is the criteria for 'almost similar' in your application? 90% same exact values? 90% of the values in one vector within 95% of some other value in the other vector? Do the values have to be in the same positions? Do the vectors have to be the same length? Perhaps a few short examples would help...
##### 5 CommentsShowHide 4 older comments
Souparno Bandyopadhyay on 10 Dec 2012
yes, S = sum(A-B), is what I was looking for.

Sign in to comment.

### More Answers (1)

Greg Heath on 10 Dec 2012
S = sum(A-B) is NOT a useful function for quantifying similarity because positive and negative terms will cancel.
The most common are
mae(A-B) % mean(abs(A-B))
sae(A-B) % sum(abs(A-B))
norm(A-B,1) % sum(abs(A-B))
norm(A-B,inf) % max(abs(A-B))
mse(A-B) % mean((A-B).^2)
sse(A-B) % sum((A-B).^2)
norm(A-B) % sqrt(sse(A-B))
Hope this helps.
Thank you for formally accepting my answer
Greg
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Categories

Find more on Digital Filter Analysis in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by