2024年第二十一届 五一杯 (C题)大学生数学建模挑战赛 | 多目标优化问题,深度学习分析 | 数学建模完整代码解析

DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享,与你一起了解前沿科技知识!

本次DeepVisionary带来的是五一杯的详细解读:

完整内容可以在文章末尾全文免费领取&阅读!

在这里插入图片描述

首先,根据电磁辐射和声发射信号的采集频率,我们可以将一天中的数据分为48个时段,每个时段30秒,即每个时段的数据点数为30。根据题意,A类和B类为工作面正常生产时的数据,因此可以认为这些时段内采集的数据是稳定的,不会出现干扰信号。对于C类数据,由于存在干扰信号,因此在一个时段内会出现多个峰值,这些峰值对应的时间可以认为是干扰信号出现的时间。对于D类数据,由于传感器断线,因此在一个时段内不存在有效的数据点,可以认为这些时段内没有发生干扰。对于E类数据,由于工作面休息,因此在一个时段内不存在有效的数据点,可以认为这些时段内没有发生干扰。

(1.1) 根据题意,干扰信号是指存在于正常信号中,但是由于其他因素引起的信号,因此可以认为干扰信号的特征与正常信号的特征有所不同。对于电磁辐射和声发射信号,我们可以通过以下3个特征来识别干扰信号:

  1. 信号强度突变:正常信号在一个时段内采集的数据点数较多,并且相对稳定,但是干扰信号会导致信号强度突变,出现多个峰值,因此可以通过检测信号强度的变化情况来识别干扰信号。

  2. 信号频率偏移:正常信号的频率是稳定的,但是干扰信号会导致信号频率发生偏移,因此可以通过检测信号频率的变化情况来识别干扰信号。

  3. 信号持续时间短:正常信号的持续时间较长,但是干扰信号的持续时间较短,因此可以通过检测信号持续时间的长短来识别干扰信号。

(1.2) 根据题意,我们需要识别2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号中的干扰信号所在的时间区间。通过检测信号强度的变化情况,我们可以从数据中识别出干扰信号,并确定出现干扰信号的时间区间。根据题意,我们需要给出最早发生的5个干扰信号所在的区间,因此可以对检测出的干扰信号按照时间顺序排序,取前5个信号所在的时间区间即可。

(2.1) 根据题意,前兆特征信号是指发生在冲击地压危险发生前约7天内的信号,因此我们需要分析电磁辐射和声发射信号在这个时间段内的变化特征。根据图2所示,前兆特征信号具有以下特征:

  1. 信号强度逐渐增大:随着时间的推移,前兆特征信号的信号强度会逐渐增大,直到达到峰值。因此,可以通过检测信号强度的变化趋势来识别前兆特征信号。

  2. 信号持续时间较长:前兆特征信号的持续时间较长,不同于干扰信号的持续时间较短。因此,可以通过检测信号持续时间的长短来识别前兆特征信号。

  3. 信号频率发生变化:随着时间的推移,前兆特征信号的信号频率会发生变化,不同于正常信号的频率稳定。因此,可以通过检测信号频率的变化趋势来识别前兆特征信号。

(2.2) 根据题意,我们需要识别2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间。通过检测信号强度的变化趋势,我们可以从数据中识别出前兆特征信号,并确定出现前兆特征信号的时间区间。根据题意,我们需要给出最早发生的5个前兆特征信号所在的时间区间,因此可以对检测出的前兆特征信号按照时间顺序排序,取前5个信号所在的时间区间即可。

(3) 对于附件3中的数据,我们需要计算每个时间段最后时刻出现前兆特征数据的概率。根据第二问中的分析,我们可以通过检测信号强度的变化趋势来识别前兆特征信号,因此可以将每个时间段的最后一个数据点作为信号强度的观测值,根据观测值的大小来判断是否出现前兆特征信号。然后,我们可以计算出现前兆特征信号的概率,即最后一个数据点大于阈值的概率。

(4) 对于附件4中的数据,我们需要建立数学模型,给出冲击地压危险发生前约7天内的最早预警时间,并判断该预警结果的可靠性。根据第二问中的分析,我们可以通过检测信号强度的变化趋势来识别前兆特征信号,并确定出现前兆特征信号的时间区间。因此,我们可以对每个时段的数据进行分析,找出前兆特征信号出现的时间区间,并计算出最早预警时间。然后,我们可以根据前兆特征信号出现的时间区间,预测冲击地压危险发生的时间,并判断预警结果的可靠性。如果预测的时间与实际发生的时间相差较小,则说明预警结果可靠性高。

问题1:(1.1)
对于电磁辐射信号的干扰,其特征主要体现在以下几个方面:
(a) 干扰信号的幅值波动频率高于正常工作数据的幅值波动频率;
(b) 干扰信号的幅值较大,且幅值变化剧烈,表现为波峰和波谷的差值较大;
© 干扰信号的持续时间较短,一般不会持续很长时间。

对于声发射信号的干扰,其特征主要体现在以下几个方面:
(a) 干扰信号的幅值波动频率高于正常工作数据的幅值波动频率;
(b) 干扰信号的幅值较大,且幅值变化剧烈,表现为波峰和波谷的差值较大;
© 干扰信号的持续时间较短,一般不会持续很长时间;
(d) 干扰信号的频率范围与正常工作数据的频率范围不一致,可能出现在其他频段。

(1.2)
根据问题(1.1)中得到的特征,可以建立如下数学模型来识别干扰信号所在的时间区间:
设电磁辐射信号的幅值为 x ( t ) x(t) x(t),声发射信号的幅值为 y ( t ) y(t) y(t),干扰信号的幅值为 z ( t ) z(t) z(t),则有:
x ( t ) = x 0 + x 1 sin ⁡ ( ω t ) + z ( t ) , x(t)=x_0+x_1\sin(\omega t)+z(t), x(t)=x0+x1sin(ωt)+z(t),
y ( t ) = y 0 + y 1 sin ⁡ ( ω t ) + z ( t ) , y(t)=y_0+y_1\sin(\omega t)+z(t), y(t)=y0+y1sin(ωt)+z(t),
其中, x 0 , x 1 , y 0 , y 1 x_0,x_1,y_0,y_1 x0,x1,y0,y1为正常工作数据的幅值和波动情况, ω \omega ω为正常工作数据的频率, z ( t ) z(t) z(t)为干扰信号,其特征与正常工作数据不同。

根据问题(1.1)中的特征,可以设定阈值来判断是否存在干扰信号。当电磁辐射信号的幅值超过阈值 A A A,或声发射信号的幅值超过阈值 B B B时,即可判断存在干扰信号。同时,根据干扰信号的持续时间较短的特征,可以设置一个时间段 Δ t \Delta t Δt,当干扰信号的持续时间小于 Δ t \Delta t Δt时,即可判断为干扰信号。

根据以上模型,可以对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日的声发射信号进行识别。具体步骤如下:
(a) 对于电磁辐射信号,首先计算电磁辐射信号的幅值 x ( t ) x(t) x(t),并根据是否超过阈值 A A A和持续时间是否小于 Δ t \Delta t Δt来判断是否存在干扰信号;
(b) 对于声发射信号,首先计算声发射信号的幅值 y ( t ) y(t) y(t),并根据是否超过阈值 B B B和持续时间是否小于 Δ t \Delta t Δt来判断是否存在干扰信号。

根据以上模型,可以得到电磁辐射和声发射最早发生的5个干扰信号所在的区间,具体结果如表1和表2所示。

问题2:(2.1)
根据图2所示的前兆特征信号示意图,可以得到以下几个特征:
(a) 前兆特征信号的幅值随时间逐渐增大,且幅值变化幅度较大;
(b) 前兆特征信号的频率随时间逐渐增大,且频率变化幅度较大;
© 前兆特征信号的持续时间较长,一般会持续一段时间。

(2.2)
根据问题(2.1)中得到的特征,可以建立如下数学模型来识别前兆特征信号所在的时间区间:
设电磁辐射信号的幅值为 x ( t ) x(t) x(t),声发射信号的幅值为 y ( t ) y(t) y(t),前兆特征信号的幅值为 z ( t ) z(t) z(t),则有:
x ( t ) = x 0 + x 1 sin ⁡ ( ω t ) + z ( t ) , x(t)=x_0+x_1\sin(\omega t)+z(t), x(t)=x0+x1sin(ωt)+z(t),
y ( t ) = y 0 + y 1 sin ⁡ ( ω t ) + z ( t ) , y(t)=y_0+y_1\sin(\omega t)+z(t), y(t)=y0+y1sin(ωt)+z(t),
其中, x 0 , x 1 , y 0 , y 1 x_0,x_1,y_0,y_1 x0,x1,y0,y1为正常工作数据的幅值和波动情况, ω \omega ω为正常工作数据的频率, z ( t ) z(t) z(t)为前兆特征信号,其特征与正常工作数据不同。

根据问题(2.1)中的特征,可以设定阈值来判断是否存在前兆特征信号。当电磁辐射信号的幅值变化率超过阈值 A A A,或声发射信号的幅值变化率超过阈值 B B B时,即可判断存在前兆特征信号。同时,根据前兆特征信号的持续时间较长的特征,可以设置一个时间段 Δ t \Delta t Δt,当前兆特征信号的持续时间大于 Δ t \Delta t Δt时,即可判断为前兆特征信号。

根据以上模型,可以对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日的声发射信号进行识别。具体步骤如下:
(a) 对于电磁辐射信号,首先计算电磁辐射信号的幅值 x ( t ) x(t) x(t),并根据幅值变化率是否超过阈值 A A A和持续时间是否大于 Δ t \Delta t Δt来判断是否存在前兆特征信号;
(b) 对于声发射信号,首先计算声发射信号的幅值 y ( t ) y(t) y(t),并根据幅值变化率是否超过阈值 B B B和持续时间是否大于 Δ t \Delta t Δt来判断是否存在前兆特征信号。

在这里插入图片描述

根据以上模型,可以得到电磁辐射和声发射最早发生的5个前兆特征信号所在的时间区间,具体结果如表3和表4所示。

问题3:
根据问题2中的模型,可以建立如下数学模型来计算每个时间段最后时刻出现前兆特征数据的概率:
设电磁辐射信号的幅值为 x ( t ) x(t) x(t),声发射信号的幅值为 y ( t ) y(t) y(t),前兆特征信号的幅值为 z ( t ) z(t) z(t),则有:
x ( t ) = x 0 + x 1 sin ⁡ ( ω t ) + z ( t ) , x(t)=x_0+x_1\sin(\omega t)+z(t), x(t)=x0+x1sin(ωt)+z(t),
y ( t ) = y 0 + y 1 sin ⁡ ( ω t ) + z ( t ) , y(t)=y_0+y_1\sin(\omega t)+z(t), y(t)=y0+y1sin(ωt)+z(t),
其中, x 0 , x 1 , y 0 , y 1 x_0,x_1,y_0,y_1 x0,x1,y0,y1为正常工作数据的幅值和波动情况, ω \omega ω为正常工作数据的频率, z ( t ) z(t) z(t)为前兆特征信号,其特征与正常工作数据不同。

根据问题2中的特征,可以设定阈值来判断是否存在前兆特征信号。当电磁辐射信号的幅值变化率超过阈值 A A A,或声发射信号的幅值变化率超过阈值 B B B时,即可判断存在前兆特征信号。同时,根据前兆特征信号的持续时间较长的特征,可以设置一个时间段 Δ t \Delta t Δt,当前兆特征信号的持续时间大于 Δ t \Delta t Δt时,即可判断为前兆特征信号。

根据以上模型,可以计算每个时间段最后时刻出现前兆特征数据的概率,即:
P = 前兆特征数据的时间段长度 采样时间段的总长度 . P=\frac{\text{前兆特征数据的时间段长度}}{\text{采样时间段的总长度}}. P=采样时间段的总长度前兆特征数据的时间段长度.

具体结果如表5所示。

在附件1数据中,电磁辐射干扰信号的特征有:
(1)数据异常:干扰信号的数据一般会出现突变,与前后的正常数据有较大差异。
(2)数据不稳定:干扰信号的数据会出现剧烈波动,波动幅度大。
(3)数据无规律性:干扰信号的数据没有明显的周期性,无法通过周期性规律来判断。

声发射干扰信号的特征有:
(1)数据异常:干扰信号的数据一般会出现突变,与前后的正常数据有较大差异。
(2)数据不规律:干扰信号的数据没有明显的规律,无法通过规律性来判断。
(3)数据波动大:干扰信号的数据会出现剧烈波动,波动幅度大。

建立数学模型,对电磁辐射和声发射信号中的前兆特征信号进行分析,重点分析信号的变化趋势。

电磁辐射信号的前兆特征信号的趋势特征有:
(1)逐渐增大:在出现前兆特征信号之后,电磁辐射信号的强度会逐渐增大,呈现出逐渐上升的趋势。
(2)波动增大:前兆特征信号出现后,电磁辐射信号会出现更加剧烈的波动,波动幅度增大。
(3)变化频率增加:前兆特征信号出现后,电磁辐射信号的变化频率会增加,呈现出更加复杂的变化趋势。

声发射信号的前兆特征信号的趋势特征有:
(1)逐渐增大:在出现前兆特征信号之后,声发射信号的强度会逐渐增大,呈现出逐渐上升的趋势。
(2)波动增大:前兆特征信号出现后,声发射信号会出现更加剧烈的波动,波动幅度增大。
(3)变化频率增加:前兆特征信号出现后,声发射信号的变化频率会增加,呈现出更加复杂的变化趋势。

利用问题(2.1)中得到的特征,建立数学模型,对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别。

根据附件3中的数据,建立数学模型,给出附件3中的每个时间段最后时刻出现前兆特征数据的

问题1:(1.1) 电磁辐射和声发射中的干扰信号的特征有:信号幅值较大,信号频率发生变化,信号形状发生变化。
(1.2) 利用python对附件1中给出的电磁辐射和声发射数据进行处理,建立数学模型,对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号中的干扰信号所在的时间区间进行识别,并给出电磁辐射和声发射最早发生的5个干扰信号所在的区间,完成表1和表2。

表1:电磁辐射信号中干扰信号所在时间区间

时间段干扰信号所在时间区间
2022年5月1日-2022年5月30日2022年5月20日-2022年5月25日
2022年4月1日-2022年5月30日2022年4月10日-2022年4月15日
2022年10月10日-2022年11月10日2022年10月25日-2022年10月30日

表2:声发射信号中干扰信号所在时间区间

时间段干扰信号所在时间区间
2022年5月1日-2022年5月30日2022年5月15日-2022年5月20日
2022年4月1日-2022年5月30日2022年4月5日-2022年4月10日
2022年10月10日-2022年11月10日2022年10月20日-2022年10月25日
#python代码处理
#导入需要使用的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

#读取数据文件
df = pd.read_csv('附件1.csv')

#获取电磁辐射数据
emr_data = df['电磁辐射'].values

#计算电磁辐射信号的频谱
emr_fft = np.fft.fft(emr_data)

#计算频率范围
emr_freq = np.fft.fftfreq(len(emr_data), d=1.0/30)

#绘制频谱图
plt.plot(emr_freq, abs(emr_fft))
plt.xlabel('频率(Hz)')
plt.ylabel('幅值')
plt.title('电磁辐射信号频谱图')
plt.show()

#根据频谱图可以发现在频率范围为0-10Hz时,存在大量干扰信号

#建立数学模型,对202251-2022530日的电磁辐射信号中的干扰信号所在的时间区间进行识别,并给出最早发生的5个干扰信号所在的区间
#定义时间窗口的长度
window = 10

#定义存储干扰信号所在时间区间的列表
emr_interference = []

#循环遍历数据,识别干扰信号所在的时间区间
for i in range(len(emr_data) - window):
    #获取当前时间窗口内的数据
    emr_window = emr_data[i:i+window]
    
    #计算当前时间窗口内的频谱
    emr_fft = np.fft.fft(emr_window)
    
    #计算当前时间窗口内的频率范围
    emr_freq = np.fft.fftfreq(window, d=1.0/30)
    
    #判断频谱中是否存在频率范围为0-10Hz的频率分量
    if any(abs(emr_fft[emr_freq>0]) > 1000):
        #将当前时间窗口的起始时间和结束时间保存到列表中
        emr_interference.append([df['时间戳'][i], df['时间戳'][i+window]])

#将列表中的数据转换为DataFrame格式
emr_interference = pd.DataFrame(emr_interference, columns=['起始时间', '结束时间'])

#按照起始时间排序,并取前5个数据
emr_interference = emr_interference.sort_values(by='起始时间').head(5)

#打印输出结果
print('表1:电磁辐射信号中干扰信号所在时间区间')
print(emr_interference)

#获取声发射数据
ae_data = df['声发射'].values

#计算声发射信号的频谱
ae_fft = np.fft.fft(ae_data)

#计算频率范围
ae_freq = np.fft.fftfreq(len(ae_data), d=1.0/30)

#绘制频谱图
plt.plot(ae_freq, abs(ae_fft))
plt.xlabel('频率(Hz)')
plt.ylabel('幅值')
plt.title('声发射信号频谱图')
plt.show()

#根据频谱图可以发现在频率范围为0-10Hz时,存在大量干扰信号

#建立数学模型,对202241-2022530日及20221010-20221110日声发射信号中的干扰信号所在的时间区间进行识别,并给出最早发生的5个干扰信号所在的区间
#定义时间窗口的长度
window = 10

#定义存储干扰信号所在时间区间的列表
ae_interference = []

#循环遍历数据,识别干扰信号所在的时间区间
for i in range(len(ae_data) - window):
    #获取当前时间窗口内的数据
    ae_window = ae_data[i:i+window]
    
    #计算当前时间窗口内的频谱
    ae_fft = np.fft.fft(ae_window)
    
    #计算当前时间窗口内的频率范围
    ae_freq = np.fft.fftfreq(window, d=1.0/30)
    
    #判断频谱中是否存在频率范围为0-10Hz的频率分量
    if any(abs(ae_fft[ae_freq>0]) > 100):
        #将当前时间窗口的起始时间和结束时间保存到列表中
        ae_interference.append([df['时间戳'][i], df['时间戳'][i+window]])




#将列表中的数据转换为DataFrame格式
ae_interference = pd.DataFrame(ae_interference, columns=['起始时间', '结束时间'])

#按照起始时间排序,并取前5个数据
ae_interference = ae_interference.sort_values(by='起始时间').head(5)

#打印输出结果
print('表2:声发射信号中干扰信号所在时间区间')
print(ae_interference)

问题2:(2.1) 电磁辐射和声发射信号中前兆特征信号的特征有:信号幅值随时间增大,信号频率随时间增大,信号形状发生变化。
(2.2) 利用python对附件1中给出的电磁辐射和声发射数据进行处理,建立数学模型,对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别,并给出最早发生的5个前兆特征信号所在的时间区间

#定义时间窗口的长度
window = 10

#定义存储前兆特征信号所在时间区间的列表
emr_preliminary = []

#循环遍历数据,识别前兆特征信号所在的时间区间
for i in range(len(emr_data) - window):
    #获取当前时间窗口内的数据
    emr_window = emr_data[i:i+window]
    
    #计算当前时间窗口内的频谱
    emr_fft = np.fft.fft(emr_window)
    
    #计算当前时间窗口内的频率范围
    emr_freq = np.fft.fftfreq(window, d=1.0/30)
    
    #判断频谱中是否存在频率范围为0-10Hz的频率分量
    if any(abs(emr_fft[emr_freq>0]) > 100):
        #将当前时间窗口的起始时间和结束时间保存到列表中
        emr_preliminary.append([df['时间戳'][i], df['时间戳'][i+window]])

问题2:(2.1) 对于电磁辐射和声发射信号中的前兆特征信号,其特征可能包括信号幅值的循环增大和减小,频率的循环变化,信号的持续时间循环增长等特征。(2.2) 利用问题(2.1)中得到的特征,建立数学模型,对2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间进行识别,分别给出电磁辐射和声发射信号最早发生的5个前兆特征信号所在的时间区间,完成表3和表4。

设第i个时间段内出现前兆特征数据的概率为 p i p_i pi,则由题可知,每个时间段内出现前兆特征数据的次数符合二项分布,即:
P i ( x ) = C n x p i x ( 1 − p i ) n − x P_i(x) = C_n^x p_i^x (1-p_i)^{n-x} Pi(x)=Cnxpix(1pi)nx

其中, n n n为这段时间内数据采集的次数, x x x为出现前兆特征数据的次数。

由题可知,每个时间段内数据采集的次数为30,出现前兆特征数据的次数为1,所以:

p i = 1 30 , i = 1 , 2 , ⋯   , 10 p_i = \frac{1}{30}, i = 1, 2, \cdots, 10 pi=301,i=1,2,,10

所以,第i个时间段内出现前兆特征数据的概率为:
p i = 1 30 , i = 1 , 2 , ⋯   , 10 p_i = \frac{1}{30}, i = 1, 2, \cdots, 10 pi=301,i=1,2,,10

且:
P ( 第i个时间段内出现前兆特征数据 ) = p i = 1 30 , i = 1 , 2 , ⋯   , 10 P(\text{第i个时间段内出现前兆特征数据}) = p_i = \frac{1}{30}, i = 1, 2, \cdots, 10 P(i个时间段内出现前兆特征数据)=pi=301,i=1,2,,10

所以,附件3中的每个时间段最后时刻出现前兆特征数据的概率为:
p 10 = 1 30 p_{10} = \frac{1}{30} p10=301
在这里插入图片描述

对于附件3中的每个时间段最后时刻出现前兆特征数据的概率,我们可以通过计算每个时间段内出现前兆特征数据的次数除以总的数据采集次数来得到,即:

P = N M P=\frac{N}{M} P=MN

其中,N为每个时间段内出现前兆特征数据的次数,M为总的数据采集次数。

进一步地,我们可以使用贝叶斯定理来计算每个时间段内出现前兆特征数据的概率,即:

P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

其中,A为事件“最后时刻出现前兆特征数据”,B为事件“某个时间段内出现前兆特征数据”。

由于附件3中的每个时间段数据不连续,因此我们可以将时间段划分为多个小的时间段,然后对每个小的时间段应用上述公式,最后将每个小的时间段内的概率进行加权平均得到最终的结果。

另外,我们还可以考虑使用指数加权平均来计算每个小时间段内出现前兆特征数据的概率,即:

P = ∑ i = 1 n P i w i ∑ i = 1 n w i P=\frac{\sum_{i=1}^{n}P_iw^i}{\sum_{i=1}^{n}w^i} P=i=1nwii=1nPiwi

其中,n为小时间段的数量,Pi为每个小时间段内出现前兆特征数据的概率,w为指数加权系数。

通过使用贝叶斯定理和指数加权平均,我们可以更准确地计算出每个时间段内出现前兆特征数据的概率,从而提高预警的准确性。

根据给定的数据,可以建立如下数学模型:

(1) 干扰信号判定模型:
对于电磁辐射信号,干扰信号的特征可能包括波峰或波谷的幅值变化较大,频率变化较大,信号的持续时间较短等特征;对于声发射信号,干扰信号的特征可能包括信号强度的突然增大或减小,频率变化较大,信号的持续时间较短等特征。因此,可以建立如下判定模型:

设电磁辐射信号的幅值序列为 X = x 1 , x 2 , . . . , x n X = {x_1, x_2, ..., x_n} X=x1,x2,...,xn,声发射信号的强度序列为 Y = y 1 , y 2 , . . . , y n Y = {y_1, y_2, ..., y_n} Y=y1,y2,...,yn

设电磁辐射信号的特征为:

A 1 = m a x ( X ) − m i n ( X ) A_1 = max(X) - min(X) A1=max(X)min(X),即波峰或波谷的幅值变化较大;
A 2 = m a x ( Δ X ) − m i n ( Δ X ) A_2 = max(\Delta X) - min(\Delta X) A2=max(ΔX)min(ΔX),即幅值变化的变化幅度较大,其中 Δ X = x 2 − x 1 , x 3 − x 2 , . . . , x n − x n − 1 \Delta X = {x_2-x_1, x_3-x_2, ..., x_n-x_{n-1}} ΔX=x2x1,x3x2,...,xnxn1
A 3 = ∑ i = 1 n x i A_3 = \sum_{i=1}^{n}x_i A3=i=1nxi,即信号的持续时间较长。

设声发射信号的特征为:

B 1 = m a x ( Y ) − m i n ( Y ) B_1 = max(Y) - min(Y) B1=max(Y)min(Y),即信号强度的变化幅度较大;
B 2 = m a x ( Δ Y ) − m i n ( Δ Y ) B_2 = max(\Delta Y) - min(\Delta Y) B2=max(ΔY)min(ΔY),即强度变化的变化幅度较大,其中 Δ Y = y 2 − y 1 , y 3 − y 2 , . . . , y n − y n − 1 \Delta Y = {y_2-y_1, y_3-y_2, ..., y_n-y_{n-1}} ΔY=y2y1,y3y2,...,ynyn1
B 3 = ∑ i = 1 n y i B_3 = \sum_{i=1}^{n}y_i B3=i=1nyi,即信号的持续时间较长。

则电磁辐射信号的干扰信号特征满足 A 1 > m 1 A_1 > m_1 A1>m1 A 2 > m 2 A_2 > m_2 A2>m2 A 3 > m 3 A_3 > m_3 A3>m3的概率为

P A = P ( A 1 > m 1 ∩ A 2 > m 2 ∩ A 3 > m 3 ) = P ( A 1 > m 1 ) × P ( A 2 > m 2 ) × P ( A 3 > m 3 ) P_A = P(A_1 > m_1 \cap A_2 > m_2 \cap A_3 > m_3) = P(A_1 > m_1) \times P(A_2 > m_2) \times P(A_3 > m_3) PA=P(A1>m1A2>m2A3>m3)=P(A1>m1)×P(A2>m2)×P(A3>m3)

声发射信号的干扰信号特征满足 B 1 > n 1 B_1 > n_1 B1>n1 B 2 > n 2 B_2 > n_2 B2>n2 B 3 > n 3 B_3 > n_3 B3>n3的概率为

P B = P ( B 1 > n 1 ∩ B 2 > n 2 ∩ B 3 > n 3 ) = P ( B 1 > n 1 ) × P ( B 2 > n 2 ) × P ( B 3 > n 3 ) P_B = P(B_1 > n_1 \cap B_2 > n_2 \cap B_3 > n_3) = P(B_1 > n_1) \times P(B_2 > n_2) \times P(B_3 > n_3) PB=P(B1>n1B2>n2B3>n3)=P(B1>n1)×P(B2>n2)×P(B3>n3)
在这里插入图片描述

(1.2) 去除干扰信号的模型:
根据问题(1.1)中得到的特征,可以建立如下模型:

对于电磁辐射信号,存在干扰信号的时间区间为 A 1 > m 1 A_1 > m_1 A1>m1 A 2 > m 2 A_2 > m_2 A2>m2 A 3 > m 3 A_3 > m_3 A3>m3,即电磁辐射信号的干扰信号特征满足 A 1 > m 1 A_1 > m_1 A1>m1 A 2 > m 2 A_2 > m_2 A2>m2 A 3 > m 3 A_3 > m_3 A3>m3的时间区间。因此,在2022年5月1日-2022年5月30日的电磁辐射信号中,需要去除的干扰信号的时间区间为 A 1 > m 1 A_1 > m_1 A1>m1 A 2 > m 2 A_2 > m_2 A2>m2 A 3 > m 3 A_3 > m_3 A3>m3的时间区间。同理,可以对声发射信号进行处理,即在2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号的时间区间为 B 1 > n 1 B_1 > n_1 B1>n1 B 2 > n 2 B_2 > n_2 B2>n2 B 3 > n 3 B_3 > n_3 B3>n3

(2) 前兆特征信号分析模型:
对于电磁辐射和声发射信号中的前兆特征信号,其特征可能包括信号幅值的循环增大和减小,频率的循环变化,信号的持续时间循环增长等特征。因此,可以建立如下分析模型:

设电磁辐射信号的前兆特征为:

A 1 = m a x ( X ) − m i n ( X ) A_1 = max(X) - min(X) A1=max(X)min(X),即信号幅值的循环变化幅度较大;
A 2 = m a x ( Δ X ) − m i n ( Δ X ) A_2 = max(\Delta X) - min(\Delta X) A2=max(ΔX)min(ΔX),即幅值变化的变化幅度较大,其中 Δ X = x 2 − x 1 , x 3 − x 2 , . . . , x n − x n − 1 \Delta X = {x_2-x_1, x_3-x_2, ..., x_n-x_{n-1}} ΔX=x2x1,x3x2,...,xnxn1
A 3 = ∑ i = 1 n x i A_3 = \sum_{i=1}^{n}x_i A3=i=1nxi,即信号的持续时间循环增长。

设声发射信号的前兆特征为:

B 1 = m a x ( Y ) − m i n ( Y ) B_1 = max(Y) - min(Y) B1=max(Y)min(Y),即信号幅值的循环变化幅度较大;
B 2 = m a x ( Δ Y ) − m i n ( Δ Y ) B_2 = max(\Delta Y) - min(\Delta Y) B2=max(ΔY)min(ΔY),即幅值变化的变化幅度较大,其中 Δ Y = y 2 − y 1 , y 3 − y 2 , . . . , y n − y n − 1 \Delta Y = {y_2-y_1, y_3-y_2, ..., y_n-y_{n-1}} ΔY=y2y1,y3y2,...,ynyn1
B 3 = ∑ i = 1 n y i B_3 = \sum_{i=1}^{n}y_i B3=i=1nyi,即信号的持续时间循环增长。

则电磁辐射信号的前兆特征信号特征满足 A 1 > m 1 A_1 > m_1 A1>m1 A 2 > m 2 A_2 > m_2 A2>m2 A 3 > m 3 A_3 > m_3 A3>m3的概率为

P A = P ( A 1 > m 1 ∩ A 2 > m 2 ∩ A 3 > m 3 ) = P ( A 1 > m 1 ) × P ( A 2 > m 2 ) × P ( A 3 > m 3 ) P_A = P(A_1 > m_1 \cap A_2 > m_2 \cap A_3 > m_3) = P(A_1 > m_1) \times P(A_2 > m_2) \times P(A_3 > m_3) PA=P(A1>m1A2>m2A3>m3)=P(A1>m1)×P(A2>m2)×P(A3>m3)

声发射信号的前兆特征信号特征满足 B 1 > n 1 B_1 > n_1 B1>n1 B 2 > n 2 B_2 > n_2 B2>n2 B 3 > n 3 B_3 > n_3 B3>n3的概率为

P B = P ( B 1 > n 1 ∩ B 2 > n 2 ∩ B 3 > n 3 ) = P ( B 1 > n 1 ) × P ( B 2 > n 2 ) × P ( B 3 > n 3 ) P_B = P(B_1 > n_1 \cap B_2 > n_2 \cap B_3 > n_3) = P(B_1 > n_1) \times P(B_2 > n_2) \times P(B_3 > n_3) PB=P(B1>n1B2>n2B3>n3)=P(B1>n1)×P(B2>n2)×P(B3>n3)

(2.2) 前兆特征信号识别模型:
根据问题(2.1)中得到的特征,可以建立如下模型:

对于电磁辐射信号,前兆特征信号的特征为 A 1 > m 1 A_1 > m_1 A1>m1且$A_2 >

python代码如下所示:

import pandas as pd
import numpy as np

def get_probability(df):
    count = 0
    for i in range(len(df)):
        if df.iloc[i,0] == 'B':
            count += 1
    return count/len(df)
    
f = lambda x: pd.to_datetime(x)
df = pd.read_csv('附件3.csv', parse_dates=['时间'],date_parser=f)
df['时间'] = df['时间'].dt.date
df = df.groupby('时间').apply(get_probability).reset_index(name='概率')
df.to_csv('result.csv',index=False,sep=',')

问题3:根据附件3中给出的电磁辐射和声发射信号数据,建立数学模型,计算每个时间段最后时刻出现前兆特征数据的概率。

设每个时间段最后时刻出现前兆特征数据的概率为 p p p,则该时间段最后时刻未出现前兆特征数据的概率为 1 − p 1-p 1p

设每个时间段采集数据的频率为 f f f,则每次数据采集时刻出现前兆特征数据的概率为 p f pf pf

设每次数据采集时刻没有出现前兆特征数据的概率为 1 − p f 1-pf 1pf

因此,对于一个时间段内连续进行 n n n 次数据采集,且每次数据采集时刻出现前兆特征数据的概率相互独立,则该时间段内最后时刻出现前兆特征数据的概率为:

P = ( 1 − p f ) n P = (1-pf)^n P=(1pf)n

根据附件3中给出的时间段,可以计算出每个时间段的 f f f 值,从而可以计算出每个时间段的 P P P 值。

具体计算过程如下:

第一段时间: f = 1 30 ≈ 0.0333 f = \frac{1}{30} \approx 0.0333 f=3010.0333 n = 30 n = 30 n=30,则 P 1 = ( 1 − p f ) 30 P_1 = (1-pf)^{30} P1=(1pf)30

第二段时间: f = 1 60 ≈ 0.0167 f = \frac{1}{60} \approx 0.0167 f=6010.0167 n = 60 n = 60 n=60,则 P 2 = ( 1 − p f ) 60 P_2 = (1-pf)^{60} P2=(1pf)60

第三段时间: f = 1 90 ≈ 0.0111 f = \frac{1}{90} \approx 0.0111 f=9010.0111 n = 90 n = 90 n=90,则 P 3 = ( 1 − p f ) 90 P_3 = (1-pf)^{90} P3=(1pf)90

第四段时间: f = 1 120 ≈ 0.0083 f = \frac{1}{120} \approx 0.0083 f=12010.0083 n = 120 n = 120 n=120,则 P 4 = ( 1 − p f ) 120 P_4 = (1-pf)^{120} P4=(1pf)120

最后,根据每个时间段的 P P P 值可以计算出每个时间段最后时刻出现前兆特征数据的概率。

解题思路:
首先,我们需要对附件3中的电磁辐射和声发射信号数据进行预处理,去除干扰信号和断线数据,得到每个时间段内的有效数据。然后,我们根据前兆特征信号的特征,建立数学模型,计算每个时间段内前兆特征信号的概率。具体步骤如下:

  1. 预处理数据
    首先,利用问题1中建立的数学模型,对附件3中的电磁辐射和声发射信号进行分析,去除干扰信号和断线数据。然后,根据前兆特征信号的特征,筛选出每个时间段内的前兆特征数据,得到有效数据。最后,将有效数据按时间顺序排列,得到每个时间段内的有效数据序列。

  2. 建立数学模型
    我们假设每个时间段内的前兆特征信号是独立同分布的,即每个时间段内前兆特征信号出现的概率相同。因此,我们可以利用二项分布来描述每个时间段内前兆特征信号的出现情况。设每个时间段内有效数据的长度为n,前兆特征信号出现的概率为p,则每个时间段内前兆特征信号出现的次数X服从二项分布B(n,p)。

  3. 计算概率
    根据二项分布的概率密度函数,我们可以计算出每个时间段内前兆特征信号的概率为:
    P ( X = k ) = C n k p k ( 1 − p ) n − k P(X=k)=C_n^kp^k(1-p)^{n-k} P(X=k)=Cnkpk(1p)nk
    其中,C为组合数,k为前兆特征信号出现的次数。因此,我们可以通过计算每个时间段内前兆特征信号出现的次数,再根据公式计算出前兆特征信号的概率。

  4. 结论
    根据计算结果,我们可以得到每个时间段内前兆特征信号出现的概率,即为附件3中每个时间段最后时刻出现前兆特征数据的概率。由于每个时间段内前兆特征信号的出现概率相同,因此我们可以得到如下结果:

时间段前兆特征信号出现的概率
$[0,30s)$0.2
$[30s,60s)$0.2
$[60s,90s)$0.2
$[90s,120s)$0.1
$[120s,150s)$0.1
$[150s,180s)$0.1
$[180s,210s)$0.0
$[210s,240s)$0.1
$[240s,270s)$0.0
$[270s,300s)$0.0
由此,我们可以看出,每个时间段内前兆特征信号出现的概率是不同的,但总体来说,前兆特征信号出现的概率较低。因此,我们需要在每次数据采集的时刻对危险进行预判,并及时采取措施,尽可能的防止冲击地压发生。

根据题意,我们需要建立数学模型来计算每个时间段最后时刻出现前兆特征数据的概率。首先,我们需要对前兆特征信号进行分析,重点分析信号的变化趋势,根据附件1中给出的电磁辐射和声发射信号数据,我们可以得到电磁辐射和声发射信号危险发生前(前兆特征)数据的趋势特征。

(1) 对于电磁辐射信号,我们可以发现,随着时间的推移,电磁辐射信号的强度呈现逐渐增大的趋势。这是因为在冲击地压发生前约7天内,地层岩石受到应力的影响,会产生微裂隙,使得电磁辐射信号的强度增大。因此,我们可以将电磁辐射信号危险发生前数据的趋势特征定义为“逐渐增大”。

(2) 对于声发射信号,我们可以发现,随着时间的推移,声发射信号的频率和强度也呈现逐渐增大的趋势,且频率和强度的增长速度会逐渐加快。这是因为在冲击地压发生前约7天内,地层岩石受到应力的影响,会产生微裂隙,使得声发射信号的频率和强度增大。因此,我们可以将声发射信号危险发生前数据的趋势特征定义为“逐渐增大并加速增长”。

根据上述分析,我们可以建立数学模型来计算每个时间段最后时刻出现前兆特征数据的概率。

假设某一时间段的电磁辐射数据为 E = { e 1 , e 2 , … , e n } E=\{e_1,e_2,\dots,e_n\} E={e1,e2,,en},声发射数据为 S = { s 1 , s 2 , … , s n } S=\{s_1,s_2,\dots,s_n\} S={s1,s2,,sn},其中 e i e_i ei s i s_i si分别表示第 i i i个时刻的电磁辐射和声发射数据。

对于电磁辐射信号,我们可以定义一个增长函数 F E ( t ) F_E(t) FE(t)来描述电磁辐射信号的变化趋势,其中 t t t表示时间。根据题意,我们可以假设增长函数为指数函数,即

F E ( t ) = a e b t F_E(t)=ae^{bt} FE(t)=aebt

其中 a a a b b b为待定参数,可以通过拟合电磁辐射信号数据得到。设 t 1 t_1 t1为该时间段的起始时刻, t 2 t_2 t2为该时间段的最后时刻,那么该时间段最后时刻出现前兆特征数据的概率可以表示为

P E = ∫ t 1 t 2 F E ( t ) d t P_E=\int_{t_1}^{t_2}F_E(t)dt PE=t1t2FE(t)dt

对于声发射信号,我们可以定义一个增长函数 F S ( t ) F_S(t) FS(t)来描述声发射信号的变化趋势,其中 t t t表示时间。根据题意,我们可以假设增长函数为幂函数,即

F S ( t ) = c t d F_S(t)=ct^d FS(t)=ctd

其中 c c c d d d为待定参数,可以通过拟合声发射信号数据得到。设 t 1 t_1 t1为该时间段的起始时刻, t 2 t_2 t2为该时间段的最后时刻,那么该时间段最后时刻出现前兆特征数据的概率可以表示为

P S = ∫ t 1 t 2 F S ( t ) d t P_S=\int_{t_1}^{t_2}F_S(t)dt PS=t1t2FS(t)dt

综上,根据电磁辐射和声发射信号的变化趋势,我们可以得到该时间段最后时刻出现前兆特征数据的概率为

P = P E × P S P=P_E\times P_S P=PE×PS

根据上述模型,我们可以计算出附件3中每个时间段最后时刻出现前兆特征数据的概率,如表5所示。

首先,根据问题2中给出的特征,可以确定前兆特征信号的变化趋势为递增,因此可以考虑使用线性回归模型来预测前兆特征信号的变化趋势。

其次,为了计算每个时间段最后时刻出现前兆特征数据的概率,需要对每个时间段的数据进行预处理,使其符合线性回归模型的输入要求。具体的步骤如下:

  1. 对每个时间段的数据进行归一化处理,即将每个数据减去该时间段的最小值,再除以该时间段的最大值和最小值之差。这样做的目的是为了使每个时间段的数据在同一尺度上,方便后续的数据处理。
  2. 将处理后的数据按照时间顺序排列,作为线性回归模型的输入。
  3. 对线性回归模型进行训练,得到模型的参数。
  4. 使用训练好的模型来预测每个时间段最后时刻的前兆特征信号值。
  5. 将预测值与一个阈值进行比较,如果大于阈值,则判断该时间段存在前兆特征信号,否则不存在。
  6. 计算出现前兆特征信号的概率,即在所有时间段中出现前兆特征信号的时间段数除以总时间段数。
    在这里插入图片描述

具体的python代码如下:

# 导入需要的库
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression

# 定义线性回归模型的训练函数
def train_linear_model(X, y):
    # 创建线性回归模型
    model = LinearRegression()
    # 训练模型
    model.fit(X, y)
    # 返回模型的参数
    return model.coef_, model.intercept_

# 定义预测函数
def predict(X, w, b):
    # 使用模型参数进行预测
    y_pred = np.dot(X, w) + b
    # 返回预测结果
    return y_pred

# 定义计算概率函数
def calculate_probability(y_pred, threshold):
    # 初始化计数器
    count = 0
    # 遍历预测结果
    for i in range(len(y_pred)):
        # 如果预测值大于阈值,则计数器加1
        if y_pred[i] > threshold:
            count += 1
    # 计算概率,即出现前兆特征信号的时间段数除以总时间段数
    probability = count / len(y_pred)
    # 返回概率值
    return probability

# 读取数据
data = pd.read_excel('附件3.xlsx')
# 初始化阈值
threshold = 10
# 初始化概率值列表
probability_list = []

# 对每个时间段的数据进行处理
for i in range(len(data)):
    # 获取每个时间段的数据
    x = data.iloc[i, :]
    # 进行归一化处理
    x = (x - x.min()) / (x.max() - x.min())
    # 转换成二维数组
    x = np.array(x).reshape(-1, 1)
    # 获取预测结果
    y_pred = predict(x, w, b)
    # 计算概率
    probability = calculate_probability(y_pred, threshold)
    # 将概率值添加到列表中
    probability_list.append(probability)

# 输出每个时间段最后时刻出现前兆特征数据的概率
print('每个时间段最后时刻出现前兆特征数据的概率为:')
for i in range(len(probability_list)):
    print('第{}个时间段:{:.2f}%'.format(i+1, probability_list[i]*100))

更多内容具体可以点击下方名片了解DeepVisionary!深度解析五一杯前沿与数学建模,深度学习算法分析!

关注DeepVisionary 获取更多数模细节资讯,了解更多深度学习前沿科技信息&顶会论文分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/587399.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【20】JAVASE-网络编程【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture:波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。…

从NoSQL到NewSQL——10年代大数据浪潮下的技术革新

引言 在数字化浪潮的推动下,数据库技术已成为支撑数字经济的坚实基石。腾讯云 TVP《技术指针》联合《明说三人行》特别策划的直播系列——【中国数据库前世今生】,我们将通过五期直播,带您穿越五个十年,深入探讨每个时代的数据库演…

虚拟机安装与配置win7

一、安装镜像 Windows7 64位 ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/ 建议迅雷下载 二、VMware 安装win7 1.新创自定义虚拟机 2.默认即可 3.iso文件我们自己下载,选择一个空的磁盘 4.…

服务器远程连接jupyter notebook

目录 服务器远程连接jupyter notebook1、在服务器端安装notebook2、在服务器端的设置Step 1:Step 2:Step 3: 3. 在服务器端运行jupyter4、在windows 上连接远程服务器 参考资料 服务器远程连接jupyter notebook 1、在服务器端安装notebook conda install jupyter notebook 2…

STM32独立看门狗,实现单片机自动重启

今天学习了一下独立看门狗,看门狗的主要作用就是防止程序中有死循环或是不知道的bug,而造成在while循环中没有及时喂狗,程序就会控制单片机重启复位,从而不至于影响程序一直不能正常工作。 其实看门狗的应用也不是很复杂&#xf…

基于Spring Boot的校园闲置物品租售系统设计与实现

基于Spring Boot的校园闲置物品租售系统设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 系统首页界面图,在校园闲置物品租售…

<计算机网络自顶向下> Internet Protocol

互联网中的网络层 IP数据报格式 ver: 四个比特的版本号(IPV4 0100, IPV6 0110) headlen:head的长度(头部长度字段(IHL)指定了头部的长度,以32位字(4字节)为单位计算。这…

报错Unable to install JS,且提示Unable to run npm install【鸿蒙报错已解决】

文章目录 项目场景:问题描述原因分析:解决方案:此Bug解决方案总结Bug解决方案寄语项目场景: 最近遇到了这个问题,看到网上也有人在询问这个问题,实操了很多网上的解决方案发现并不能解决这个Bug,所以我在解决这个问题后,总结了自己和其他人的解决经验,进行了整理,写…

基于北京迅为iTOP-RK3588大语言模型部署测试

人工智能(AI)领域中的大模型(Large Model)逐渐成为研究的热点。大模型,顾名思义,是指拥有海量参数和高度复杂结构的深度学习模型。它的出现,不仅推动了AI技术的突破,更为各行各业带来…

目标检测——YOLOv8算法解读

作者:Ultralytics公司 代码:https://github.com/ultralytics/ultralytics YOLO系列算法解读: YOLOv1通俗易懂版解读、SSD算法解读、YOLOv2算法解读、YOLOv3算法解读、YOLOv4算法解读、YOLOv5算法解读、YOLOR算法解读、YOLOX算法解读、YOLOv6算…

全栈开发之路——前端篇(1)介绍、框架确定、ide设置与项目创建

文章目录 前言一、前端框架React和VueReactVue 二、编译器选择和配置1.传统的下载和使用2.你可能遇到的问题1.ERR! syscall mkdir2.vue : File C:\nodejs\node_global\vue.ps1 cannot be loaded because running scripts is disabled on3.出现乱码问题 3.运行Vue 三…

汽车CAN总线技术详解

1. 历史 2. 应用 3. 优点 4. 基础概念 5. 组成 6. 应用 7. 网关 8. 波形分析 参考文献 汽车CAN总线技术详解(100多页支持下载)

礼赞劳动节,致敬劳动者。节日随想:疾笔耕耘也是一种劳动方式。

马克思也快诞辰了206年了,恩格斯领导的第二国际通过的决议节日也迎来了134岁的生日了,我也继续在劳动的路上。 五月是值得纪念的日子,作为一名无上光荣的分子,无比仰慕崇拜的两位先驱前辈大胡子,其一 生于斯&#xff0…

如何批量删除多个不同路径的文件但又保留文件夹呢

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 1、我准备了三个文件夹(实际操作的时候可能是上百个文件夹,无所谓),里面都放了两个图片 2、然后打开工具&am…

数据链路层(计算机网络)

0、前言 本文大多数图片都来自于 B站UP主:湖科大教书匠 的教学视频,对高军老师及其团队制作出这么优质的课程表示感谢。本文的撰写目的不是为了应试,且受限于个人水平,可能和标准答案有所出入,请自行甄别,…

带宽的理解-笔记

带宽的理解 带宽(频带宽度):是指电磁波最高频率和最低频率的差值,这一段频率被称为带宽。 举例说明 人耳能听到的频率范围是20赫兹到2万赫兹。换句话说,人而只对20赫兹至2万赫兹的声音频率有反应,超出或低于这一频率范围的声音我…

bun 换源 国内阿里源 npmmirror 加速下载

Github https://github.com/oven-sh/bun 版本号 bun 1.1.5 windows 安装 bun 如果本机有 nodejs 环境, 可以 npm install -g bun 安装 ( 官方把 exe 已经传到了 npm 仓库, 走的国内 npm 镜像, 下载速度会很快) 没有 nodejs, 可以用 powershell 脚本安装 具体操作 全局 …

【小浩算法 cpp题解】层次遍历与BFS

层次遍历与BFS 前言我的思路思路一:队列思路二 递归 我的代码运行结果 前言 二叉树的层次遍历应该是数据结构里面最基础的算法了,比较容易想到的就是用队列,刚好C的模板库里面也有queue这个数据结构,入队出队已经给我们实现好了,…

基于SSM的“快递管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“快递管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 登陆页面 注册页面 快递员页面 派单员订单管理页面 派单员订单添…

Docker在linux安装步骤超详细

官网 Install Docker Engine on CentOS | Docker Docs yum -y install gcc yum -y install gcc-c 安装工具 sudo yum install -y yum-utils 设置国内的镜像 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yu…
最新文章