如何计算表格的线性方程?

时间:2011-03-31 17:48:45

标签: math interpolation equation

我正在编写一个程序,可以执行从Brix规模到其他一些单位的单位转换。

该程序通过向用户显示比例来工作,并允许用户单击比例以选择Brix测量。我使用的范围介于1和1之间。 30.

问题是,规模不是线性的。随着Brix数量越来越高,每个增量之间的空间越大,所以我需要找出线性方程,这样我就可以将用户输入的y位置转换为刻度上的数字。

我制作了下面的图表来显示白利糖度值和用户点击的y位置之间的相关性(以像素为单位):

Brix | PosY  
=====|=====  
  0  |   0  
  1  |  10  
  5  |  50
 10  | 100    
 12  | 123    
 15  | 155    
 16  | 167    
 19  | 201    
 21  | 225    
 24  | 262    
 26  | 287    
 28  | 314    
 30  | 340

基本上,考虑到PosY,我需要能够找出白利糖度。如何确定要使用的等式?

2 个答案:

答案 0 :(得分:1)

对于非线性情况下的插值,人们通常使用三次样条拟合和插值。根据您所需的准确度,您可以通过分段线性拟合来实现;也就是说,在连续的点对之间进行独立的线性插值。

答案 1 :(得分:0)

嗯,您的数据“几乎”是线性的:

  Brix(PosY) := 0.092 * PosY

enter image description here

如果你真的想要一个更好的近似值(我认为这是不可能的),你可以尝试:

  Brix(PosY) := 0.10370203*Posy + 0.051016908*Cos[(227.63841*Posy)] - 
                0.056852482*Cos[(0.10305045*Posy)] - 4.6300302*10^-5*Posy^2

给出了:

enter image description here

我通过 Eureqa

使用最小二乘法得到了最后一个