线性最小二乘拟合约束 - 任何想法?

时间:2011-10-28 22:07:07

标签: matlab interpolation mathematical-optimization polynomial-math curve-fitting

我有一个问题,我使用线性最小二乘拟合高阶多项式(非非常)噪声数据。目前我使用的是15-25左右的多项式阶数,效果非常好:依赖性非常接近线性,但“非常接近”建模的准确性至关重要。我正在使用Matlab的polyfit()函数,并且(显然)规范化x数据。这通常很好,但我遇到了一些最近的数据集的问题。拟合多项式在x数据区间内具有极值。对于我正在研究的应用程序,这是一个非禁止。多项式模型在x-区间内必须没有静止点。

所以我需要为最小二乘问题添加一个约束:拟合多项式的导数必须在已知的x范围内严格为正(或严格为负 - 这取决于数据,但简单的线性拟合会很快告诉我它是什么。)我已经快速了解了可用的优化工具箱功能,但我承认我不知道如何解决这个问题。有没有人有任何建议?

[我很欣赏这些数据的模型可能比多项式更好,但在短期内改变模型的形式是不可行的]

[结束语:我终于取代了这个糟糕的多项式模型!我将采用非参数方法,样条平滑,使用Jonas Lundgren的优秀SPLINEFIT代码。这样做的好处是我已经在最终用户应用程序中使用了样条模型,所以我已经有了C#代码来评估样条模型]

1 个答案:

答案 0 :(得分:0)

您可以使用cftool并使用排除数据点选项。