2

我有一个问题,我使用线性最小二乘法将高阶多项式拟合到(不是很)嘈杂的数据。目前我正在使用 15 - 25 左右的多项式阶数,效果出奇的好:依赖性非常接近线性,但对“非常接近”进行建模的准确性至关重要。我正在使用 Matlab 的 polyfit() 函数,并且(显然)对 x 数据进行规范化。这通常工作正常,但我遇到了一些最近的数据集的问题。拟合多项式在 x 数据区间内具有极值。对于我正在处理的应用程序,这是一个非否。多项式模型在 x 区间上必须没有固定点。

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

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

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

4

1 回答 1

0

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

于 2011-10-29T16:24:13.417 回答