-2

我不熟悉专家数学。所以我不知道从哪里开始。

我有一篇这样的文章。我只是按照这篇文章的描述。但这对我来说并不容易。

但我不确定如何从上述 4 个多项式方程中只制作一个多项式方程(或类似的东西)。这是可能的方式吗?

如果是,请您帮我如何获得多项式(或类似方程)?如果不是,你能告诉我为什么吗?

更新

I'd like to try as following 


clear all ;
clc

ab = (H' * H)\H' * y;
y2 = H*ab;

Finally I can get some numbers like this.



So, is this meaning?



As you can see the red curve line, something wrong.
What did I miss anythings?
4

1 回答 1

1

文章所说的只是“您可以将多个数据集组合成一个以获得单个多项式”。

您也可以朝另一个方向前进:将您的数据集细分为多个片段,并获得尽可能多的独立片段。(这称为 n 倍验证。)

您从 n 个点 (x, y) 的集合开始。(保持简单,只有一个自变量 x 和一个因变量 y。)

您的第一步应该是绘制数据,查看数据,并考虑两者之间的哪种关系可以很好地解释它。

你的下一步是为两者之间的关系假设某种形式。人们喜欢多项式,因为它们易于理解和使用,但其他更复杂的关系也是可能的。

一个多项式可能是:

y = c0 + c1*x + c2*x^2 + c3*x^3

这是因变量 y 和自变量 x 之间的一般关系。

你有 n 个点 (x, y)。您的功能无法通过一点。在我给出的示例中,只有四个系数。你如何计算 n >> 4 的系数?

这就是矩阵的用武之地。你有 n 个方程:

y(1) = c0 + c1*x(1) + c2*x(1)^2 + c3*x(1)^3
....
y(n) = c0 + c1*x(n) + c2*x(n)^2 + c3*x(n)^3

您可以将这些写为矩阵:

y = H * c

其中素数表示“转置”。

通过 transpose( X )预乘两边:

转置(X)* y = 转置(H)* H * c

执行标准矩阵求逆或 LU 分解来求解系数c的未知向量。这些特定的系数最小化了在每个点 x 处评估的函数与实际值 y 之间的差异平方和。

更新:

我不知道这些多项式的这种固定来自哪里。

你的 y 向量?错误的。你的H矩阵?又错了。

如果您必须坚持使用这些多项式,我建议您这样做:您的绘图中有一系列 x 值。假设您有 100 个 x 值,在 0 和最大值之间等距。这些是插入 H 矩阵的值。

使用多项式合成一组 y 值,每个多项式一个。

将所有这些组合成一个大问题并求解一组新的系数。如果你想要一个三阶多项式,你将只有四个系数和一个方程。它将代表您使用四个多项式创建的所有合成数据的最小二乘最佳近似值。

于 2015-08-12T00:15:50.563 回答