1

Brixスケールから他の単位への単位変換を行うプログラムを書いています。

このプログラムは、ユーザーにスケールを表示することで機能し、ユーザーはスケールをクリックして Brix 測定値を選択できます。私が使用している範囲は 1 ~ 30 です。

問題は、スケールが直線的でないことです。Brix 数値が高くなるにつれて、各インクリメント間のスペースが増えるため、ユーザー入力の y 位置をスケール上の数値に変換できる線形方程式を計算する必要があります。

次のグラフを作成して、brix 値とユーザー クリックの 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

正確な方程式がわからない非線形の状況での内挿では、一般に3次スプラインフィットと内挿を使用します。必要な精度によっては、区分的線形フィットでうまくいく可能性があります。つまり、連続するポイントのペア間で独立した線形補間を実行します。

于 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 に答える