在python中利用numpy求解多项式以及多项式拟合的方法

yipeiwu_com6年前Python基础

构建一个二阶多项式: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设计】。

相关文章

使用selenium模拟登录解决滑块验证问题的实现

使用selenium模拟登录解决滑块验证问题的实现

本次主要是使用selenium模拟登录网页端的TX新闻,本来最开始是模拟请求的,但是某一天突然发现,部分账号需要经过滑块验证才能正常登录,如果还是模拟请求,需要的参数太多了,找的心累。不...

python 实现自动远程登陆scp文件实例代码

 python 实现自动远程登陆scp文件实例代码 实现实例代码: #!/usr/bin/expect if {$argc!=3} { send_user "Usage...

python实现把两个二维array叠加成三维array示例

python实现把两个二维array叠加成三维array示例

遇到这样一个需求:程序中每次循环生成一个二维array,需要把每次循环的二维array叠加成一个三维的array,例如有如下两个矩阵: 组合成以下这种形式: 这样组合之后,有一个非常...

Python 元组拆包示例(Tuple Unpacking)

1.元组? 元组的特点: 相当于不可变得列表; 可用于没有字段名的记录。 pythn里的元组就相当于C语言里的数组,是不可变的,但是也可以容纳不同类型的元素,也是容器的一种。 >...

python 对类的成员函数开启线程的方法

如下所示: # -*- coding: utf-8 -*- import threading import thread import time class Test(objec...