Quantify Similarity Between Curve Shapes

조회 수: 13 (최근 30일)
Koustubh Gohad
Koustubh Gohad 2016년 8월 3일
답변: MahdiH 2022년 5월 12일
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!

답변 (2개)

Eduardo Esteban Ibáñez
Eduardo Esteban Ibáñez 2022년 2월 9일
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 2022년 5월 12일
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.

카테고리

Help CenterFile Exchange에서 Correlation and Convolution에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by