Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 根据已知的x和答案找到方程_Algorithm_Math_Linear Algebra - Fatal编程技术网

Algorithm 根据已知的x和答案找到方程

Algorithm 根据已知的x和答案找到方程,algorithm,math,linear-algebra,Algorithm,Math,Linear Algebra,所以基本上我有这样的东西 [always 8 numbers] 5-->10 2-->4 9-->18 7-->14 我知道四个x和四个x的答案。我需要找到一个方程,这样它就可以适用于所有的x和它们的答案。我知道可能有无限多个方程,但如果可能的话,我想求解最短的方程 例如 x*2或x+x最适合 当然,像这样的x*3-x和无穷多的其他方程也可以工作,但它们不是像x*2这样的最理想的方程 有解决类似问题的想法、理论或算法吗?如果您的目标是将数据拟合到多项式函数,例如: fx

所以基本上我有这样的东西

[always 8 numbers]
5-->10
2-->4
9-->18
7-->14
我知道四个x和四个x的答案。我需要找到一个方程,这样它就可以适用于所有的x和它们的答案。我知道可能有无限多个方程,但如果可能的话,我想求解最短的方程

例如 x*2或x+x最适合 当然,像这样的x*3-x和无穷多的其他方程也可以工作,但它们不是像x*2这样的最理想的方程


有解决类似问题的想法、理论或算法吗?

如果您的目标是将数据拟合到多项式函数,例如:

fx=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次多项式吗?如果是,完成。如果不是,它是否适合二次多项式?如果是,完成。如果不是的话,三次等等。但是要小心,因为一般来说,你可能有数据,你不能准确地适合多项式或任何函数。如果您只需要一个非常接近的低次多项式,那么您需要研究多项式回归,它将为您提供一个最佳拟合多项式,请参阅:

使用您提供的数字:

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

不久前,我创建了一个网站来解决这个问题:

x*2、x*3-x和x+x当然都是等价的。但还有其他一些答案是不等价的:例如2*x+x-2*x-5*x-9*x-7。你知道你的答案永远是一个次数最多为3的多项式吗?