2017-03-07 565 views
2

我試圖用同樣的方法,因爲這工具,以適應在C#中Akima樣條曲線:https://www.mycurvefit.com/share/4ab90a5f-af5e-435e-9ce4-652c95c3d9a7配件的Akima樣條曲線

這條曲線給我確切的形狀(曲線在達到頂峯後,我X = 30M,從樣本數據中的最高點)

但是當我使用MathNet的阿克瑪功能,和情節來自同一數據集52分:

var x = new List<double> { 0, 15000000, 30000000, 40000000, 60000000 }; 
    var y = new List<double> { 0, 93279805, 108560423, 105689254, 90130257 }; 

    var curveY = new List<double>(); 
    var interpolation = MathNet.Numerics.Interpolation.CubicSpline.InterpolateAkima(x.ToArray(), y.ToArray()); 

    for (int i=1; i<=52; i++) 
    { 
     var cY = interpolation.Interpolate((60000000/52)*i); 
     curveY.Add(cY); 
    } 

我不明白在同一曲線所有的,我得到一個在X = 26M左右達到峯值的曲線,看起來更像一個Natur Al Spline:https://www.mycurvefit.com/share/faec5545-abf1-4768-b180-3e615dc60e3a

Akimas看起來如此不同的原因是什麼? (特別是在峯而言)

回答

0

插值方法等待雙參數但這是整數(52分之60000000)* I

變化(60000000/52) * i(60000000d/52d) * i

enter image description here

+0

這是一個很好的地方,但並沒有改變太多東西(生成的曲線仍然離開給定的Akima示例的數英里) – FBryant87