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 相关文章推荐
安装dbus-python的简要教程
May 05 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
Python2和Python3之间的str处理方式导致乱码的讲解
Jan 03 Python
python中open函数的基本用法示例
Sep 07 Python
Python中Subprocess的不同函数解析
Dec 10 Python
python随机模块random使用方法详解
Feb 14 Python
基于python实现模拟数据结构模型
Jun 12 Python
Django --Xadmin 判断登录者身份实例
Jul 03 Python
python数字类型和占位符详情
Mar 13 Python
Python绘制散点图之可视化神器pyecharts
Jul 07 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设计模式 Proxy (代理模式)
2011/06/26 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
javascript demo 基本技巧
2009/12/18 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
django输出html内容的实例
2018/05/27 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2014小学一年级班主任工作总结
2014/12/05 职场文书
学历证明范文
2015/06/16 职场文书
创业计划书之熟食店
2019/10/16 职场文书