【问题标题】:How to calculate residuals for two curves (matrixes) of different size?如何计算两条不同大小的曲线(矩阵)的残差?
【发布时间】:2012-02-20 06:08:47
【问题描述】:

我有一条通过数值计算的理论曲线和一条实验曲线(最好是大量的实验点)。我需要计算这两条曲线之间的残差,以检查使用最小二乘法建模的准确性。这些矩阵(曲线)大小不同。 MATLAB中有没有函数可以计算两个不同大小的矩阵的残差?

【问题讨论】:

  • 您可以尝试对理论曲线进行插值,以便两条曲线具有相同的网格步长。​​
  • 嗯,这很明显。我真的应该尝试这样做。为什么我自己没有意识到?谢谢:)

标签: matlab curve-fitting approximation least-squares


【解决方案1】:

我想我会稍微详细说明一下 Aabaz 所说的话,以防其他人可能会觉得这很有用(尽管 Aabaz 的解释对于了解必要数学等的人来说可能已经足够清楚了)。

首先,我假设您有一个 2D 绘图,但将其推广到 ND 情况应该不难。

基本上,对于您的实验数据 (xi, yi) 中的每个点,使用您的“理论曲线”来估计 yi' 的值 xi。这可能是 Aabaz 所指的,通过使网格步长相同,以便您使用曲线公式在实验数据的 x 坐标值 xi 处精确插值点。

接下来,要衡量拟合是否良好,您可以例如:使用以下方法测量平方差之和:

error = sum( (yi' - yi)^2 ){where i range over all points in your exp. data}

当然,除最小二乘之外的其他误差指标也可用于估计数据与您的模型(即您的曲线)的拟合程度,但到目前为止,对于大多数应用程序来说,最小二乘是最常见的。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多