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 相关文章推荐
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
python 循环while和for in简单实例
Aug 16 Python
详解Python实现按任意键继续/退出的功能
Aug 19 Python
python实现报表自动化详解
Nov 16 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
May 27 Python
Python可变和不可变、类的私有属性实例分析
May 31 Python
python打开windows应用程序的实例
Jun 28 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 Python
python实现简易名片管理系统
Apr 11 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
Apr 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
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
php筛选不存在的图片资源
2015/04/28 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
JavaScript类的写法
2016/09/17 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
分析在Python中何种情况下需要使用断言
2015/04/01 Python
TensorFlow实现模型评估
2018/09/07 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
python集合是否可变总结
2019/06/20 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
外科实习自我鉴定
2013/10/06 职场文书
我的求职择业计划书
2014/04/04 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
大学生军训感言
2015/08/01 职场文书
入党申请书怎么写?
2019/06/11 职场文书
导游词之桂林
2019/08/20 职场文书
Redis批量生成数据的实现
2022/06/05 Redis
mysqldump进行数据备份详解
2022/07/15 MySQL