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实现从百度API获取天气的方法
Mar 11 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
Python requests库用法实例详解
Aug 14 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
Django实现列表页商品数据返回教程
Apr 03 Python
python实现简单学生信息管理系统
Apr 09 Python
PyTorch的Debug指南
May 07 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 Python
详解MindSpore自定义模型损失函数
Jun 30 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
树型结构列出指定目录里所有文件的PHP类
2006/10/09 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
python中logging包的使用总结
2018/02/28 Python
Python中文编码知识点
2019/02/18 Python
python实现抖音点赞功能
2019/04/07 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
如何给Python代码进行加密
2020/01/10 Python
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
认识深刻的检讨书
2014/02/16 职场文书
英语老师推荐信
2014/02/26 职场文书
2014年计生标语
2014/06/23 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
大学生自荐信范文
2015/03/05 职场文书
情人节单身感言
2015/08/03 职场文书
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers