我有三组数据,例如:
x y
4 0
6 60
8 0
Run Code Online (Sandbox Code Playgroud)
有谁知道任何(有效的)Java代码可以回馈a,b和c(系数)的值?
我假设你想要这种形式的公式:
y = a * x^2 + b*x + c
Run Code Online (Sandbox Code Playgroud)
如果您只有三个点,则可以使用以下公式描述通过所有三个点的二次曲线:
y = ((x-x2) * (x-x3)) / ((x1-x2) * (x1-x3)) * y1 +
((x-x1) * (x-x3)) / ((x2-x1) * (x2-x3)) * y2 +
((x-x1) * (x-x2)) / ((x3-x1) * (x3-x2)) * y3
Run Code Online (Sandbox Code Playgroud)
在你的例子中:
x1 = 4, y1 = 0, x2 = 6, y2 = 60, x3 = 8, y3 = 0
Run Code Online (Sandbox Code Playgroud)
要根据x1,x2,x3,y1,y2和y3得到系数a,b,c,您只需要将公式相乘,然后收集项.这并不难,而且运行速度非常快,但输入的代码相当多.最好找一个已经为你做的包,但是如果你想自己做,这个你是怎么做到的.
在您的示例中,y个项中的两个为零的事实使得公式更简单,并且您可能能够利用它.但如果这只是巧合而不是一般规则,那么你需要完整的公式.
| 归档时间: |
|
| 查看次数: |
5445 次 |
| 最近记录: |