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 npdef get_probability(df):count = 0for i in range(len(df)):if df.iloc[i,0] == 'B':count += 1return 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)):# 如果预测值大于阈值,则计数器加1if 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.mzph.cn/web/5677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编码方式导致的csv文件错误

写入csv文件时,假如出现了csv文件是乱码的情况,那么说明编码方式有问题,需要修改一下编码方式为utf-8-sig。 把编码方式修改一下为encodingutf-8-sig ,再次运行就不会是乱码了,可见再读写csv文件时,假如使用…

【报错处理】ib_write_bw执行遇到Found Incompatibility issue with GID types.原因与解决办法

文章目录 拓扑现象根因解决办法解决后效果 拓扑 #mermaid-svg-zheSkw17IeCpjnVA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-zheSkw17IeCpjnVA .error-icon{fill:#552222;}#mermaid-svg-zheSkw17IeCpjnVA .error…

Python语言零基础入门——模块

目录 一、模块的导入与使用 1.模块的导入 2.模块的使用 二、包的使用 1.包 2.包的使用 三、常见的标准库 1.random的运用举例 2.random小游戏 (1)石头剪刀布 (2)猜大小 3.re 4.time库的使用 5.turtle库的使用 6.so…

手把手实现一个简约酷美美的版权声明模块

1. 导语 版权声明在很多网站都有用到,出场率还是很高的。所以今天就实现一个属于自己分风格的版权声明模块,技术上采用原生的前端三剑客: HTMLCSSJavaScript(可能会用到) 比如CSDN的版权声明是这样的 2. 需求分析 先看看成品吧,这篇文字结…

Access to image at ... from origin ... has been blocked

Access to image at ‘http://127.0.0.1:3000/api/getImg?url/uploads/file/20240421/file-1713715007811-logo.png’ from origin ‘http://ggbol.gnway.cc’ has been blocked by CORS policy: The request client is not a secure context and the resource is in more-pri…

【C++】---模板进阶

【C】---模板进阶 一、模版参数1、类型参数2、非类型参数 二、模板的特化1、函数模板的特化2、类模板特化(1)全特化(2)偏特化 三、模板分离编译1、模板支持分离编译吗?2、为什么模板不支持分离编译?3、如何…

google search API 获取

登录谷歌云启动服务 首先登录谷歌云Google Cloud: https://console.cloud.google.com/,登录后创建一个项目。 选择创建的项目,进入API库。搜索Google Search。 选择custom Search API并启用。 此外,有个非常具有类似的API-- Google Search …

3D建模在游戏行业的演变和影响

多年来,游戏行业经历了显着的转变,这主要是由技术进步推动的。 深刻影响现代游戏的关键创新之一是 3D 建模领域。 从像素化精灵时代到我们今天探索的错综复杂的游戏世界,3D 建模已成为游戏开发不可或缺的基石。 本文讨论 3D 建模在游戏行业中…

PyVista 3D数据可视化 Python 库 一行代码实现裁剪 含源码

简介: Pyvista是一个用于科学可视化和分析的Python库,使3D数据可视化变得更加简单和易用; 只增加一行代码就可以实现裁剪; 1.效果: 2.代码如下: 加载模型数据: 代码实现: import pyvista a…

查找算法之二分查找

一、算法介绍 二分查找,也称为折半查找,是一种在有序数组中查找特定元素的高效算法。对于包含 n 个元素的有序数组,二分查找的步骤如下: 确定搜索范围:首先,将要查找的元素与数组中间的元素进行比较。如果…

引领农业新质生产力,鸿道(Intewell®)操作系统助力农业机器人创新发展

4月27日至29日,2024耒耜国际会议在江苏大学召开。科东软件作为特邀嘉宾出席此次盛会,并为江苏大学-科东软件“农业机器人操作系统”联合实验室揭牌。 校企联合实验室揭牌 在开幕式上,江苏大学、科东软件、上交碳中和动力研究院、遨博智能研究…

查看笔记本电池容量/健康状态

1. 打开命令行提示符 快捷键“win R”后输入“cmd” 2. 在命令提示符中输入命令 “powercfg /batteryreport" 并回车 3. 查看文件 最后就可以看到笔记本的电池使用报告了

高效率的做事方法?

高效率的做事方法可以帮助我们更好地管理时间和资源,以下是一些建议: 1.明确目标和计划: 在开始任何任务之前,先明确你的目标是什么。 制定一个详细的计划,包括步骤、时间表和预期结果。 将任务分解成小块&#xff0…

第11章 数据库技术(第一部分)

一、数据库技术术语 (一)术语 1、数据 数据描述事物的符号描述一个对象所用的标识,可以文字、图形、图像、语言等等 2、信息 现实世界对事物状态变化的反馈。可感知、可存储、可加工、可再生。数据是信息的表现形式和载体,信…

python实现的基于单向循环链表插入排序

相比于定义一个循环双向链表来实现插入排序来说,下面的实现采用一个单向循环链表来实现,并且不需要定义一个单向循环链表类,而是把一个list(数组/顺序表)当成单向循环链表来用,list的元素是一个包含两个元素…

【Windows,亲测有效】手动激活Sublime Text

前言 Sublime Text 是一款非常好用的文本编辑器,但是免费版时不时会跳弹窗 本方法无毒无害,简单易上手 2023/12/22 更新:实测从 4143 支持到 4169 开始 先确保你用的是官方版本的 Sublime Text,还没下的可以去官方下载&#…

net lambda 、 匿名函数 以及集合(实现IEnumerable的 如数组 、list等)

匿名函数:》》》 Action a1 delegate(int i) { Console.WriteLine(i); }; Lambda:>>> Aciont a1 (int i) > { Console.WriteLine(i); }; 可以简写 (编译器会自动根据委托类型 推断) Action a1 (i)> {…

笔记本无线网络共享给有线使用

1.鼠标右击wifi图标选择打开网络和Internet设置 2.选择WLAN项,点击进入更改适配器选项 3.进入到以下界面,右击以太网选择启动(不确定的话可以在设备管理器查看网卡) 4.右击WLAN选项,点击属性 5.点击共享&#xff0…

esp32s3使用psram后音频播报不了的问题解决记录

idf.py menuconfig开启psram后会报错 提示需要打补丁: 根据提示切换到IDF_PATH目录,然后执行git apply %ADF_PATH%/ida_patches/idf5.0_freertos.patch打补丁。 再次编译提示如下错误: assert failed: spi_flash_disable_interrupts_cach…

【Qt QML】Pane组件

Pane(窗格)提供与应用程序样式和主题匹配的背景色。窗格不提供自己的布局,但需要您定位其内容,例如通过创建RowLayout或ColumnLayout。 声明为窗格的子项的项自动成为窗格的contentItem的父项。动态创建的项需要显式地添加到conte…