要拟合关于 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。预测值是根据拟合的多项式生成的。

Python 三阶多项式拟合:代码示例与解析

原文地址: https://www.cveoy.top/t/topic/olZa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录