1

我正在编写一个程序,该程序将一些单位从 Brix 标度转换为其他单位。

该程序通过向用户显示刻度来工作,并允许用户单击刻度以选择白利糖度测量值。我使用的范围在 1 到 30 之间。

问题是,比例不是线性的。随着白利糖度数越来越高,每个增量之间的空间越来越大,所以我需要找出线性方程,它允许我将用户输入的 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,我需要能够计算 Brix。如何确定要使用的方程式?

4

2 回答 2

1

对于不知道确切方程的非线性情况下的插值,人们通常使用三次样条拟合和插值。根据您需要的精度,您可以通过分段线性拟合来解决;也就是说,在连续的点对之间进行独立的线性插值。

于 2011-03-31T18:23:04.090 回答
0

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

  Brix(PosY) := 0.092 * PosY

在此处输入图像描述

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

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

这使:

在此处输入图像描述

我通过Eureqa使用最小二乘法得到了最后一个

于 2011-03-31T18:40:46.487 回答