数据拟合的相关函数(图像及应用实例 )- 基于python

数据拟合的相关函数(图像及应用实例 )- 基于python

本文提到的、的数学拟合需要基于numpy这个库,而为了将拟合更加直观的展示出来,用于绘图的matplotlib也是必要的,如果有想要跟着本文这些不值一提的思路去尝试实现的读者,需要预先安装这两个库。

本教程较为基础,因为笔者也是初学,只是做整理工作而已,因此在正式介绍拟合函数相关的内容之前有一些前置的会用到的函数说明,读者亦可跳过,直接前往拟合函数,有不熟悉的再往前翻阅亦可。

其他函数

numpy.linspace(start, end, number) & numpy.arange(start, end, step)

numpy.linspace这个函数可以生成相等间隔的数组(等差数列),几个参数分别是首项,尾项和项数,还有一些其他参数包括是否包括尾项、是否返回步长等等,可自行了解。

numpy.arange这个函数和numpy.linspace非常相像,前两个参数都是首项和尾项,只不过对于numpy.linspace来说,第三个参数是项数,而numpy.arrange的第三个系数是公差。另外numpy.linspace是默认包括尾项的,numpy.arange是默认不包括尾项的。

import numpy as np
print(np.linspace(1,5,5)) # [1,2,3,4,5]
print(np.arange(1,5,1)) # [1,2,3,4]

绘图函数

matplotlib.pyplot.scatter (x,y,c=None,marker =None)

作为一个绘图函数,matplotlib.pyplot.plot ()可以绘制散点图,这个函数有非常多的样式方面的自定义项,包括颜色、透明度、色彩映射等等,我们只选取颜色和散点形状讲解(大部分时候用于绘图时候的区分是足够了)

  • xy是横纵坐标
  • c是颜色,颜色可以用很多方式去声明,我们不需要颜色特别的精确,直接用特征字符串(‘red’ , ‘green’ 等)去声明就足够了
  • marker是点的形状,常用的有(’o’ , ‘x’ , ‘+’ ,‘*’)他们的形状就像他们看到的那样

举例:简单散点图

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 2, 2, 2, 2]

plt.scatter(x, y, c='red', marker='x')
y = [1, 1, 1, 1, 1]
plt.scatter(x, y, c='green', marker='o')
plt.show()

在这里插入图片描述

举例:随机散点图

也可以随机的生成一些散点

import numpy as np
import matplotlib.pyplot as plt

# 随机数组
x = np.random.rand(30)
y = np.random.rand(30)
plt.scatter(x,y,marker='*')
plt.show()

在这里插入图片描述

matplotlib.pyplot.plot ()

绘制折线图,只需要横纵坐标的值就可以画出折线图,本质是折线图了,因为是把点和点连在一起,但是只要点取得密集一点就可以了

例子 :不同描点密度的正弦函数

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,3*np.pi,0.1)
y = np.sin(x)
x_2 = np.arange(0,3*np.pi,0.75)
y_2 = np.sin(x_2)

# 意思是把画板分成两行一列,这个子面板占据第一列
plt.subplot(2,1,1)
plt.plot(x,y,color = 'blue',label = 'step = 0.1')
plt.legend()
# 意思是把画板分成两行一列,这个子面板占据第二列
plt.subplot(2,1,2)
plt.plot(x_2,y_2,color = 'red',label = 'step = 0.75')
plt.legend()
plt.show()

在这里插入图片描述

拟合函数

numpy.polyfit (x, y, deg) -> List

该函数可以根据一组数据来拟合多项式曲线,其中

  • xy是数据的横纵坐标,可以是任何以整形或浮点型为数据的可迭代对象,常用的有列表listnp.array
  • deg是多项式次数

另有:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值