python代码 excel数据多项式拟合

python 复制代码
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from matplotlib.font_manager import FontProperties
import sympy as sp

font = FontProperties(fname=r"C:\Windows\Fonts\SimHei.ttf", size=12)
excel_file_path = 'E:/python/air_values.xlsx'  

# 读取 Excel 文件
df = pd.read_excel(excel_file_path)
x_T = df.iloc[:,0]
y_k = df.iloc[:,1]
y_m = df.iloc[:,2]
y_Cp = df.iloc[:,3]

fig, axs = plt.subplots(3, 1, figsize=(8, 12))
# 进行四次多项式拟合
coefficients_k = np.polyfit(x_T, y_k, 4)
poly_k = np.poly1d(coefficients_k)

x = sp.symbols('x')
poly_latex_k = sp.latex(sp.Poly(poly_k(x), domain='RR').as_expr().evalf(2))

x_fit = np.linspace(min(x_T), max(x_T), 100)
y_fit_k = poly_k(x_fit)

axs[0].set_title(r'k:$' + poly_latex_k + r'$', fontproperties=font)
axs[0].scatter(x_T, y_k, label='原始数据')
axs[0].plot(x_fit, y_fit_k, label='四次多项式拟合', color='red')
axs[0].legend(prop=font)

# 进行四次多项式拟合
coefficients_m = np.polyfit(x_T, y_m, 4)
poly_m = np.poly1d(coefficients_m)

poly_latex_m = sp.latex(sp.Poly(poly_m(x), domain='RR').as_expr().evalf(2))

y_fit_m = poly_m(x_fit)

axs[1].set_title(r'm:$' + poly_latex_m + r'$', fontproperties=font)
axs[1].scatter(x_T, y_m, label='原始数据')
axs[1].plot(x_fit, y_fit_m, label='四次多项式拟合', color='red')
axs[1].legend(prop=font)

# 进行四次多项式拟合
coefficients_Cp = np.polyfit(x_T, y_Cp, 4)
poly_Cp = np.poly1d(coefficients_Cp)

x = sp.symbols('x')
poly_latex_Cp = sp.latex(sp.Poly(poly_Cp(x), domain='RR').as_expr().evalf(2))

y_fit_Cp = poly_Cp(x_fit)

axs[2].set_title(r'Cp:$' + poly_latex_Cp + r'$', fontproperties=font)
axs[2].scatter(x_T, y_Cp, label='原始数据')
axs[2].plot(x_fit, y_fit_Cp, label='四次多项式拟合', color='red')
axs[2].legend(prop=font)

plt.tight_layout()
plt.show()
相关推荐
进阶的架构师1 分钟前
互联网Java工程师面试题及答案整理(2024年最新版)
java·开发语言
易辰君3 分钟前
python爬虫 - 深入requests模块
开发语言·爬虫·python
人工智障调包侠3 分钟前
基于深度学习多层感知机进行手机价格预测
人工智能·python·深度学习·机器学习·数据分析
木子020410 分钟前
java高并发场景RabbitMQ的使用
java·开发语言
无夜_11 分钟前
Prototype(原型模式)
开发语言·c++
看到请催我学习11 分钟前
内存缓存和硬盘缓存
开发语言·前端·javascript·vue.js·缓存·ecmascript
计算机编程-吉哥37 分钟前
计算机毕业设计 基于Python的智能文献管理系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
python·django·毕业设计·计算机毕业论文·计算机毕业设计选题·软件工程毕业设计论文·文献管理系统
笃励1 小时前
Java面试题二
java·开发语言·python
jyan_敬言1 小时前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
FL16238631291 小时前
[C#]C# winform部署yolov11-pose姿态估计onnx模型
开发语言·yolo·c#