Python实现二维曲线拟合的方法


Posted in Python onDecember 29, 2018

如下所示:

from numpy import *
import numpy as np
import matplotlib.pyplot as plt

plt.close()
fig=plt.figure()
plt.grid(True)
plt.axis([0,10,0,8])

#列出数据
point=[[1,2],[2,3],[3,6],[4,7],[6,5],[7,3],[8,2]]
plt.xlabel("X")
plt.ylabel("Y")

#用于求出矩阵中各点的值
XSum = 0.0
X2Sum = 0.0
X3Sum = 0.0
X4Sum = 0.0
ISum = 0.0
YSum = 0.0
XYSum = 0.0
X2YSum = 0.0


#列出各点的位置
for i in range(0,len(point)):

 xi=point[i][0]
 yi=point[i][1]
 plt.scatter(xi,yi,color="red")
 show_point = "("+ str(xi) +","+ str(yi) + ")"
 plt.text(xi,yi,show_point)

 XSum = XSum+xi
 X2Sum = X2Sum+xi**2
 X3Sum = X3Sum + xi**3
 X4Sum = X4Sum + xi**4
 ISum = ISum+1
 YSum = YSum+yi
 XYSum = XYSum+xi*yi
 X2YSum = X2YSum + xi**2*yi

# 进行矩阵运算
# _mat1 设为 mat1 的逆矩阵
m1=[[ISum,XSum, X2Sum],[XSum, X2Sum, X3Sum],[X2Sum, X3Sum, X4Sum]]
mat1 = np.matrix(m1)
m2=[[YSum], [XYSum], [X2YSum]]
mat2 = np.matrix(m2)
_mat1 =mat1.getI()
mat3 = _mat1*mat2

# 用list来提取矩阵数据
m3=mat3.tolist()
a = m3[0][0]
b = m3[1][0]
c = m3[2][0]
# 绘制回归线
x = np.linspace(0,10)
y = a + b*x + c*x**2
plt.plot(x,y)
show_line = "y="+str(a)+"+("+str(b)+"x)"+"+("+str(c)+"x2)";
plt.title(show_line)
plt.show()

以上这篇Python实现二维曲线拟合的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
跟老齐学Python之print详解
Sep 28 Python
python内存管理分析
Apr 08 Python
Python爬取三国演义的实现方法
Sep 12 Python
python多线程socket编程之多客户端接入
Sep 12 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
python @property的用法及含义全面解析
Feb 01 Python
python使用selenium实现批量文件下载
Mar 11 Python
Python多项式回归的实现方法
Mar 11 Python
Python如何调用JS文件中的函数
Aug 16 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
python修改txt文件中的某一项方法
Dec 29 #Python
神经网络相关之基础概念的讲解
Dec 29 #Python
Python实现的KMeans聚类算法实例分析
Dec 29 #Python
Python使用pyshp库读取shapefile信息的方法
Dec 29 #Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 #Python
Python 确定多项式拟合/回归的阶数实例
Dec 29 #Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 #Python
You might like
ThinkPHP采用模块和操作分析
2011/04/18 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
js url传值中文乱码之解决之道
2009/11/20 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
jquery实现鼠标悬浮停止轮播特效
2020/08/20 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
JS实现小米轮播图
2020/09/21 Javascript
对Python发送带header的http请求方法详解
2019/01/02 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
python 实现识别图片上的数字
2019/07/30 Python
python中如何使用虚拟环境
2020/10/14 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
医学生自荐信
2013/12/03 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
抽样调查项目计划书
2014/04/24 职场文书
2014年教研员工作总结
2014/12/23 职场文书
初中班长竞选稿
2015/11/20 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
golang switch语句的灵活写法介绍
2021/05/06 Golang