在Python中从苹果的数字应用程序中重建多项式

2024-04-26 09:33:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在寻找多项式方程来描述Python中的数据集(一个x值和一个y值的简单表)。我需要一个多项式方程来描述数据集,这样给定一个数字x,我就可以得到它的y值。

如果我把这些数据集输入苹果的数字应用程序并把它们绘制在一个图表上,我就可以得到一个非常有用的多项式方程,它可以非常准确地预测我的y值。然而,当使用Numpy来推导具有相同数据集的多项式方程时,我得到的是一个非常不同的多项式方程,这使得预测非常不准确。我希望我的Python程序能够创建多项式方程,它更接近于numbers应用程序生成的方程。

一些细节:

我的x值(x_列表):3.75652173913043、3.79130434782609、3.82608695652174

我的y值(y_列表):0.0872881944444445、0.0872522935779816、0.0858840909090909

我的多项式来自数字:y=-0.5506x^2+4.1549x-7.7508

我的多项式是:y=-7.586x^2+57.53x-108.7

如何使用Numpy:多项式=numpy.poly1d(纽比.波利菲特(x_列表,y_列表,deg=2)

我在Python中的数字四舍五入到8个小数点,但我认为差异太大,不可能是舍入问题。

简言之,我想知道数字是如何导出这个多项式的,而Numpy是如何得到的,以及如何复制Numbers方法,理想情况下不使用Numpy。(我最终要把我的程序从Python翻译成Swift。)


Tags: 数据程序苹果numpy应用程序列表图表绘制
1条回答
网友
1楼 · 发布于 2024-04-26 09:33:50

我用这个代码得到的结果是准确的。也许如果你能发布你的代码,我们可以提供更多的帮助。

% 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

相关问题 更多 >