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 开发Activex组件方法
Nov 08 Python
在Python中实现贪婪排名算法的教程
Apr 17 Python
Python functools模块学习总结
May 09 Python
编写Python小程序来统计测试脚本的关键字
Mar 12 Python
python解决网站的反爬虫策略总结
Oct 26 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
详解python中asyncio模块
Mar 03 Python
python合并同类型excel表格的方法
Apr 01 Python
使用Python实现跳帧截取视频帧
May 31 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
详解anaconda离线安装pytorchGPU版
Sep 08 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
简单的js计算器实现
2016/10/26 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
python中的变量如何开辟内存
2018/06/26 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
python使用Matplotlib画条形图
2020/03/25 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
python开发入门——set的使用
2020/09/03 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
反邪教标语
2014/06/23 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
关于环保的宣传稿
2015/07/23 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电