python如何实现数据的线性拟合

yipeiwu_com6年前Python基础

实验室老师让给数据画一张线性拟合图。不会matlab,就琢磨着用python。参照了网上的一些文章,查看了帮助文档,成功的写了出来

这里用到了三个库

import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize


def f_1(x, A, B):
 return A * x + B

plt.figure()
# 拟合点
x0 = [75, 70, 65, 60, 55,50,45,40,35,30]
y0 = [22.44, 22.17, 21.74, 21.37, 20.92,20.67,20.32,20.05,19.84,19.59]

# 绘制散点
plt.scatter(x0[:], y0[:], 3, "red")

# 直线拟合与绘制
A1, B1 = optimize.curve_fit(f_1, x0, y0)[0]
x1 = np.arange(30, 75, 0.01)#30和75要对应x0的两个端点,0.01为步长
y1 = A1 * x1 + B1
plt.plot(x1, y1, "blue")
print(A1)
print(B1)
plt.title(" ")
plt.xlabel('t')

plt.ylabel('Mt/g')
plt.show()

用的到的api:
numpy.arrange
scipy.optimize.curve_fit

实验效果如下,图像和数据都得到了,非常满意了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

跟老齐学Python之list和str比较

相同点 都属于序列类型的数据 所谓序列类型的数据,就是说它的每一个元素都可以通过指定一个编号,行话叫做“偏移量”的方式得到,而要想一次得到多个元素,可以使用切片。偏移量从0开始,总元素数...

从Python的源码来解析Python下的freeblock

从Python的源码来解析Python下的freeblock

1 引言 在python内存管理中,有一个block的概念。它比较类似于SGI次级空间配置器。 首先申请一块大的空间(4KB),然后把它切割成一小份(8, 16 一直到512)。 当有内...

python web基础之加载静态文件实例

在web运行中很重要的一个功能就是加载静态文件,在django中可能已经给我们设置好了,我们只要直接把模板文件 放在templates就好了,但是你知道在基础中,像图片是怎么加载以及找到...

python requests post多层字典的方法

pyhton requests模块post方法传参为多层字典时,转换错误, 如,表单传参 { “a”:1, “b”:{ “A”:2, “B”:3 } } post请求...

利用Python对文件夹下图片数据进行批量改名的代码实例

利用Python对文件夹下图片数据进行批量改名的代码实例

1. 前言 我们最近在做一个使用flask 模拟 instagram 的图片分享网站, 需要一些基本的图片数据, 我们这里采用的是本地提供, 但是,使用爬虫从网上爬下来的图片,名字都是乱...