python matplotlib拟合直线

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams[‘font.family‘] = [‘sans-serif‘]
plt.rcParams[‘font.sans-serif‘] = [‘SimHei‘]
def linear_regression(x, y):
    N = len(x)
    sumx = sum(x)
    sumy = sum(y)
    sumx2 = sum(x ** 2)
    sumxy = sum(x * y)
    A = np.mat([[N, sumx], [sumx, sumx2]])
    b = np.array([sumy, sumxy])
    return np.linalg.solve(A, b)

#单臂
#修改数据1:
X1=np.array([0,20,40,60,80,100,120,140,160,180,200])
Y1=np.array([0,0.02,0.06,0.1,0.13,0.16,0.19,0.22,0.245,0.278,0.3])

#半桥
#修改数据2:
X2=np.array([0,20,40,60,80,100,120,140,160,180,200])
Y2=np.array([0,0.057,0.118,0.185,0.245,0.308,0.376,0.425,0.488,0.544,0.58])

a0, a1 = linear_regression(X1, Y1)
# 生成拟合直线的绘制点
_X1 = [0, 200]
_Y1 = [a0 + a1 * x for x in _X1]

a0, a1 = linear_regression(X2, Y2)
# 生成拟合直线的绘制点
_X2 = [0, 200]
_Y2 = [a0 + a1 * x for x in _X1]

#显示图像
plt.plot( X1, Y1, ‘ro‘, linewidth=2,label="单臂电桥")
plt.plot(_X1, _Y1, ‘b‘,linewidth=2,label=‘单臂电桥‘,color=‘C0‘)
plt.plot( X2, Y2, ‘g^‘, linewidth=2,label=‘半桥‘)
plt.plot(_X2, _Y2, ‘b‘, linewidth=2,label=‘半桥‘,color=‘C1‘)
plt.xlabel(‘weight/g‘)
plt.ylabel(‘voltage/v‘)
plt.legend()
plt.show()

原文地址:https://www.cnblogs.com/-wenli/p/11886483.html

时间: 2024-12-27 22:57:00

python matplotlib拟合直线的相关文章

[MXNet逐梦之旅]练习一·使用MXNet拟合直线手动实现

[MXNet逐梦之旅]练习一·使用MXNet拟合直线手动实现 code #%% from matplotlib import pyplot as plt from mxnet import autograd, nd import random #%% num_inputs = 1 num_examples = 100 true_w = 1.56 true_b = 1.24 features = nd.arange(0,10,0.1).reshape((-1, 1)) labels = true_

halcon之最小二乘拟合直线

如果不了解最小二乘算法 请先阅读: Least squares的算法细节原理https://en.wikipedia.org/wiki/Least_squares 通常在halcon中拟合直线会用houghline或者 fitline.本文提供一种新的选择,用halcon的矩阵操作实现最小二乘拟合直线 首先随机生成一组数据 Mx:=[100:10:500] tuple_length(Mx,len) tuple_gen_const(len,5,r) Ma:=2 Mb:=40 tuple_rand(

用python matplotlib 画图

state-machine environment object-oriente interface figure and axes backend and frontend user interface bankends hardcopy backends or non-interactive backends confugure your backends renderer : AGG import matplotlib.pyplot as plt plt.plot() 可一次画好几个, r

霍夫变换提取圆心坐标,并拟合直线

<span style="font-family:Microsoft YaHei;font-size:14px;">#include <cmath> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; const int kvalue = 15;//双边滤波邻域大小 int main() { Mat src_color = imread("1.png&

Python + Matplotlib 绘制 Penrose 铺砌

效果是不是很漂亮呢? 代码如下: #----------------------------------------- # Python + Matplotlib 绘制 Penrose 铺砌 # by Zhao Liang [email protected] #----------------------------------------- import matplotlib.pyplot as plt import numpy as np from matplotlib.path impor

python matplotlib画图常用设置记录查阅

为方便查找和使用python matplotlib相应的画图设置接口,将常用的设置书写在同一代码中,方便查阅,包含: 1.中文.特殊字符的设置 2.子图.标题.图例的设置 3.坐标轴的名称.刻度.间距等设置 4.线条的颜色.样式.宽度的设置 代码github链接:(待添加) #-*- coding:utf-8 -*- import numpy as np import numpy.random import matplotlib.pyplot as plt from pylab import *

python matplotlib 安装 和错误处理

首先我参考是:http://www.cnblogs.com/lifegoesonitself/p/3443866.html 这篇博文中的问题我都遇到了,首先是大体流程: Matplotlib的安装 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地 进行制图.Matplotlib的安装可以参见 官网链接 http://matplotlib.org/users/installing.html 下面总结步骤如下: windows 平台上

python matplotlib中文乱码

1. 找到matplotlib配置文件matplotlibrc,在python安装目录下 我的是C:\Python27\Lib\site-packages\matplotlib\mpl-data 2. #font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei 3. #font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面 4. 拷贝文件.C:\Windows\Fonts\中找到 微软雅黑对应的字体文件msyh.tt

Python + Matplotlib 绘制 Aztec Diamond 图的随机铺砌

一个 $n$ 阶的 Aztec Diamond 图,是指依次将 $2,4,\ldots,2n,2n,\ldots,4,2$ 个单位方格摞在一起得到的对称图形(于是图中一共有 $2n(n+1)$ 个单位方格).下图是 $n=5$ 时候的例子: 对一个 $n$ 阶的 Aztec Diamond 图,用 $1\times 2$ 的多米诺骨牌铺砌它,总共有 $2^{n(n+1)}$ 种不同的方法.(这里不考虑对称性,比如全部用水平的骨牌铺砌和全部用竖直的骨牌铺砌,两种方法是不同的) 一个有趣的问题是,对