.Net多項式擬合


有一個項目需要擬合數據序列,從最簡單的線性擬合,到復雜的多項式擬合。對於線性擬合,有一個簡單的實現,請參考博客:利用最小二乘法擬合任意次函數曲線(C#)http://blog.sina.com.cn/s/blog_6e51df7f0100thie.html

其實有一個現成的庫可以用,可參考博客:使用、 Excel 和 Math.Net 進行曲線擬合和數據預測

我用了一些數據,做了一個簡單的例子,感覺挺好的:

            double[] X = new double[] { 1, 2, 3, 4, 5 };
            double[] Y = new double[] { 12, 16, 34, 45, 47 };
            double[] parameters = Fit.Polynomial(X, Y, 1);
            foreach (var item in parameters)
            {
                Console.WriteLine(item);
            }

需要先安裝Nuget 包:MathNet.Numerics。另外,其返回的參數是從第位開始的,比如對於“y=ax^2+bx+c”,c=p0,b=p1,c=p2。也可以理解為“y=p0+p1*x+p2*x*x”。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM