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 相关文章推荐
Python中的hypot()方法使用简介
May 18 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
python 读取excel文件生成sql文件实例详解
May 12 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
如何获取Python简单for循环索引
Nov 21 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
Keras在训练期间可视化训练误差和测试误差实例
Jun 16 Python
Python迭代器协议及for循环工作机制详解
Jul 14 Python
用python画城市轮播地图
May 28 Python
简单谈谈Python面向对象的相关知识
Jun 28 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 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
什么是MVC,好东西啊
2007/05/03 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
javascript一些不错的函数脚本代码
2008/09/10 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
JavaScript实现区块链
2018/03/14 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
python正则表达式re模块详细介绍
2014/05/29 Python
安装Python的教程-Windows
2017/07/22 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
python opencv如何实现图片绘制
2020/01/19 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
大二学生职业生涯规划书
2014/02/05 职场文书
体育教师求职信
2014/05/24 职场文书
工会经费申请报告
2015/05/15 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书