【数学建模之Python】11.炉温曲线可视化

本文档展示了对高教杯2020年A题实验数据的可视化过程,通过Python的matplotlib库绘制炉温曲线,突出显示了大于217摄氏度的时段、峰值温度以及上升过程中150至190摄氏度的区间,并进行了详细标注,便于理解实验过程。
摘要由CSDN通过智能技术生成

如果解决了你的问题,点个赞再走嘛٩(๑❛ᴗ❛๑)۶

目前正在做高教杯2020年A题,记录一下可视化过程,不断更新

 根据制程界限绘图

1.已知某次实验数据(附件中),根据本次实验数据做可视化

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings

warnings.filterwarnings('ignore')  # 忽略警告

plt.rc('font', size=16)
plt.rc('font', family='SimHei')
plt.rc('axes', unicode_minus=False)

a = pd.read_excel('附件.xlsx')

T = a.values  # 炉温数据
T_up217 = T[np.where(T[:, 1] > 217)[0]]  # 大于217摄氏度的数组
T_up217_time = T_up217[-1, 0] - T_up217[0, 0]  # 大于217摄氏度的时间
T_max = T[np.where(T[:, 1] == np.max(T[:, 1]))[0], :]  # 峰值温度及对应时间
T_between150and190 = T[np.where((T[:, 1] > 150) * (T[:, 1] < 190) * (T[:, 0] < T_max[0, 0]))[0]]  # 上升过程中150摄氏度至190摄氏度

plt.figure('某次实验炉温曲线')
plt.plot(T[:, 0], T[:, 1], linestyle='--', linewidth=5, color='dodgerblue', alpha=0.5,
         label='完整数据')  # alpha=1时完全不透明,alpha=0时完全透明
plt.plot(T_max[:, 0], T_max[:, 1], linewidth=5, color='black', label='峰值')
plt.plot(T_up217[:, 0], T_up217[:, 1], linestyle='-', linewidth=2, color='red', label='大于217摄氏度')
plt.plot(T_between150and190[:, 0], T_between150and190[:, 1], linestyle='-', linewidth=2, color='orange',
         label='上升过程中150摄氏度至190摄氏度')
plt.xticks(np.arange(0, 450, 50))
plt.legend()  # 显示图例
plt.xlabel('时间/t')
plt.ylabel('温度/℃')

plt.annotate(s="(%s,%s)和(%s,%s)" % (T_max[0, 0], T_max[0, 1], T_max[1, 0], T_max[1, 1]),
             xy=(T_max[0, 0], T_max[0, 1]),
             xytext=(40, 50),
             textcoords='offset points',
             arrowprops=dict(headlength=5, width=1, color='black'))  # 标注峰值

# 大于217摄氏度的标注
plt.annotate(s="(%s,%s)" % (T_up217[0, 0], T_up217[0, 1]),
             xy=(T_up217[0, 0], T_up217[0, 1]),
             xytext=(10, -40),
             textcoords='offset points',
             arrowprops=dict(headlength=5, width=1, color='red'))  # 标注左临界值
plt.annotate(s="(%s,%s)" % (T_up217[-1, 0], T_up217[-1, 1]),
             xy=(T_up217[-1, 0], T_up217[-1, 1]),
             xytext=(50, 0),
             textcoords='offset points',
             arrowprops=dict(headlength=5, width=1, color='red'))  # 标注右临界值

# 上升过程中150~190摄氏度的标注
plt.annotate(s="(%s,%s)" % (T_between150and190[0, 0], T_between150and190[0, 1]),
             xy=(T_between150and190[0, 0], T_between150and190[0, 1]),
             xytext=(10, -40),
             textcoords='offset points',
             arrowprops=dict(headlength=5, width=1, color='orange'))  # 标注左临界值
plt.annotate(s="(%s,%s)" % (T_between150and190[-1, 0], T_between150and190[-1, 1]),
             xy=(T_between150and190[-1, 0], T_between150and190[-1, 1]),
             xytext=(10, -40),
             textcoords='offset points',
             arrowprops=dict(headlength=5, width=1, color='orange'))  # 标注右临界值

plt.show()

效果图: 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
炉温曲线数学建模在MATLAB中可以通过以下步骤实现: 1. 数据采集:首先需要获取炉温数据,可以通过传感器或其他测量设备进行实时采集。将采集到的数据保存为MATLAB中的数据格式,如矩阵或向量。 2. 数据预处理:对采集到的数据进行预处理,包括去除异常值、平滑处理和噪声滤波等。可以使用MATLAB中的函数或算法来实现这些操作,如去除离群值的函数`rmoutliers`、平滑滤波函数`smoothdata`等。 3. 数据分析:根据炉温数据的特点和目标需求,选择适当的数学模型进行建模。常用的模型包括线性模型、非线性模型、时序模型等。可以使用MATLAB中的统计工具箱、曲线拟合工具箱和系统识别工具箱等进行数据分析和建模。 4. 模型建立:根据选择的数学模型,使用MATLAB中相应的函数或工具进行模型建立。例如,如果选择线性模型,可以使用`fitlm`函数进行线性回归建模;如果选择非线性模型,可以使用`fitnlm`函数进行非线性最小二乘拟合。 5. 模型验证:将建立好的模型应用于新的炉温数据,进行模型验证和评估。可以使用MATLAB中的评估函数,如均方误差(MSE)、决定系数(R-squared)等进行模型性能评估。 6. 曲线预测:基于建立好的模型,可以对未来的炉温进行预测。可以使用MATLAB中的预测函数,如`predict`函数进行曲线预测。 以上是一种基本的炉温曲线数学建模的步骤,在具体应用中需要根据实际情况进行适当的修改和调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若oo尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值