圆月山庄资源网 Design By www.vgjia.com

构建一个二阶多项式: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,numpy,求解多项式,多项式拟合

圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com