【发布时间】:2014-02-11 17:06:10
【问题描述】:
考虑以下图表:
所有图表均代表表面的测量值,但取自不同方向。
我想计算蓝色图表与红色图表相比向右移动了多少。 MATLAB中是否有内置函数来实现这一点?如果不是,还有什么方法可以近似“相”移?
【问题讨论】:
-
相关性是您正在寻找的(
corr函数)吗?
标签: matlab curve-fitting
考虑以下图表:
所有图表均代表表面的测量值,但取自不同方向。
我想计算蓝色图表与红色图表相比向右移动了多少。 MATLAB中是否有内置函数来实现这一点?如果不是,还有什么方法可以近似“相”移?
【问题讨论】:
corr 函数)吗?
标签: matlab curve-fitting
您可以使用xcorr 快速而肮脏的解决方案,假设移位不是太大并且采样相等:
[c lags] = xcorr(red,blue);
c 是实际相关性。 lags 是在将 blue 输入与 red 关联之前对输入所做的转换。
因此,lags(c==max(c)) 应该告诉您将blue 移动多少才能与red 获得最佳匹配。
【讨论】:
xcorr应用于这些总和跨度>