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中的列表推导浅析
Apr 26 Python
Python Django使用forms来实现评论功能
Aug 17 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
Keras中的两种模型:Sequential和Model用法
Jun 27 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
浅析Python 序列化与反序列化
Aug 05 Python
python 实现倒计时功能(gui界面)
Nov 11 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 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入门学习的几个不错的实例代码
2008/07/13 PHP
PHP抽象类 介绍
2012/06/13 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
javascript每日必学之循环
2016/02/19 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
python将文本转换成图片输出的方法
2015/04/28 Python
深入学习Python中的装饰器使用
2016/06/20 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
详解如何减少python内存的消耗
2019/08/09 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
python 如何在测试中使用 Mock
2021/03/01 Python
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
投标邀请书范文
2014/01/31 职场文书
客户答谢会活动方案
2014/08/31 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js