本文的目的:完后对一些实验数据点的曲线拟合

直接上代码

import matplotlib.pyplot as plt
import numpy as np

# 输入x轴数据(自变量) 
x = [8.5, 16, 30, 39, 44, 50, 55, 60, 62, 65, 68, 72, 77.5, 96, 109]
# 输入y轴数据(应变量)
y = [65.54, 82.15, 110.27, 128.69, 137.59, 148.67, 158.71, 167.27, 171.86, 177.65, 184.12, 190.84, 200.89, 242.26, 266.46]
# 使用Python中的ployfit()函数进行拟合
z = np.polyfit(x, y, 1)  # 用1次多项式拟合,输出系数从高到0
# poly1d()函数可以根据你传入的直线或者曲线的参数生成方程,而且这里的直线或者曲线参数就是由polyfit提供的
p1 = np.poly1d(z)  # 生成拟合后的函数方程
# 使用自变量x和预测的函数方程生成预测的y值 
y_pre = p1(x)

# 绘图 
plt.plot(x, y, '.')
plt.title("曲线拟合")
plt.xlabel('自变量')
plt.ylabel('应变量')
plt.plot(x, y_pre)
plt.show()
print("拟合后的函数方程是", p1)

生成曲线如下图所示

 多项式拟合可以将代码z = np.polyfit(x, y, 1) 中的1更改为2、3等次数即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐