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实现三维拟合的方法相关推荐

  1. python绘制散点图的步骤_python绘制散点图并标记序号的方法

    python绘制散点图并标记序号的方法 实现二维平面上散点的绘制,并可以给每个散点标记序号或者名称: import numpy as np import matplotlib.pyplot as pl ...

  2. python 三维散点图拟合曲面_python 绘图---2D、3D散点图、折线图、曲面图

    python中绘制2D曲线图需要使用到Matplotlib,Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,通过 Matplo ...

  3. python画三维立体图难吗_Python画三维图-----插值平滑数据

    一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...

  4. python 分段函数 表示曲面_绘制三维分段函数

    我是python的新手,正在尝试3d绘制分段函数.我试图在z轴上绘制下面的"主公式"函数,因为它随x和y的变化而变化,范围从0到10,常数=1.但我似乎不太明白这里的作图方法.在f ...

  5. matlab画三维向量的曲面,Matlab绘制三维曲面(以二维高斯函数为例)

    寒假学习了一下Python下的NumPy和pymatlab,感觉不是很容易上手.来学校之后,决定继续看完数字图像处理一书.还是想按照上学期的模式,边看边实现书中的算法.上学期看的时候,是用C语言实现的 ...

  6. python绘制散点图的函数_python绘制散点图

    环境:windows系统,anaconda3 64位,python 3.6 1.初认识 基本代码如下: import numpy as np import matplotlib.pyplot as p ...

  7. python绘制散点图的步骤_python绘制散点图

    环境:windows系统,anaconda3 64位,python 3.6 1.初认识 基本代码如下: import numpy as np import matplotlib.pyplot as p ...

  8. python最小二乘法拟合直线_Python 实现最小二乘法拟合直线

    线性回归 线性回归是回归分析中最常见的一种建模方式.当因变量是连续的,自变量是连续的或者离散的,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析. 用方程 y = mx + c,其中 ...

  9. python绘制散点图的函数_python matplotlib更新函数的散点图

    有几种方法可以对matplotlib图进行动画处理.在下文中,我们将使用散点图查看两个最小示例. (a)使用交互式模式plt.ion() 要进行动画制作,我们需要一个事件循环.获取事件循环的一种方法是 ...

最新文章

  1. windows常用命令有哪些(整理)
  2. 第3关:4位快速加法器设计
  3. Java中Set巧用,去掉重复数据
  4. 阅《领域驱动设计与设计模式实战》
  5. java对Oracle数据库查询_java 连接Oracle数据库 查询
  6. ARM64的启动过程之(五):UEFI
  7. matlab randint函数
  8. Oracle的闪回特性之恢复truncate删除表的数据
  9. leetcode37. 解数独
  10. 银联分账与银联代付_第三方分账系统到底有哪些作用?
  11. oracle12178错误,Oracle学习笔记_20080522:Index FS vs Index FFS
  12. vue 里面引入高德地图
  13. eZ publish 3 安装指南
  14. [转]asp导入excel数据到sql 2000
  15. FZU 2020 组合
  16. 三相异步电机----电机公式(三)
  17. 全志F1c100s主线linux入坑记录 (4)GT911触摸移植
  18. Visio设计产品流程图
  19. IIS Express 7.5 directory browsing 启用目录浏览
  20. guid主分区表损坏如何处理_什么是GPT或GUID分区表

热门文章

  1. Java加密与解密的艺术~DESede实现
  2. php 去掉不可见字符串,php删除不可见的Unicode字符
  3. java中哪些可以私有化_《Java基础学习笔记》JAVA修饰符之私有化(Private)
  4. oracle转换请求无法实施,Oracle服务正常,但不响应请求的问题
  5. 常用函数总结——sprintf
  6. checksum命令 linux_linux命令详解:md5sum命令
  7. 2020江苏计算机二级考试官网,2020年秋季江苏省计算机等级考试报名通知
  8. beanutils.copyproperties属性值丢失_[ASP.NET Core 3.1]浏览器嗅探解决部分浏览器丢失Cookie问...
  9. JAVA入门级教学之(简单的程序测试)
  10. python 日历查询系统_python 日历