簡體   English   中英

在Python中通過Apple Numbers應用重新創建多項式

[英]Re-Creating Polynomial From Apple's Numbers App in Python

我目前正在尋找多項式方程來描述Python中的數據集(具有x和y值的簡單表)。 我需要一個多項式方程式來描述數據集,以便給定數字x,我可以得出它的y值。

如果我將這些數據集輸入到Apple的Numbers應用程序中並將它們繪制在圖形上,我將得到一個非常有用的多項式方程式,該方程式可以非常准確地預測我的y值。 但是,當使用Numpy導出具有相同數據集的多項式方程時,我得到了一個截然不同的多項式方程,該方程做出了非常不准確的預測。 我希望我的Python程序創建與數字應用程序生成的多項式更加接近的多項式方程。

一些細節:

我的x值(x_list):3.75652173913043、3.77930434782609、3.82608695652174

我的y值(y_list):0.0872881944444445、0.0872522935779816、0.0858840909090909

我的數字多項式:y = -0.5506x ^ 2 + 4.1549x-7.7508

我來自Numpy的多項式:y = -7.586x ^ 2 + 57.53x-108.7

我如何使用Numpy:多項式= numpy.poly1d(numpy.polyfit(x_list,y_list,deg = 2))

我在Python中的數字四舍五入到小數點后8位,但我認為差異太大了,因此無法解決。

簡而言之,我想知道Numbers如何推導這個多項式與Numpy的關系,以及我如何在不使用Numpy的情況下復制Numbers方法。 (我最終將不得不將程序從Python轉換為Swift。)

我用這段代碼得到的結果是准確的。 也許您可以發布代碼,我們可以提供更多幫助。

% x_list = [3.75652173913043, 3.79130434782609, 3.82608695652174]
% y_list = [0.0872881944444445, 0.0872522935779816, 0.0858840909090909]
% fit = numpy.polyfit(x_list, y_list, deg=2)
% y = numpy.poly1d(fit)
% print y
         2
-0.5506 x + 4.155 x - 7.751

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM