2个矩阵之间的插值问题

时间:2013-12-03 01:53:53

标签: matlab interpolation

我有两个矩阵:(时间,观察)和(时间,模型)。

我需要做的是将模型数据时间分辨率与观测数据相匹配(它们在不同的时间尺度上)。

到目前为止,我已经能够使用简单插值来实现这一目标。

但是,使用我的最新模型时,某些时间数据会重叠(我在matlab中得到的错误是:“x值应该是不同的”)。

如何最优雅地解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果在你的模型中,时间点确实有重复,那么我希望相应的模型预测是相同的。

通过这种方式,模型预测与观察不同:在同一时间点进行的第二次测量有助于约束模型,但在同一时间点评估模型两次是没有用的。

要放弃重复的模型预测,您可以使用unique。如果模型预测存储在具有两列的矩阵M中,一列用于时间戳,另一列用于预测,则可以使用M = unique(M, 'rows');消除重复预测。

答案 1 :(得分:0)

我认为这是你的问题:

X1 = [1 2 3]
Y1 = [10 20 30]
X2 = [0.9 2 2.1]
Y2 = [21 21 21]

并且您希望使用两个向量中的值进行插值。

以下是您可以做的事情:

首先创建一个唯一x值列表,然后找到相应的y值。例如,平均值。在此之后,您可以像以前一样继续您的流程。