Quantify Similarity Between Curve Shapes

15 ビュー (過去 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 Center および File ExchangeCorrelation and Convolution についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by