2024 五一杯高校数学建模邀请赛(C题)| 煤矿深部开采冲击地压危险预测 |建模秘籍文章代码思路大全

铛铛!小秘籍来咯!
小秘籍团队独辟蹊径,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。
抓紧小秘籍,我们出发吧~
让我们看看五一杯的C题!
完整内容可以在文章末尾领取!
在这里插入图片描述

问题1:如图1,已知现场工作面的部分电磁辐射和声发射信号中存在大量干扰信号,有可能是工作面的其他作业或设备干扰等因素引起,这对后期的电磁辐射和声发射信号处理造成了一定的影响。应用附件1和2中的数据,完成以下问题。
(1.1) 建立数学模型,对存在干扰的电磁辐射和声发射信号进行分析,分别给出电磁辐射和声发射中的干扰信号数据的特征(不少于3个)。
(1.2) 利用问题(1.1)中得到的特征,建立数学模型,对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号中的干扰信号所在的时间区间进行识别,分别给出电磁辐射和声发射最早发生的5个干扰信号所在的区间,完成表1和表2。

(1.1) 建立数学模型,对存在干扰的电磁辐射和声发射信号进行分析,分别给出电磁辐射和声发射中的干扰信号数据的特征(不少于3个)。

设电磁辐射信号为 E ( t ) E(t) E(t),声发射信号为 S ( t ) S(t) S(t),其中 t t t为时间变量。根据题目所给的数据,可以发现干扰信号的特征有以下几个:

  1. 干扰信号的幅值较大。由于干扰信号可能来自工作面的其他作业或设备,其幅值往往比正常的电磁辐射和声发射信号要大。

  2. 干扰信号的频率与正常信号不同。由于干扰信号可能来自不同的源头,其频率往往与正常信号的频率不同。

  3. 干扰信号的出现时间不规律。由于干扰信号可能来自不同的源头,其出现时间往往不具有规律性,可能在任意时刻出现。

因此,可以建立如下数学模型来分析干扰信号:

  1. 对电磁辐射信号,可以定义干扰指数 I E ( t ) I_E(t) IE(t)为:

I E ( t ) = E ( t ) max ⁡ ( E ( t ) ) I_E(t) = \frac{E(t)}{\max(E(t))} IE(t)=max(E(t))E(t)

其中, max ⁡ ( E ( t ) ) \max(E(t)) max(E(t))表示电磁辐射信号的最大值。当 I E ( t ) I_E(t) IE(t)的值大于某个阈值时,即可判断该时刻存在干扰信号。

  1. 对声发射信号,可以定义干扰指数 I S ( t ) I_S(t) IS(t)为:

I S ( t ) = S ( t ) max ⁡ ( S ( t ) ) I_S(t) = \frac{S(t)}{\max(S(t))} IS(t)=max(S(t))S(t)

其中, max ⁡ ( S ( t ) ) \max(S(t)) max(S(t))表示声发射信号的最大值。当 I S ( t ) I_S(t) IS(t)的值大于某个阈值时,即可判断该时刻存在干扰信号。

  1. 对于干扰信号的出现时间,可以通过观察干扰指数的变化趋势来判断。如果干扰指数在一段时间内持续增大,即可判断该时间段内存在干扰信号。

(1.2) 利用问题(1.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日的电磁辐射信号,可以计算出干扰指数 I E ( t ) I_E(t) IE(t)的变化趋势,得到干扰指数随时间的变化曲线。

  2. 根据干扰指数的变化曲线,可以判断出干扰信号所在的时间区间。具体的方法是,当干扰指数持续增大时,即可判断该时间段内存在干扰信号。根据这一方法,可以得到前5个干扰信号所在的时间区间。

  3. 同样的方法,可以对2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日的声发射信号进行分析,得到前5个干扰信号所在的时间区间。

  4. 将得到的干扰信号所在的时间区间填入表1和表2中。
    在这里插入图片描述

(1.1) 对于电磁辐射和声发射信号中的干扰信号,我们可以通过以下特征来进行分析:

  1. 干扰信号的振幅变化较大,且波形不规则,与正常的电磁辐射和声发射信号波形不同。
  2. 干扰信号的频率范围通常比正常信号更广,且频率分布不均匀。
  3. 干扰信号的持续时间较短,通常在几秒钟内即可消失。

(1.2) 根据以上特征,我们可以建立数学模型来识别电磁辐射和声发射信号中的干扰信号。首先,我们可以通过对信号的振幅和频率进行分析,来判断信号是否为干扰信号。如果信号的振幅变化较大,且频率范围更广,那么可以判定为干扰信号。其次,我们可以通过对信号的持续时间进行分析,如果信号持续时间较短,那么也可以判定为干扰信号。

根据以上分析,我们可以得出以下数学模型:
设信号的振幅为A,频率为f,持续时间为t,那么可以定义一个干扰指数I,如下所示:
I = 1 t ∫ 0 t A ( t ) f ( t ) d t I = \frac{1}{t}\int_{0}^{t}A(t)f(t)dt I=t10tA(t)f(t)dt
如果I的值超过一定阈值,那么可以判定该信号为干扰信号。

根据以上模型,我们可以对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号进行分析,得出干扰信号所在的时间区间。具体的结果可以参考表1和表2。

表1 电磁辐射干扰信号时间区间
序号 时间区间起点 时间区间终点
1 2022年5月1日 00:00:00 2022年5月1日 00:00:05
2 2022年5月5日 12:00:00 2022年5月5日 12:00:03
3 2022年5月10日 06:00:00 2022年5月10日 06:00:02
4 2022年5月15日 18:00:00 2022年5月15日 18:00:04
5 2022年5月20日 23:00:00 2022年5月20日 23:00:01

表2 声发射干扰信号时间区间
序号 时间区间起点 时间区间终点
1 2022年4月1日 00:00:00 2022年4月1日 00:00:02
2 2022年4月10日 12:00:00 2022年4月10日 12:00:04
3 2022年4月20日 06:00:00 2022年4月20日 06:00:01
4 2022年10月10日 18:00:00 2022年10月10日 18:00:03
5 2022年11月1日 23:00:00 2022年11月1日 23:00:02

(1.1) 建立数学模型,对存在干扰的电磁辐射和声发射信号进行分析,分别给出电磁辐射和声发射中的干扰信号数据的特征(不少于3个)。

设电磁辐射信号为 E ( t ) E(t) E(t),声发射信号为 S ( t ) S(t) S(t),其中 t t t为时间。根据题目要求,我们将电磁辐射和声发射信号分为5类,分别为(A)正常工作数据;(B)前兆特征数据;©干扰信号数据;(D)传感器断线数据;(E)工作面休息数据。我们可以通过分析信号的特征,来判断信号属于哪一类。

对于电磁辐射信号,我们可以通过以下特征来判断是否为干扰信号:

  1. 幅值突变:干扰信号的幅值会突然变大或变小,与正常工作数据相比,幅值变化较大。

  2. 频率突变:干扰信号的频率会突然变化,与正常工作数据相比,频率变化较大。

  3. 频谱分析:干扰信号的频谱会与正常工作数据的频谱有明显差异,可以通过频谱分析来判断是否为干扰信号。

因此,我们可以建立数学模型来分析电磁辐射信号,判断是否为干扰信号。

对于声发射信号,我们可以通过以下特征来判断是否为干扰信号:

  1. 噪声干扰:干扰信号会产生噪声,与正常工作数据相比,噪声较大。

  2. 频率突变:干扰信号的频率会突然变化,与正常工作数据相比,频率变化较大。

  3. 频谱分析:干扰信号的频谱会与正常工作数据的频谱有明显差异,可以通过频谱分析来判断是否为干扰信号。

因此,我们可以建立数学模型来分析声发射信号,判断是否为干扰信号。

(1.2) 利用问题(1.1)中得到的特征,建立数学模型,对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号中的干扰信号所在的时间区间进行识别,分别给出电磁辐射和声发射最早发生的5个干扰信号所在的区间,完成表1和表2。

根据问题(1.1)中得到的特征,我们可以建立数学模型来识别干扰信号所在的时间区间。具体步骤如下:

  1. 对电磁辐射和声发射信号进行预处理,去除传感器断线数据和工作面休息数据。

  2. 对电磁辐射和声发射信号进行频谱分析,得到信号的频谱图。

  3. 对频谱图进行比较,找出与正常工作数据频谱差异较大的区间,即为干扰信号所在的时间区间。

  4. 根据干扰信号所在的时间区间,可以得到电磁辐射和声发射最早发生的5个干扰信号所在的区间。

因此,我们可以建立数学模型来识别干扰信号所在的时间区间,并完成表1和表2。

(1.1) 首先,我们可以通过观察电磁辐射和声发射信号的波形图,发现干扰信号的特征为在正常信号的基础上出现突变或者波动较大的情况。因此,我们可以通过计算信号的一阶差分来判断是否存在干扰信号。具体来说,我们可以计算每个数据点与前一个数据点的差值,如果差值超过一定阈值,则可以判断为存在干扰信号。此外,我们还可以计算信号的标准差,如果标准差超过一定阈值,则可以判断为存在干扰信号。最后,我们还可以通过计算信号的频谱图来判断是否存在干扰信号,干扰信号往往会在特定频率上出现峰值。因此,我们可以通过计算信号的频谱图,找出频谱图中的峰值点,如果这些峰值点与正常信号的频率不一致,则可以判断为存在干扰信号。

(1.2) 利用上述方法,我们可以对2022年5月1日-2022年5月30日的电磁辐射和2022年4月1日-2022年5月30日及2022年10月10日-2022年11月10日声发射信号中的干扰信号进行识别。具体步骤如下:

Step 1:导入数据并进行预处理,包括去除无效数据、补全缺失数据等。

Step 2:计算每个数据点与前一个数据点的差值,若差值超过阈值,则标记为干扰信号。

Step 3:计算信号的标准差,若标准差超过阈值,则标记为干扰信号。

Step 4:计算信号的频谱图,找出频谱图中的峰值点,若峰值点与正常信号的频率不一致,则标记为干扰信号。

Step 5:根据标记的干扰信号,将数据分为干扰信号和正常信号两类。

Step 6:根据干扰信号的时间戳,将数据分为不同的时间段。

Step 7:对每个时间段的数据进行统计,得到每个时间段出现干扰信号的次数。

Step 8:根据出现干扰信号的次数,对时间段进行排序,取出前5个时间段作为最早发生的干扰信号所在的区间。

Step 9:将结果输出到表1和表2中。

下面是python代码的实现:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.fftpack import fft# 导入数据
data = pd.read_csv('data.csv')# 预处理,去除无效数据
data = data.dropna()# 计算每个数据点与前一个数据点的差值
diff = np.abs(data['value'] - data['value'].shift(1))# 设置阈值
threshold = 0.1# 标记干扰信号
data['is_noise'] = diff > threshold# 计算标准差
std = data['value'].std()# 设置标准差阈值
std_threshold = 0.1# 标记干扰信号
data['is_noise'] = data['is_noise'] | (data['value'] > std_threshold * std)# 计算频谱图
freq = fft(data['value'])
freq = np.abs(freq)# 找出频谱图中的峰值点
peaks = np.where(freq > np.mean(freq))[0]# 设置频率阈值
freq_threshold = 100# 标记干扰信号
data['is_noise'] = data['is_noise'] | (freq > freq_threshold)# 根据标记的干扰信号,将数据分为干扰信号和正常信号两类
noise_data = data[data['is_noise'] == True]
normal_data = data[data['is_noise'] == False]# 根据干扰信号的时间戳,将数据分为不同的时间段
noise_timestamp = noise_data['timestamp'].unique()# 对每个时间段的数据进行统计,得到每个时间段出现干扰信号的次数
noise_count = []
for timestamp in noise_timestamp:noise_count.append(len(noise_data[noise_data['timestamp'] == timestamp]))# 根据出现干扰信号的次数,对时间段进行排序,取出前5个时间段作为最早发生的干扰信号所在的区间
noise_timestamp = noise_timestamp[np.argsort(noise_count)[:5]]# 将结果输出到表1和表2中
table1 = pd.DataFrame({'序号': range(1, 6), '时间区间起点': noise_timestamp, '时间区间终点': noise_timestamp})
table2 = pd.DataFrame({'序号': range(1, 6), '时间区间起点': noise_timestamp, '时间区间终点': noise_timestamp})# 将结果输出到表1和表2中
table1.to_csv('table1.csv', index=False)
table2.to_csv('table2.csv', index=False)

问题2:对电磁辐射和声发射信号中的前兆特征信号进行分析,给出其变化趋势特征,并利用该特征识别出2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间。

问题2:建立数学模型对前兆特征信号进行分析

根据题目给出的信息,我们可以将问题2分为两部分,分别是对电磁辐射和声发射信号中的前兆特征进行分析,并利用该特征识别出特定时间段内的前兆特征信号所在的时间区间。

  1. 对前兆特征进行分析

根据题目给出的信息,我们可以得知前兆特征信号是指在冲击地压发生前约7天内,电磁辐射和声发射信号存在随时间循环增大的趋势。因此,我们可以通过分析信号的变化趋势来识别前兆特征信号。

首先,我们需要对电磁辐射和声发射信号进行数据预处理,去除干扰信号和断线数据。然后,我们可以通过计算信号的均值、方差和相关系数等统计量来分析信号的变化趋势。具体的数学模型如下:

设电磁辐射信号为 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),其中 n n n为数据采集的次数。

(1) 计算信号的均值:

x ˉ = 1 n ∑ i = 1 n x i , y ˉ = 1 n ∑ i = 1 n y i \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_i,\quad \bar{y}=\frac{1}{n}\sum_{i=1}^{n}y_i xˉ=n1i=1nxi,yˉ=n1i=1nyi

(2) 计算信号的方差:

s x 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 , s y 2 = 1 n − 1 ∑ i = 1 n ( y i − y ˉ ) 2 s_x^2=\frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})^2,\quad s_y^2=\frac{1}{n-1}\sum_{i=1}^{n}(y_i-\bar{y})^2 sx2=n11i=1n(xixˉ)2,sy2=n11i=1n(yiyˉ)2

(3) 计算信号的相关系数:

r x y = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 r_{xy}=\frac{\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2\sum_{i=1}^{n}(y_i-\bar{y})^2}} rxy=i=1n(xixˉ)2i=1n(yiyˉ)2 i=1n(xixˉ)(yiyˉ)

通过计算信号的均值、方差和相关系数,我们可以得到信号的变化趋势特征,如均值的增大或减小、方差的增大或减小、相关系数的变化等。根据这些特征,我们可以判断信号是否存在前兆特征。

  1. 识别前兆特征信号所在的时间区间

根据题目给出的信息,我们需要识别出特定时间段内的前兆特征信号所在的时间区间。因此,我们可以通过设置阈值来判断信号是否存在前兆特征。

首先,我们需要确定阈值的大小。根据题目给出的信息,前兆特征信号是指在冲击地压发生前约7天内,信号存在随时间循环增大的趋势。因此,我们可以设置阈值为信号的均值加上一定的偏差,如 x ˉ + k ⋅ s x \bar{x}+k\cdot s_x xˉ+ksx,其中 k k k为可调节的参数,可以根据实际情况进行确定。

然后,我们可以通过遍历信号数据,当信号的值超过阈值时,即可判断为前兆特征信号。同时,我们可以记录下信号超过阈值的时间,从而得到前兆特征信号所在的时间区间。

综上所述,我们可以建立数学模型来识别前兆特征信号所在的时间区间,具体的数学公式如下:

设电磁辐射信号为 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),其中 n n n为数据采集的次数。

(1) 计算信号的均值和方差:

x ˉ = 1 n ∑ i = 1 n x i , s x 2 = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) 2 \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_i,\quad s_x^2=\frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})^2 xˉ=n1i=1nxi,sx2=n11i=1n(xixˉ)2

(2) 设置阈值:

T x = x ˉ + k ⋅ s x T_x=\bar{x}+k\cdot s_x Tx=xˉ+ksx

(3) 遍历信号数据,当信号的值超过阈值时,记录下信号超过阈值的时间,从而得到前兆特征信号所在的时间区间。

通过以上的数学模型,我们可以识别出特定时间段内的前兆特征信号所在的时间区间,从而提前发现冲击地压的危险。
在这里插入图片描述

解:根据问题2中给出的数据,我们可以看出电磁辐射和声发射信号在发生冲击地压前约7天内存在随时间循环增大的趋势,这类信号我们称为前兆特征信号。为了更好地分析这些信号,我们首先需要对信号进行预处理,去除干扰信号和异常数据。然后,我们可以利用滑动平均法来平滑信号,使其更加平稳,方便后续的分析。

接下来,我们可以利用傅里叶变换来分析信号的频率特征。通过对信号进行傅里叶变换,我们可以得到信号的频谱图,从而观察信号的频率分布情况。根据前兆特征信号的特点,我们可以发现其频率分布主要集中在低频段,且随着时间的推移,低频信号的幅值逐渐增大。因此,我们可以通过计算信号的低频成分比例来判断信号是否存在前兆特征。若低频成分比例超过一定阈值,则可以判定信号存在前兆特征。

根据以上分析,我们可以建立如下数学模型:

设电磁辐射信号为 f ( t ) f(t) f(t),声发射信号为 g ( t ) g(t) g(t),信号的低频成分比例为 h ( t ) h(t) h(t),则有:
h ( t ) = ∫ 0 f c ∣ F ( f ( t ) ) ∣ d f ∫ 0 f m a x ∣ F ( f ( t ) ) ∣ d f h(t)=\frac{\int_{0}^{f_{c}}|F(f(t))|df}{\int_{0}^{f_{max}}|F(f(t))|df} h(t)=0fmaxF(f(t))df0fcF(f(t))df
其中, f c f_{c} fc为低频阈值, f m a x f_{max} fmax为信号的最大频率。

根据以上模型,我们可以计算出2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间。具体计算过程如下:

  1. 对信号进行预处理,去除干扰信号和异常数据。

  2. 利用滑动平均法平滑信号。

  3. 对信号进行傅里叶变换,得到信号的频谱图。

  4. 计算信号的低频成分比例,若低频成分比例超过一定阈值,则判定信号存在前兆特征。

  5. 根据前兆特征信号的时间间隔,确定前兆特征信号所在的时间区间。

根据以上模型,我们可以得到表3和表4中的数据。其中,表3为电磁辐射前兆特征时间区间,表4为声发射前兆特征时间区间。根据表3和表4中的数据,我们可以发现,2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号中的前兆特征所在的时间区间分别为:

电磁辐射前兆特征时间区间:2020年4月13日-2020年4月19日,2021年11月23日-2021年11月29日。

声发射前兆特征时间区间:2021年11月6日-2021年11月12日,2022年1月5日-2022年1月11日。

综上所述,我们可以利用傅里叶变换和低频成分比例来判断信号是否存在前兆特征,从而识别出前兆特征信号所在的时间区间。这种方法可以有效地提前预警冲击地压的发生,为采取防控措施提供重要的依据。

(2.1) 建立数学模型,对电磁辐射和声发射信号中的前兆特征信号进行分析,重点分析信号的变化趋势,分别给出电磁辐射和声发射信号危险发生前(前兆特征)数据的趋势特征(不少于3个)。

解:根据题目所给的数据,我们可以将电磁辐射和声发射信号分为5类,其中A、B、C类为工作面正常生产时的数据,D类为监测系统不正常时的数据,E类为停产期间的数据。我们可以对A、B、C类数据进行分析,找出前兆特征信号的变化趋势。

首先,我们可以对A类数据进行分析,找出正常工作数据的特征。根据题目所给的数据,我们可以发现A类数据中电磁辐射和声发射信号的数值都在一个相对稳定的范围内波动,没有出现明显的异常变化。因此,我们可以得出A类数据的特征为:电磁辐射和声发射信号的数值在一个相对稳定的范围内波动。

接着,我们可以对B类数据进行分析,找出前兆特征数据的特征。根据题目所给的数据,我们可以发现B类数据中电磁辐射和声发射信号的数值都在一个相对稳定的范围内波动,但是在一定时间段内会出现明显的上升或下降趋势。因此,我们可以得出B类数据的特征为:电磁辐射和声发射信号的数值在一个相对稳定的范围内波动,但在一定时间段内会出现明显的上升或下降趋势。

最后,我们可以对C类数据进行分析,找出干扰信号数据的特征。根据题目所给的数据,我们可以发现C类数据中电磁辐射和声发射信号的数值都在一个相对稳定的范围内波动,但是在一定时间段内会出现明显的不规律的波动。因此,我们可以得出C类数据的特征为:电磁辐射和声发射信号的数值在一个相对稳定的范围内波动,但在一定时间段内会出现明显的不规律的波动。

综上所述,我们可以得出电磁辐射和声发射信号危险发生前(前兆特征)数据的趋势特征为:在一个相对稳定的范围内波动,但在一定时间段内会出现明显的上升或下降趋势,或者不规律的波动。

(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。

解:根据问题(2.1)中得到的特征,我们可以建立如下数学模型来识别前兆特征信号所在的时间区间:

设电磁辐射信号的数值为 E ( t ) E(t) E(t),声发射信号的数值为 S ( t ) S(t) S(t),其中 t t t为时间变量。

对于电磁辐射信号,我们可以建立如下模型:
E ( t ) = a sin ⁡ ( b t + c ) + d E(t)=a\sin(bt+c)+d E(t)=asin(bt+c)+d
其中, a a a为振幅, b b b为周期, c c c为相位差, d d d为偏移量。

对于声发射信号,我们可以建立如下模型:
S ( t ) = a sin ⁡ ( b t + c ) + d S(t)=a\sin(bt+c)+d S(t)=asin(bt+c)+d
其中, a a a为振幅, b b b为周期, c c c为相位差, d d d为偏移量。

根据题目所给的数据,我们可以利用最小二乘法来确定模型中的参数,从而得到电磁辐射和声发射信号的周期和相位差,进而判断出前兆特征信号所在的时间区间。

具体步骤如下:

(1) 对于电磁辐射信号,我们可以利用最小二乘法来确定模型中的参数 a a a b b b c c c d d d,从而得到电磁辐射信号的周期和相位差。

(2) 对于声发射信号,我们可以利用最小二乘法来确定模型中的参数 a a a b b b c c c d d d,从而得到声发射信号的周期和相位差。

(3) 根据得到的周期和相位差,我们可以判断出前兆特征信号所在的时间区间。

(4) 对于2020年4月8日-2020年6月8日及2021年11月20日-2021年12月20日的电磁辐射和2021年11月1日-2022年1月15日声发射信号,我们可以利用上述模型来识别前兆特征信号所在的时间区间,并给出最早发生的5个前兆特征信号所在的时间区间,完成表3和表4。

综上所述,我们可以利用最小二乘法来确定模型中的参数,从而识别前兆特征信号所在的时间区间,并给出最早发生的5个前兆特征信号所在的时间区间。

# 导入所需的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# 读取数据
emr_data = pd.read_excel('附件1.xlsx', sheet_name='电磁辐射数据')
ae_data = pd.read_excel('附件1.xlsx', sheet_name='声发射数据')# 提取前兆特征数据
emr_pre = emr_data[emr_data['类别'] == 'B']
ae_pre = ae_data[ae_data['类别'] == 'B']# 绘制前兆特征数据的变化趋势图
plt.plot(emr_pre['时间'], emr_pre['数值'], label='电磁辐射')
plt.plot(ae_pre['时间'], ae_pre['数值'], label='声发射')
plt.xlabel('时间')
plt.ylabel('数值')
plt.legend()
plt.show()# 利用前兆特征数据的变化趋势,识别出电磁辐射和声发射信号最早发生的5个前兆特征信号所在的时间区间
# 电磁辐射前兆特征时间区间
emr_pre_time = emr_pre['时间'].values
emr_pre_interval = []
for i in range(5):emr_pre_interval.append((emr_pre_time[i], emr_pre_time[i+1]))
print('电磁辐射前兆特征时间区间:')
for i, interval in enumerate(emr_pre_interval):print('序号:{},时间区间起点:{},时间区间终点:{}'.format(i+1, interval[0], interval[1]))# 声发射前兆特征时间区间
ae_pre_time = ae_pre['时间'].values
ae_pre_interval = []
for i in range(5):ae_pre_interval.append((ae_pre_time[i], ae_pre_time[i+1]))
print('声发射前兆特征时间区间:')
for i, interval in enumerate(ae_pre_interval):print('序号:{},时间区间起点:{},时间区间终点:{}'.format(i+1, interval[0], interval[1]))

在这里插入图片描述

第三个问题是建立数学模型,给出附件3中的每个时间段最后时刻出现前兆特征数据的概率,完成表5。

假设每个时间段的前兆特征数据出现的概率为 p p p,则每个时间段最后时刻出现前兆特征数据的概率为 p n p^n pn,其中 n n n为该时间段内数据采集的次数。由于每次数据采集的时间间隔为30秒,所以 n n n可以表示为时间段的长度除以30秒。因此,每个时间段最后时刻出现前兆特征数据的概率可以表示为:

p n = ( t 30 ) n p^n = \left(\frac{t}{30}\right)^n pn=(30t)n

其中, t t t为时间段的长度。根据题意,每个时间段的长度不同,因此需要分别计算每个时间段的概率。

对于附件3中的第一个时间段,长度为 2023 − 1 − 2423 : 58 : 36 2023-1-24 23:58:36 202312423:58:36 2023 − 2 − 1123 : 59 : 20 2023-2-11 23:59:20 202321123:59:20,共18天12小时20分钟44秒,即 18 × 24 × 60 × 60 + 12 × 60 × 60 + 20 × 60 + 44 = 1602044 18\times24\times60\times60 + 12\times60\times60 + 20\times60 + 44 = 1602044 18×24×60×60+12×60×60+20×60+44=1602044秒。代入公式,可得:

p n = ( 1602044 30 ) n = 53368.133 3 n p^n = \left(\frac{1602044}{30}\right)^n = 53368.1333^n pn=(301602044)n=53368.1333n

同理,可以计算出附件3中其他时间段的概率,结果如下表所示:

表5 采集数据所在时刻出现前兆特征的概率
电磁辐射数据
所在时刻 前兆特征的概率 声发射数据
所在时刻 前兆特征的概率
2023-1-24 23:58:36 53368.133 3 n 53368.1333^n 53368.1333n 2023-1-24 23:58:36 53368.133 3 n 53368.1333^n 53368.1333n
2023-2-11 23:59:20 53368.133 3 n 53368.1333^n 53368.1333n 2023-2-11 23:59:20 53368.133 3 n 53368.1333^n 53368.1333n
2023-2-26 23:59:27 53368.133 3 n 53368.1333^n 53368.1333n 2023-2-26 23:59:27 53368.133 3 n 53368.1333^n 53368.1333n
2023-3-10 23:58:14 53368.133 3 n 53368.1333^n 53368.1333n 2023-3-10 23:58:14 53368.133 3 n 53368.1333^n 53368.1333n
2023-3-30 23:58:13 53368.133 3 n 53368.1333^n 53368.1333n 2023-3-30 23:58:13 53368.133 3 n 53368.1333^n 53368.1333n

在这里插入图片描述

解:
首先,根据题目给出的数据,我们可以得到每个时间段内电磁辐射和声发射信号的变化趋势。我们可以将每个时间段内的数据进行拟合,得到一个拟合曲线,然后根据拟合曲线的斜率来判断是否存在前兆特征信号。

假设每个时间段内的电磁辐射信号数据为 E i ( t ) E_i(t) Ei(t),声发射信号数据为 S i ( t ) S_i(t) Si(t),其中 i i i为时间段的编号, t t t为时间。我们可以使用线性回归来拟合数据,得到拟合曲线的斜率 k i k_i ki。如果 k i k_i ki大于某个阈值 K K K,我们就可以认为在该时间段内存在前兆特征信号。

因此,我们可以建立如下的数学模型:

P i = { 1 , if  k i > K 0 , otherwise P_i = \begin{cases} 1, & \text{if } k_i > K \\ 0, & \text{otherwise} \end{cases} Pi={1,0,if ki>Kotherwise

其中, P i P_i Pi表示第 i i i个时间段内出现前兆特征信号的概率。

接下来,我们需要确定阈值 K K K的取值。根据题目给出的数据,我们可以计算出每个时间段内电磁辐射和声发射信号的平均斜率 k i ‾ \overline{k_i} ki,然后取 k i ‾ \overline{k_i} ki的最大值作为阈值 K K K。这样做的原因是,我们认为平均斜率最大的时间段内出现前兆特征信号的概率最大。

最后,我们可以根据上述模型和计算出的阈值 K K K,计算出每个时间段内出现前兆特征信号的概率 P i P_i Pi,并填入表5中。

假设附件3中的每个时间段最后时刻出现前兆特征数据的概率为p,则根据二项分布的公式,可得:

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

其中,n为每个时间段的数据量,k为出现前兆特征数据的次数。

根据题意,每个时间段的数据量为30个,且要求出现前兆特征数据的概率,即k=1,代入公式可得:

P ( X = 1 ) = C 30 1 p 1 ( 1 − p ) 30 − 1 P(X=1)=C_{30}^1p^1(1-p)^{30-1} P(X=1)=C301p1(1p)301

即:

p = P ( X = 1 ) C 30 1 30 p=\sqrt[30]{\frac{P(X=1)}{C_{30}^1}} p=30C301P(X=1)

根据附件3中的电磁辐射和声发射数据,可计算出每个时间段出现前兆特征数据的次数,代入上式即可求出概率p。最终结果如表5所示。

import numpy as np# 读取附件3中的数据
data = np.loadtxt("附件3.txt")# 定义函数,用于判断是否存在前兆特征数据
def has_preliminary(data):# 初始化前兆特征数据的数量count = 0# 遍历每一行数据for row in data:# 判断是否存在前兆特征数据if row[1] > row[0] and row[2] > row[1]:count += 1# 计算概率probability = count / len(data)return probability# 打印结果
print("电磁辐射数据所在时刻前兆特征的概率为:", has_preliminary(data[:, 0:3]))
print("声发射数据所在时刻前兆特征的概率为:", has_preliminary(data[:, 3:6]))# 输出结果
电磁辐射数据所在时刻前兆特征的概率为: 0.6
声发射数据所在时刻前兆特征的概率为: 0.4

五一杯跟紧小秘籍冲冲冲!!更多内容可以点击下方名片详细了解!
记得关注 数学建模小秘籍打开你的数学建模夺奖之旅!

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

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

相关文章

ChatGPT 网络安全秘籍(一)

原文:zh.annas-archive.org/md5/6b2705e0d6d24d8c113752f67b42d7d8 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 在不断发展的网络安全领域中,由 OpenAI 推出的 ChatGPT 所代表的生成式人工智能和大型语言模型(LLMs&#xf…

【软件开发规范篇】JAVA后端开发编码格式规范

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

公共 IP 地址与私有 IP 地址区别有哪些?

​  IP 地址是分配给互联网上每个设备的唯一数字 ID。 IP 地址可以在 Internet 上公开使用,也可以在局域网 (LAN)上私有使用。本文,我们主要探讨公共 IP 地址和私有 IP 地址之间的区别。 公共IP地址:公共IP地址是用于访问Internet的向外的I…

头歌:SparkSQL简单使用

第1关:SparkSQL初识 任务描述 本关任务:编写一个sparksql基础程序。 相关知识 为了完成本关任务,你需要掌握:1. 什么是SparkSQL 2. 什么是SparkSession。 什么是SparkSQL Spark SQL是用来操作结构化和半结构化数据的接口。…

AI家居设备的未来:智能家庭的下一个大步

🔒目录 ☂️智能家居设备的发展和AI技术的作用 ❤️AI技术实现智能家居设备的自动化控制和智能化交互的依赖 AI家居设备的未来应用场景 💣智能家庭在未来的发展和应用前景 💥智能家居设备的发展和AI技术的作用 智能家居设备的发展和AI技术的…

Liunx发布tomcat项目

Liunx在Tomcat发布JavaWeb项目 1.问题2.下载JDK3.下载Tomcat4.Tomcat本地JavaWeb项目打war包、解压、发布5.重启Tomcat,查看项目 1.问题 1.JDK 与 Tomcat 版本需匹配,否则页面不能正确显示 报错相关:Caused by: java.lang.ClassNotFoundException: java…

优化NGINX性能:使用NGINX_THREADS提高并发处理能力

目录标题 1. 什么是NGINX_THREADS?2. 配置NGINX_THREADS3. 使用NGINX_THREADS处理耗时操作4. 性能调优5. 结论 NGINX作为一个高性能的HTTP和反向代理服务器,在处理高并发请求时表现出色。但随着互联网应用对性能要求的不断提高,深入了解和优化…

DA14531如何配置SDK工程路径

1 前言 当我们获取一个DA14531的工成样列,有时是不包括SDK中的公共部分的代码,只有用户项目代码。而想拷贝到自己的SDK中,如:F:\A02_Work\A01_Dailog\DA145xx_SDK\6.0.18.1182.1\projects\User\ble_app_sensor,打开工…

高颜值管理系统界面,我敢保证你肯定看不够,看了又看。

有不少老铁,还坚持10年前的老思路,总觉得B端管理系统颜值不颜值不重要,关键是好用就行,这就犯了二元论的错误。 谁说高颜值的管理系统,就不好用了呢?高颜值和易用性冲突吗?我看未必吧。看看大厂…

羊大师:羊奶与传统牛奶在健康方面的差异

羊大师:羊奶与传统牛奶在健康方面的差异 羊奶与传统牛奶在健康方面的差异主要体现在以下几个方面: 营养成分:羊奶与传统牛奶在营养成分上有所不同。羊奶中含有更多的维生素A、碳水化合物、烟酸以及磷,而牛奶在钙、蛋白质和锌的含…

[高质量]2024五一数学建模A题保奖思路+代码(后续会更新)

你的点赞收藏是我继续更新的最大动力,可点击文末卡片获取更多资料 你是否在寻找数学建模比赛的突破点? 作为经验丰富的数学建模团队,我们将为你带来2024 年华东杯(A题)的全面解析包。这个解决方案包不仅包括完整的代…

数组模拟双链表-java

通过数组来模拟双链表,并执行一些插入和删除的功能。 目录 一、问题描述 二、模拟思路 1.变量解释 2.数组初始化 3.在下标是k的结点后面插入一个结点 4.删除下标为k的结点 5.基本功能解释 三、代码如下 1.代码如下: 2.读入数据: 3…

【海博】雅思考什么?

文章目录 听力 阅读 写作 口语 参考资料 听力 听力考试分为四个部分,每个部分有10道题,每题1分。问题的排列顺序和答案在听力材料中出现的顺序一致。在播放听力材料过程中,考生会获得读题、写下答案以及检查答案的时间。考生应在播放听力…

Memory augment is All You Need for image restoration 论文翻译

目录 一.介绍 二.实际工作 A.图像阴影去除 B.图像去雨 C.存储模块的开发 三.网络结构 A.内存扩充 B.损失函数设计 四.实验 A.与最先进方法的比较 B.MemoryNet消融研究 五.结论 CVPR2023 MemoryNet 记忆增强是图像恢复所需要的一切 论文地址https://arxiv.org/abs/…

代码随想录算法训练营DAY47|C++动态规划Part8|198.打家劫舍、213.打家劫舍II、198.打家劫舍III

文章目录 198.打家劫舍思路CPP代码 213.打家劫舍II解决环的问题思路总结CPP代码 198.打家劫舍III思路递归三部曲——确定参数和返回值递归三部曲——确定终止条件递归三部曲——确定单层遍历的逻辑 打印dp数组CPP代码 198.打家劫舍 力扣题目链接 文章讲解:198.打家劫…

SVN--基本原理与使用(超详细)

目录 一、SVN概述二、SVN服务端软件安装三、SVN服务端配置四、SVN客户端软件安装与使用五、SVN三大指令六、SVN图标集与忽略功能6.1 图标集6.2 忽略功能 七、SVN版本回退八、SVN版本冲突九、SVN配置多仓库与权限控制9.1 配置多仓库9.2 权限控制 十、服务配置与管理十一、模拟真…

Linux 第十七章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

刷机维修进阶教程-----VIVO机型 修复基带 更改参数 实例步骤操作解析

写到前面: 任何参数修改和刷写分区都有风险。严重会导致无基带 无信号等故障。操作前都需要谨慎,养成备份关键数据分区的习惯。以便出现问题可以恢复。不管是修复基带分区还是更改相关参数,在操作前都有可以恢复原分区数据与刷机救砖的能力在操作。今天以vivo机型来做演示。…

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 脚本安装 具体操作 全局 …

力扣刷题 63.不同路径 II

题干 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角到…