构建一个二阶多项式:x^2 - 4x + 3
多项式求解
>>> p = np.poly1d([1,-4,3]) #二阶多项式系数
>>> p(0) #自变量为0时多项式的值
3
>>> p.roots #多项式的根
array([3., 1.])
>>> p(p.roots) #多项式根处的值
array([0., 0.])
>>> p.order #多项式的阶数
2
>>> p.coeffs #多项式的系数
array([ 1, -4, 3])
>>>
多项式拟合
用三阶多项式去拟合
import matplotlib.pyplot as plt
import numpy as np
n_dot = 20
n_order = 3 #阶数
x = np.linspace(0,1,n_dot) #[0,1]之间创建20个点
y = np.sqrt(x) + 0.2*np.random.rand(n_dot)
p = np.poly1d(np.polyfit(x,y,n_order)) #拟合并构造出一个3次多项式
print(p.coeffs) #输出拟合的系数,顺序从高阶低阶
#画出拟合出来的多项式所表达的曲线以及原始的点
t = np.linspace(0,1,200)
plt.plot(x,y,'ro',t,p(t),'-')
plt.show()
以上这篇在python中利用numpy求解多项式以及多项式拟合的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:Python实现的多项式拟合功能示例【基于matplotlib】Python 普通最小二乘法(OLS)进行多项式拟合的方法Python 确定多项式拟合/回归的阶数实例Python多项式回归的实现方法详解Pytorch 使用Pytorch拟合多项式(多项式回归)