Quantify Similarity Between Curve Shapes

13 visualizzazioni (ultimi 30 giorni)
Koustubh Gohad
Koustubh Gohad il 3 Ago 2016
Risposto: MahdiH il 12 Mag 2022
Hi
I have several plots of some data that I collect everyday. I need some method to quantify the similarity between their shapes only without considering the Y-axis values. I can see from the figures below that the difference between the first and the last points is around 2.8 for both. X-axis values are the same for both curves. This is one set of curves:
Fig(1)
Fig(2)
If I calculate 2-D correlation (corr2) for these two vectors, I get a value of around 0.97. Is corr2 an accurate measure of similarity?
Any help would be greatly appreciated!

Risposte (2)

Eduardo Esteban Ibáñez
Eduardo Esteban Ibáñez il 9 Feb 2022
Hello,
I have the same trouble. In my opinion, I think that cross correlation isn't the best method to calculate similarity in two random vectors, because it works better with signals comparisons with possitive and negative amplitudes. Did you find solution for your problem ?
Thanks!!
Best regards

MahdiH
MahdiH il 12 Mag 2022
I suggest using Procrustes analysis. let's say the top curve is "a" and the bottom one is "b", then:
[d,Z,tr] = procrustes(a,b);
Where d is the dis-similarity between a and b.

Community Treasure Hunt

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

Start Hunting!

Translated by