python实现三维拟合的方法


Posted in Python onDecember 29, 2018

如下所示:

from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)

#列出实验数据
point=[[2,3,48],[4,5,50],[5,7,51],[8,9,55],[9,12,56]]
plt.xlabel("X1")
plt.ylabel("X2")

#表示矩阵中的值
ISum = 0.0
X1Sum = 0.0
X2Sum = 0.0
X1_2Sum = 0.0
X1X2Sum = 0.0
X2_2Sum = 0.0
YSum = 0.0
X1YSum = 0.0
X2YSum = 0.0

#在图中显示各点的位置
for i in range(0,len(point)):

 x1i=point[i][0]
 x2i=point[i][1]
 yi=point[i][2]
 ax.scatter(x1i, x2i, yi, color="red")
 show_point = "["+ str(x1i) +","+ str(x2i)+","+str(yi) + "]"
 ax.text(x1i,x2i,yi,show_point)

 ISum = ISum+1
 X1Sum = X1Sum+x1i
 X2Sum = X2Sum+x2i
 X1_2Sum = X1_2Sum+x1i**2
 X1X2Sum = X1X2Sum+x1i*x2i
 X2_2Sum = X2_2Sum+x2i**2
 YSum = YSum+yi
 X1YSum = X1YSum+x1i*yi
 X2YSum = X2YSum+x2i*yi

# 进行矩阵运算
# _mat1 设为 mat1 的逆矩阵
m1=[[ISum,X1Sum,X2Sum],[X1Sum,X1_2Sum,X1X2Sum],[X2Sum,X1X2Sum,X2_2Sum]]
mat1 = np.matrix(m1)
m2=[[YSum],[X1YSum],[X2YSum]]
mat2 = np.matrix(m2)
_mat1 =mat1.getI()
mat3 = _mat1*mat2

# 用list来提取矩阵数据
m3=mat3.tolist()
a0 = m3[0][0]
a1 = m3[1][0]
a2 = m3[2][0]

# 绘制回归线
x1 = np.linspace(0,9)
x2 = np.linspace(0,12)
y = a0+a1*x1+a2*x2
ax.plot(x1,x2,y)
show_line = "y="+str(a0)+"+"+str(a1)+"x1"+"+"+str(a2)+"x2"
plt.title(show_line)
plt.show()

以上这篇python实现三维拟合的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
Python3 正在毁灭 Python的原因分析
Nov 28 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
python2.7实现FTP文件下载功能
Apr 15 Python
Python中存取文件的4种不同操作
Jul 02 Python
python中实现字符串翻转的方法
Jul 11 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
python利用tkinter实现屏保
Jul 30 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 Python
Python threading模块condition原理及运行流程详解
Oct 05 Python
python 批量压缩图片的脚本
Jun 02 Python
Django数据库连接丢失问题的解决方法
Dec 29 #Python
Python Cookie 读取和保存方法
Dec 28 #Python
Python编程flask使用页面模版的方法
Dec 28 #Python
Python编程中flask的简介与简单使用
Dec 28 #Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 #Python
Python3 使用cookiejar管理cookie的方法
Dec 28 #Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 #Python
You might like
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
vue引入新版 vue-awesome-swiper插件填坑问题
2018/01/25 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
名片管理系统python版
2018/01/11 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python爬虫增加访问量的方法
2019/08/22 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
自荐信格式范文
2013/10/07 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
教师听课学习心得体会
2016/01/15 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers