python代码 excel数据多项式拟合

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. 纯C++做多项式

    2023-12-22 08:58:02       9 阅读
  2. 李沐深度学习-多项式函数试验

    2023-12-22 08:58:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-22 08:58:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-22 08:58:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-22 08:58:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-22 08:58:02       20 阅读

热门阅读

  1. django获取request请求头信息,获取Content-Type

    2023-12-22 08:58:02       36 阅读
  2. SQL面试题挑战04:找出使用相同ip的用户

    2023-12-22 08:58:02       37 阅读
  3. vue整合axios 未完

    2023-12-22 08:58:02       47 阅读
  4. C++ 如何对二维map进行读和写

    2023-12-22 08:58:02       29 阅读
  5. c++导入外部的依赖开源库

    2023-12-22 08:58:02       31 阅读
  6. 在 Python 中实现单例模式

    2023-12-22 08:58:02       46 阅读
  7. git如何修改提交代码时的名字和邮箱?

    2023-12-22 08:58:02       43 阅读