2013-06-29 52 views
0

我得到了不錯的編程經驗,但是我的數學不好,所以我需要一些關於這些公式的幫助。關於數學公式的函數

enter image description here

語言並不重要,但我需要弄清楚如何我可以創建這樣的圖形公式。我有一輛可以移動的汽車,而且我需要它順利移動。我的目標是:

double acceleration(double x) 
{ 
//math formulas and so on 
return y; 
} 

打電話時:

acceleration(140) // should return ~1 
acceleration(20) // should return 0.2 
acceleration(40) // should return 0.6 
acceleration(100) // 0.8 
acceleration(160) // ~1 
acceleration(180) // ~0.6 

等..

我畫了這一點,但我想創建基於此圖形的功能。任何資源/例子將不勝感激。

+1

您可以對圖形使用分段線性逼近。 –

+0

分段線性不平滑。 – Joni

回答

1

我的建議是閱讀有關函數的多項式擬合。你可以看到8個點,我可以看到 - 你在6和0時刻加零加速度。很容易將多項式擬合到這些點並近似該曲線。

A Lagrangian approach會很容易。如果你有需求連續性,你也可以看看別人。

3

Spline interpolation產生很好,光滑的分段多項式曲線,通常用於這種事情。它們通常在圖書館中實施。如果你使用Java,你可以使用Apache Commons Math的SplineInterpolator

樣條曲線優於簡單多項式,因爲它避免了插補間隔(Runge's phenomenon)邊緣處的自然振盪。

另一種選擇是對數據擬合低次多項式。從你的圖看起來像一個四次多項式就足夠了。儘管如此,您對曲線的控制不如使用樣條曲線。