Python实现二维曲线拟合的方法
作者:changye777 发布时间:2021-08-26 12:38:01
标签:Python,二维,曲线,拟合
如下所示:
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()
来源:https://blog.csdn.net/changye777/article/details/78437479


猜你喜欢
- 数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第二部分 优化①:设计规范化表,消除数据冗余 数据库
- 1.创建带有缺失值的数据库:import pandas as pdimport numpy as npdf = pd.DataFrame(n
- 前言在尝试将结构体序列化为 Json 时,你可能会遇到 “omitempty” 标记,本小记就来浅看
- 一、conn.asp<% '@Language="VBSCRIPT" CO
- 本文实例讲述了php使用curl获取https请求的方法。分享给大家供大家参考。具体分析如下:今日在做一个项目,需要curl获取第三方的AP
- 本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:相关内容:什么是模块模块的导入同级目
- php+lottery.js制作九宫格抽奖实例,本抽奖功能效果表现好,定制方便简单,新手学习跟直接拿来用都非常不错,兼容IE、火狐、谷歌等浏
- 这几天在学习PyQt编程,用CSDN来记录一下学过的东西,免得以后忘记了大笑import sys from PyQt4 import QtG
- 阅读上一章:Chapter 13 为文字指定样式Chapter 14 图片替换随着更多设计师与开发者开始使用标准(特别是CSS),每天都会有
- 1.字典文本特征提取 DictVectorizer()1.1 one-hot编码创建一个字典,观察如下数据形式的变化:import pand
- 本文实例讲述了Python实现向QQ群成员自动发邮件的方法。分享给大家供大家参考。具体实现方法如下:原理:我们需要先获取QQ群中的所有成员并
- 下面我给出几种常用的方法: 1 .对象冒充 原理: 构造函数使用this关键字给所有属性和方法赋值, 因为构造函数只是一个函数,所以可以使C
- (一)Git的安装和配置1.下载git,git的官网是:https://git-scm.com/1.1右下角点击安装,安装过程一直下一步。1
- 第一部分:UI界面设计界面效果图如下:ui文件(可拉动控件自行创建一个button和text)<?xml version="
- 1.返回值介绍现实生活中的场景:我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟
- 前言若电脑之前已经安装过vue-cli了,但是版本过低,比方说当前vue-cli的版本为2.9.6,然后我想升级到vue-cli的最新版本4
- SQL Server 2016 CTP2.2 安装配置教程下载一个iso文件,解压出来(大约2.8G左右),在该路径下双击Setup.exe
- 今早打开 腾讯ISD的博客 ,看到一篇新的文章,《迷你屋视觉规范简介》,赶紧看了来学习。不过给我抓到问题咯,臭鱼不介意我在这说下吧:这套规范
- 本文实例为大家分享了Django1.11自带分页器Django的具体使用方法,供大家参考,具体内容如下接下来我编写一个 views ,名cl
- 前言:一个完整的 HTTP 请求,包括客户端向服务端发送的 Request 请求和服务器端发送的 Response 响应。为了能方便的访问获