【问题标题】:Matlab: calculate translation between two graphsMatlab:计算两个图之间的平移
【发布时间】:2014-02-11 17:06:10
【问题描述】:

考虑以下图表:

所有图表均代表表面的测量值,但取自不同方向。

我想计算蓝色图表与红色图表相比向右移动了多少。 MATLAB中是否有内置函数来实现这一点?如果不是,还有什么方法可以近似“相”移?

【问题讨论】:

  • 相关性是您正在寻找的(corr 函数)吗?

标签: matlab curve-fitting


【解决方案1】:

您可以使用xcorr 快速而肮脏的解决方案,假设移位不是太大并且采样相等:

[c lags] = xcorr(red,blue); 

c 是实际相关性。 lags 是在将 blue 输入与 red 关联之前对输入所做的转换。

因此,lags(c==max(c)) 应该告诉您将blue 移动多少才能与red 获得最佳匹配。

【讨论】:

  • +1 要考虑多个蓝色和红色图表,您可以一方面计算红色图表的总和,另一方面计算蓝色图表的总和,然后将xcorr应用于这些总和跨度>
猜你喜欢
  • 1970-01-01
  • 2017-03-20
  • 1970-01-01
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
  • 2016-09-11
相关资源
最近更新 更多