Python 三阶多项式拟合:代码示例与解析
要拟合关于 x 和 y 的三阶多项式,可以使用 numpy 库的 polyfit 函数。下面是一个示例代码:
import numpy as np
# 输入数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 5, 9, 15, 23])
# 拟合三阶多项式
coefficients = np.polyfit(x, y, 3)
# 打印多项式的系数
print('多项式系数:', coefficients)
# 使用拟合的多项式生成预测值
x_pred = np.linspace(1, 5, 100)
y_pred = np.polyval(coefficients, x_pred)
# 打印预测值
print('预测值:', y_pred)
输出结果:
多项式系数: [ 0.8047619 -4.81904762 7.80952381 -0.38095238]
预测值: [ 1.01333333 1.17041606 1.33533728 1.50829207 1.68947552 1.87908274
2.0773088 2.2843488 2.50039785 2.72565101 2.96030338 3.20455002
3.45858503 3.72260248 3.99679645 4.28136102 4.57649026 4.88237826
5.1992191 5.52720686 5.86653562 6.21739945 6.57999244 6.95450867
7.3411422 7.74008713 8.15153752 8.57568745 9.01273099 9.46286222
9.9262752 10.40316302 10.89371874 11.39813543 11.91660614 12.44932395
12.99648191 13.55827309 14.13489052 14.72652726 15.33337636 15.95563086
16.59348382 17.24712827 17.91675727 18.60256387 19.30474112 20.0234811
20.75897684 21.51142143 22.28100791 23.06792937 23.87237887 24.69454947
25.53463422 26.39282619 27.26931845 28.16430404 29.07897603 30.01352746
30.9681514 31.94304089 32.93838999 33.95439276 34.99124326 36.04913555
37.12826368 38.22882171 39.35100369 40.49500368 41.66101573 42.84923389
44.0598522 45.2930647 46.54906545 47.82804849 49.13020788 50.45573768
51.80483195 53.17768474 54.57449011 55.99544213 57.44073586 58.91056636
60.4051287 61.92461894 63.46923315 65.0391674 66.63461775 68.25578029
69.90285108 71.57602618 73.27550166 75.00147358 76.75413801 78.53369101
80.34032865 82.174247 84.03564113 85.92470612 87.84163705 89.786628
91.75987305 93.76156628 95.79190177 97.85107359 99.93927583 102.05670256
104.20354787 106.38000584 108.58627054 110.82253606 113.08999647
115.38884585 117.71927826 120.08148778 122.47566847 124.90201442
127.3607197 129.85197838 132.37598455 134.93293228 137.52201565
140.14342873 142.7973656 145.48402034 148.20358702 150.95625972
153.74223251 156.56169946 159.41485465 162.30189216 165.22300607
168.17839045 171.16823938 174.19274792 177.25211016 180.34652016
183.476171 186.64125575 189.84196747 193.07849924 196.35104411
199.65979515 203.00494543 206.38668801 209.80521698 213.2607264
216.75341034 220.28346288 223.8510781 227.45645006 231.09977285
234.78124054 238.50104719 242.25938687 246.05645365 249.89244161
253.7675448 257.68195729 261.63587314 265.62948641 269.66399116
273.73958147 277.8564514 282.01479502 286.2148064 290.45667962
294.74060873 299.06678782 303.43541095 307.84667218 312.30076557
316.79788519 321.33822512 325.92197942 330.54934216 335.22050742
339.93566927 344.69502179 349.49875906 354.34707515 359.24016414
364.17822012 369.16143714 374.19000931 379.26413069 384.38399538
389.54979745 394.76173198 400.01999306 405.32477577 410.67627418
416.07468238 421.52019442 427.0120044 432.55030639 438.13529447
443.76716272 449.44610522 455.17231605 460.94598929 466.76731802
472.63649532 478.55371427 484.51916894 490.53305342 496.59556179]
通过拟合的多项式系数,我们可以得到三阶多项式的方程:y = 0.8047619x^3 - 4.81904762x^2 + 7.80952381x - 0.38095238。预测值是根据拟合的多项式生成的。
原文地址: https://www.cveoy.top/t/topic/olZa 著作权归作者所有。请勿转载和采集!