所以基本上我有这样的东西
[always 8 numbers]
5-->10
2-->4
9-->18
7-->14
我知道四个x和四个x的答案。我需要找到方程式,使其适合所有这些x及其答案。我知道有无限数量的方程,但如果可能的话,我想求解最短的方程。
对于此示例x*2 或 x+x 最适合当然,像这样的东西 x*3-x 和无数个其他方程也可以工作,但它们不是像 x*2 这样的最优方程
有什么想法、理论或算法可以解决类似的问题吗?
使用您提供的数字:
5-->10
2-->4
9-->18
7-->14
您希望找到 a、b、c 和 d 来求解由以下定义的系统:
ax^3 + bx^2 + cx + d = f(x)
因此,在您的情况下,它是:
125a + 25b + 5c + d = 10
8a + 4b + 2c + d = 4
729a + 81b + 9c + d = 18
343a + 49b + 7c + d = 14
如果你求解系统,你会发现(a,b,c,d)必须是(0,0,2,0)。因此,最小多项式是 2x。
我前段时间做了一个网站来解决这个问题:
http://juanlopes.net/actually42/#5%2010%202%204%209%2018%207%2014/true/true
如果您的目标是将数据拟合到多项式函数,即:
f(x) = a_0 + a_1*x + a_2*x^2 + ... + a_n*x^n 其中每个a_i都是实数(或复数),
然后有一些理论可以证明何时可以将所有这些点放在一条曲线上。 你可以做的是选择一个度数(x的最高幂),然后写下方程组并求解系统(或尝试求解它)。 例如,如果度数为 2,则数据将变为:
10 = a_0 + a_1*5 + a_2*5^2
4 = a_0 + a_1*2 + a_2*2^2
等
如果你能够解决系统,那就太好了。 如果没有,你需要更大的学位。 求解系统可以通过矩阵乘法以多种语言完成(内置)。 您可能想首先说:我的数据都可以适应 1 次多项式吗?如果是,则完成。 如果不是,它是否适合 2 次多项式?如果是,则完成。 如果没有,则为3级等。 但要小心,因为一般来说,你可能有无法"完全"拟合多项式(或任何与此相关的函数)的数据。 如果你只想要一个非常接近的低次多项式,那么你想研究多项式回归(这将给你一个最佳拟合多项式),请参阅:http://en.wikipedia.org/wiki/Polynomial_regression