0

我正在尝试使用多项式拟合来拟合 2d 数据,并发现在一定程度的多项式之后,numpy 会给出“排名警告”。另一方面,使用切比雪夫多项式进行拟合不会给出这样的警告。我可以使用 numpy 的 Chebyshev 来拟合相同的数据。输出是不同等级的切比雪夫多项式的形式。

我想计算这些切比雪夫多项式的数值,以便我可以将结果与正常多项式拟合进行比较。这是示例代码。

import numpy as np
from numpy.polynomial import Chebyshev as T
import os
from mpmath import *
mp.dps = 16 
mp.pretty = True

x = [1, 2, 3, 4, 5]
y = [0.90, 8.15, 26.84, 64.87, 124.0]

deg = 3
popt_poly = np.polyfit(x, y, deg)
popt_cheb = T.fit(x, y, deg)
ypred = np.polyval(popt_poly, x)
print(popt_poly)
print(ypred)
print(popt_cheb)

提前谢谢你。

4

0 回答 0