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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
Python中常用信号signal类型实例
Jan 25 Python
pandas 两列时间相减换算为秒的方法
Apr 20 Python
python代码编写计算器小程序
Mar 30 Python
微信公众号token验证失败解决方案
Jul 22 Python
python集合删除多种方法详解
Feb 10 Python
Django之全局使用request.user.username的实例详解
May 14 Python
python 实现PIL模块在图片画线写字
May 16 Python
python 怎样进行内存管理
Nov 10 Python
pandas 数据类型转换的实现
Dec 29 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 12 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从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
js select常用操作控制代码
2010/03/16 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
JS中数组重排序方法
2016/11/11 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Python中的类与类型示例详解
2019/07/10 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
Python super()方法原理详解
2020/03/31 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
日语专业求职信
2014/07/04 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
音乐会主持人开场白
2015/05/28 职场文书
八年级作文之友情
2019/11/25 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS