首页 > 其他分享 >不改变初始温度的情况下, 宽度越大、厚度越大、重量越大、车间温度越高, 温度随时间衰减的速度越慢, 退火类型(O态比H2态更慢)、冷却类型(自然冷却比单面风机更慢, 单面风机比双面风机更慢)

不改变初始温度的情况下, 宽度越大、厚度越大、重量越大、车间温度越高, 温度随时间衰减的速度越慢, 退火类型(O态比H2态更慢)、冷却类型(自然冷却比单面风机更慢, 单面风机比双面风机更慢)

时间:2023-10-07 15:04:11浏览次数:32  
标签:更慢 data 风机 num np 越大 Type

# 导入所需的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split

# 指定支持中文的字体,例如SimHei或者Microsoft YaHei
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 生成数据
def fun_data():
    # 定义物料数量
    num_materials = 40

    # 定义每个物料的温度测量次数和时间间隔
    num_measurements = 10
    time_interval_hours = 6

    # 创建一个时间数组,模拟测量时间点
    measurement_times = np.arange(0, num_measurements * time_interval_hours, time_interval_hours)

    # 创建一个空的DataFrame来存储数据
    data = pd.DataFrame(columns=['Material_ID', 'Measurement_Time', 'Width', 'Thickness', 'Weight', 'Workshop_Temperature',
                                 'Annealing_Type', 'Cooling_Type', 'Temperature'])

    # 模拟每个物料的数据
    for material_id in range(1, num_materials + 1):
        # 生成物料特征数据(宽度、厚度、重量、车间温度、退火类型、冷却类型)
        width = np.random.uniform(5, 20)  # 宽度范围在5到20之间
        thickness = np.random.uniform(1, 5)  # 厚度范围在1到5之间
        weight = np.random.uniform(10, 100)  # 重量范围在10到100之间
        workshop_temperature = np.random.uniform(20, 30)  # 车间温度范围在20到30之间
        annealing_type = np.random.choice(['O态', 'H2态'])  # 随机选择退火类型
        cooling_type = np.random.choice(['自然冷却', '单面风机', '双面风机'])  # 随机选择冷却类型

        # 模拟温度数据(指数衰减)
        initial_temperature = np.random.uniform(100, 200)  # 初始温度范围在100到200之间,不改变
        
        decay_rate_min = 0.01 - width / 1000 - thickness / 1000 - weight / 10000 - workshop_temperature / 1000 # 衰减速率的最小值与宽度、厚度、重量、车间温度负相关
        
        if annealing_type == 'O态': # O态退火比H2态退火更慢,因此衰减速率更低
            decay_rate_min -= 0.01
            
        if cooling_type == '自然冷却': # 自然冷却比单面风机更慢,比双面风机更慢,因此衰减速率更低
            decay_rate_min -= 0.01
            
        elif cooling_type == '单面风机': # 单面风机比双面风机更慢,因此衰减速率稍低
            decay_rate_min -= 0.005
            
        decay_rate_max = decay_rate_min + 0.05 # 衰减速率的最大值比最小值高0.05
        
        decay_rate = np.random.uniform(decay_rate_min, decay_rate_max)  # 衰减速率范围根据物料特征和处理方式调整
        
        temperature_data = initial_temperature * np.exp(-decay_rate * measurement_times)

        # 创建一个临时DataFrame来存储物料的数据
        material_data = pd.DataFrame({
            'Material_ID': [material_id] * num_measurements,
            'Measurement_Time': measurement_times,
            'Width': [width] * num_measurements,
            'Thickness': [thickness] * num_measurements,
            'Weight': [weight] * num_measurements,
            'Workshop_Temperature': [workshop_temperature] * num_measurements,
            'Annealing_Type': [annealing_type] * num_measurements,
            'Cooling_Type': [cooling_type] * num_measurements,
            'Temperature': temperature_data
        })

        # 将物料数据添加到总体数据中
        data = pd.concat([data, material_data], ignore_index=True)
        
        # 修改数据类型
        data['Measurement_Time'] = data['Measurement_Time'].astype("float64")
        
    return data

# 导入数据
data = fun_data()

# 温度与其他变量的关系呈指数回归, 且温度随时间的增长呈指数衰减趋势, 设计模型如下
Temperature = np.exe(
    k1 + k2 * Measurement_Time + \
    k3 * Width + k4 * Thickness + k5 * Weight + k6 * Workshop_Temperature + \
    k7 * Annealing_Type_O态 + k8 * Annealing_Type_H2态 + \
    k9 * Cooling_Type_自然冷却 + k10 * Cooling_Type_单面风机 + k11 * Cooling_Type_双面风机
)

# 定义自变量和因变量
# 对类别型的自变量进行编码,使用独热编码(one-hot encoding),其他默认为数值型自变量
X = data[['Measurement_Time', 'Width', 'Thickness', 'Weight', 'Workshop_Temperature', 'Annealing_Type', 'Cooling_Type']]
X = pd.get_dummies(X, columns=['Annealing_Type', 'Cooling_Type']) # 将退火类型和冷却类型转换为哑变量
y = data['Temperature'] # 选择温度作为因变量

优化fun_data, 使数据更加逼真,
不改变初始温度的情况下,
宽度越大、厚度越大、重量越大、车间温度越高, 温度随时间衰减的速度越慢,
退火类型(O态比H2态更慢)、冷却类型(自然冷却比单面风机更慢, 单面风机比双面风机更慢)

优化fun_data, 使数据更加逼真,

不改变初始温度的情况下,

宽度越大、厚度越大、重量越大、车间温度越高, 温度随时间衰减的速度越慢,

退火类型(O态比H2态更慢)、冷却类型(自然冷却比单面风机更慢, 单面风机比双面风机更慢)

标签:更慢,data,风机,num,np,越大,Type
From: https://blog.51cto.com/u_16055028/7737859

相关文章

  • 根据以下代码所生成的数据 请使用python 机器学习 研究不同宽度,厚度,重量,车间温度,
    #对分类变量进行独热编码data=pd.get_dummies(data,columns=['Annealing_Type','Cooling_Type'])#划分训练集和测试集fromsklearn.model_selectionimporttrain_test_splitX=data.drop(['Material_ID','Measurement_Time','Tempera......
  • 全新注意力算法PagedAttention:LLM吞吐量提高2-4倍,模型越大效果越好
    前言 吞吐量上不去有可能是内存背锅!无需修改模型架构,减少内存浪费就能提高吞吐量!本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理......
  • 电动取暖器、加热器、暖风机上架亚马逊有哪些标准要求? UL1278测试报告
    UL1278测试报告介绍UL1278是针对电气安全方面的测试报告标准,主要用于评估各种电器的安全性能,以确保它们在使用过程中不会对人身安全造成威胁。桌面暖风机作为一款加热设备,需要满足UL1278标准才能进入美国市场。每年的十月份开始国外气温转寒,电加热器销量也随即剧增。电加热器外贸市......
  • 亚马逊美国站桌面暖风机UL1278测试报告
    亚马逊美国站暖风机UL1278测试报告随之天气越来越冷,尤其是亚马逊那边更是大雪纷飞,早上冒着寒风回到办公室,双手都冻得通红,拿出来仿佛还冒着寒气,打字都打得不利索。冬天这么冷真的很影响工作效率,事情做不完又只能加班解决,为了能按时完成工作准时下班,还是给自己一个温暖的办公环境吧。......
  • 久壳新风机为什么会出现?
    新风机之所以会出现,是因为人们对于室内空气质量的重视与需求。随着社会的进步和人们生活水平的提高,人们更加注重健康和舒适的居住环境,而室内空气质量是其中一个重要的方面。1.空气污染问题:城市化进程加速,工业排放、交通尾气、建筑物密闭、家居装修等都导致了室内空气污染问题。细......
  • 新风机为什么会出现?
     新风机之所以会出现,是因为人们对于室内空气质量的重视与需求。随着社会的进步和人们生活水平的提高,人们更加注重健康和舒适的居住环境,而室内空气质量是其中一个重要的方面。1.空气污染问题:城市化进程加速,工业排放、交通尾气、建筑物密闭、家居装修等都导致了室内空气污染问题......
  • 为什么选择新风机?
     现如今,新风机已经是很多场地的熟客了,那大家可能疑惑为什么选择新风机呢?那就让我揭晓答案吧!新风机有很多益处,让我大致简述一下吧。改善室内空气质量:新风机能够引入新鲜的外界空气,并排除室内的污浊空气,有效净化空气,降低颗粒物、细菌、异味等有害物质的浓度。这对于提供健康的......
  • 新风机是什么?
     新风机是空气净化设备中的一种,能够将新鲜外界空气引入室内,同时将室内的污浊空气排出去,从而实现室内空气的循环和净化。新风机主要是由风机、过滤器、热交换器和控制面板等部分组成。  风机:新风机中风机是一个非常重要的部件,它可以把新鲜的自然空气从室外引入房间中。大部分......
  • k\log_k N 极小值|k 分算法是 k 越大越好吗?
    引入我们有二分算法,就是:定义二分查找(英语:binarysearch),也称折半搜索(英语:half-intervalsearch)、对数搜索(英语:logarithmicsearch),是用来在一个有序数组中查找某一元素的算法。过程以在一个升序数组中查找一个数为例。它每次考察数组当前部分的中间元素,如果中间元素刚好是要......
  • scrapy源码分析:redis分布式爬虫队列中,priority值越大,优先级越高
    scrapy源码分析:redis分布式爬虫队列中,priority值越大,优先级越高一、背景scrapy爬虫项目中,遇到scrapy的priority属性,搞不懂priority的值越大优先级越高,还是值越小优先级越高#通过priority修改优先级returnscrapy.Request(url=request.url,dont_filter=True,callback=spider......