python实现三维拟合的方法
如下所示:
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实现的多项式拟合功能示例【基于matplotlib】
本文实例讲述了Python实现的多项式拟合功能.分享给大家供大家参考,具体如下: # -*- coding: utf-8 -*- #! python2 import numpy as np import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 plt.rcParams['axes.unicode_minus']=False #解决负数坐
-
python实现二维插值的三维显示
本文实例为大家分享了二维插值的三维显示具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ 演示二维插值. """ # -*- coding: utf-8 -*- import numpy as np from mpl_toolkits.mplot3d import Axes3D import matplotlib as mpl from scipy import interpolate import mat
-
Python线性拟合实现函数与用法示例
本文实例讲述了Python线性拟合实现函数与用法.分享给大家供大家参考,具体如下: 1. 参考别人写的: #-*- coding:utf-8 -*- import math import matplotlib.pyplot as plt def linefit(x , y): N = float(len(x)) sx,sy,sxx,syy,sxy=0,0,0,0,0 for i in range(0,int(N)): sx += x[i] sy += y[i] sxx += x[i]*x[i]
-
Python使用matplotlib绘制三维图形示例
本文实例讲述了Python使用matplotlib绘制三维图形.分享给大家供大家参考,具体如下: 用二维泡泡图表示三维数据 泡泡的坐标2维,泡泡的大小三维,使用到的函数 plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5, edgecolors = C, facecolors='None') 其中P[:,0], P[:,1]为泡泡的坐标数据,s为泡泡的大小,lw为泡泡的边线宽度,edgecolors为边线颜色,facecolors为填充颜色 代码及注释 # -*-
-
Python基于最小二乘法实现曲线拟合示例
本文实例讲述了Python基于最小二乘法实现曲线拟合.分享给大家供大家参考,具体如下: 这里不手动实现最小二乘,调用scipy库中实现好的相关优化函数. 考虑如下的含有4个参数的函数式: 构造数据 import numpy as np from scipy import optimize import matplotlib.pyplot as plt def logistic4(x, A, B, C, D): return (A-D)/(1+(x/C)**B)+D def residuals(p
-
Python数据拟合与广义线性回归算法学习
机器学习中的预测问题通常分为2类:回归与分类. 简单的说回归就是预测数值,而分类是给数据打上标签归类. 本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误差进行分析. 本例中使用一个2次函数加上随机的扰动来生成500个点,然后尝试用1.2.100次方的多项式对该数据进行拟合. 拟合的目的是使得根据训练数据能够拟合出一个多项式函数,这个函数能够很好的拟合现有数据,并且能对未知的数据进行预测. 代码如下: import matplotlib.pyplot as plt import
-
python实现三维拟合的方法
如下所示: 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") #
-
python 构造三维全零数组的方法
如下所示: temp1 = [[] for i in range(10)] temp2 = [temp1 for i in range(20)] temp3 = [temp2 for i in range(30)] for i in range(30): for j in range(20): for k in range(10): temp3[i][j][k] = 0 但是赋值的时候还是发现是指向同一地址的 所以还得这样 matrix3d=[] for i in range(30): matr
-
Python计算三维矢量幅度的方法
本文实例讲述了Python计算三维矢量幅度的方法.分享给大家供大家参考.具体如下: from numpy import * from math import * a=(['x','y','z']) sum_com=0 for i in range(3): y=input("Enter %s component:"%a[i]) m=y**2 sum_com += m magnitude=sqrt(sum_com) print "The magnitude of vector i
-
Python 普通最小二乘法(OLS)进行多项式拟合的方法
多元函数拟合.如 电视机和收音机价格多销售额的影响,此时自变量有两个. python 解法: import numpy as np import pandas as pd #import statsmodels.api as sm #方法一 import statsmodels.formula.api as smf #方法二 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D df = pd.read_c
-
在python中利用numpy求解多项式以及多项式拟合的方法
构建一个二阶多项式:x^2 - 4x + 3 多项式求解 >>> p = np.poly1d([1,-4,3]) #二阶多项式系数 >>> p(0) #自变量为0时多项式的值 3 >>> p.roots #多项式的根 array([3., 1.]) >>> p(p.roots) #多项式根处的值 array([0., 0.]) >>> p.order #多项式的阶数 2 >>> p.coeffs #
-
Python实现的拟合二元一次函数功能示例【基于scipy模块】
本文实例讲述了Python实现的拟合二元一次函数功能.分享给大家供大家参考,具体如下: 背景: 使用scipy拟合一元二次函数. 参考: HYRY Studio-<用Python做科学计算> 代码: # -*- coding:utf-8 -*- #! python3 import numpy as np from scipy.optimize import leastsq import pylab as pl def func(x,p): """ 数组拟合函数 &
-
python将三维数组展开成二维数组的实现
以前写过一篇:python实现把两个二维array叠加成三维array示例 这篇文章尝试用"曲线救国"的方法来解决二维数组叠加成三维数组的问题. 但天道有轮回,苍天绕过谁.好不容易把数组叠加在一块儿了,新的需求又出现了:将三维数组展开成二维数组.有借有还,再借不难.今天就来解决把三维数组展开成二维数组的问题. 相对于叠加三维数组,numpy对展开数组支持得很好,只需要用好np.reshape(A,(a,b)) 函数即可. 用到的参数: A:需要被重新组合的数组 (a,b): 各个维度的
-
matplotlib 三维图表绘制方法简介
1. python三维图表绘制方法简介 python三维图表的绘制算是二维图表的一个进阶版本,本质上和二维图表的绘制并无差别,唯一的区别在于使用的库略有差异. 相较于二维图表使用的pyplot库,三维图表的绘制使用的是Axes3D库. 库引入语句为: from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D 上下的操作就和二维图表绘制大差不差了,首先定义三维画布,然后向里面绘制三维图表,最后打印出结果
-
Python中三维坐标空间绘制的实现
在三维空间绘制点,线,面 1.绘制点 用scatter()散点绘制三维坐标点 from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D dot1 = [[0, 0, 0], [1, 1, 1], [ 2, 2, 2], [2, 2, 3], [2, 2, 4]] # 得到五个点 plt.figure() # 得到画面 ax1 = plt.axes(projection='3d') ax1.set_xl
-
python实现语音常用度量方法的代码详解
语音信号处理一般都要进行主观评价实验和客观评价实验. 主观评价:邀请测听者对语音进行测听,给出主观意见得分 客观评价:根据算法来衡量语音质量 主观投票受多种因素影响,如个体受试者的偏好和实验的语境(其他条件).一个好的客观质量度量应该与许多不同的主观实验有很高的相关性 信噪比(SNR) 有用信号功率与噪声功率的比(此处功率为平均功率),也等于幅度比的平方 其中:$P_{signal}$为信号功率(平均功率或者实际功率):$P_{noise}$为噪声功率:$A_{signal}$为信号幅度:$A_
随机推荐
- Angularjs中使用指令绑定点击事件的方法
- 使用Spring boot + jQuery上传文件(kotlin)功能实例详解
- SublimeText自带格式化代码功能之reindent
- 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
- Java随机生成手机短信验证码的方法
- javascript 正则替换 replace(regExp, function)用法
- discuz 2.0整合asp系统,用户添加函数
- BootStrap创建响应式导航条实例代码
- jquery validation插件表单验证的一个例子
- Android实现APP欢迎页面简单制作思路
- C#编程总结(一)序列化总结
- python正则表达式面试题解答
- Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例
- java简单实现多线程及线程池实例详解
- js代码规范之Eslint安装与配置详解
- 深入浅析python 中的匿名函数
- Mabatis错误提示Parameter index out of range的处理方法
- Python Flask框架扩展操作示例
- Spring boot搭建邮件服务的完整步骤
- python内置函数sorted()用法深入分析