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处理XML格式数据的方法详解
Mar 21 Python
快速了解Python相对导入
Jan 12 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
对Python函数设计规范详解
Jul 19 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
学习Python爬虫的几点建议
Aug 05 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 Python
Python3接口性能测试实例代码
Jun 20 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 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
域名和cookie问题(域名后缀)
2012/10/10 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
详解JavaScript函数
2015/12/01 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
Python解惑之整数比较详解
2017/04/24 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
详解Python IO编程
2020/07/24 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
化工专业推荐信范文
2013/11/28 职场文书
运动会通讯稿50字
2014/01/30 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
2015年度党员个人总结
2015/02/14 职场文书
实习班主任自我评价
2015/03/11 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
基于python制作简易版学生信息管理系统
2021/04/20 Python