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

news2024/11/18 4:48:47

铛铛!小秘籍来咯!
小秘籍团队独辟蹊径,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。
抓紧小秘籍,我们出发吧~
让我们看看五一杯的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.coloradmin.cn/o/1637358.html

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

相关文章

【展会邀请】百华鞋业邀您参加2024山东省休闲旅游产业展!

2024山东省休闲旅游产业展将于4月25日—27日在临沂国际博览中心精彩亮相。本届展会由山东省旅游行业协会、山东省文化产业发展协会主办,山东新琅琊投资发展集团有限公司承办的2024休闲旅游产业展,将在临沂国际博览中心精彩亮相。山东百华鞋业将作为临沂户…

MySQL中索引的数据结构

2.3.1. 索引数据结构 索引就是能够提高查询速度的一种数据结构,在数据插入时就进行了排序(会影响插入和更新的性能),索引广泛使用的是B树索引。 B树索引结构: 目前是基于磁盘排序效率最高的数据结构,树非…

Leetcode—657. 机器人能否返回原点【简单】

2024每日刷题&#xff08;121&#xff09; Leetcode—657. 机器人能否返回原点 实现代码 class Solution { public:bool judgeCircle(string moves) {int rnum 0, lnum 0, unum 0, dnum 0;for(int i 0; i < moves.size(); i) {switch(moves[i]) {case R:rnum;break;c…

Electron+Vue3+Vite+ElectronForge整合-全部ts开发 - 一键启动两个服务 一键打包两个服务

说明 本文介绍一下 Electron Vue3 Vite Electron Forge 的高级整合操作。vue3 : 使用 TS 的语法开发&#xff1b; Electron : 使用 TS 的语法开发。 补充 &#xff1a; 目前Electron的开发还是以JS为主&#xff0c;不过我们可以直接使用TS开发&#xff0c;在执行和打包时&a…

MaskFormer

This repository has been archived by the owner on Aug 30, 2023. It is now read-only.不建议复现

linux系统的rsync命令实现本机到远程主机之间目录的复制和同步

一、rsync命令介绍 在Linux中&#xff0c;rsync 是一个强大的命令行工具&#xff0c;用于同步文件和目录。它可以在本地或通过网络在远程系统之间复制文件。 二、远程目录复制的条件 1、系统要已经安装rsync工具 要使用 rsync 复制远程目录&#xff0c;需要确保系统上安装了 …

高效率的做事方法?

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

浅谈Agent AI智能体的未来

Agent AI智能体的未来非常广阔和潜力巨大。随着技术的发展和应用场景的不断拓展&#xff0c;我们可以期待以下几个方面的发展&#xff1a; 更加智能化&#xff1a;Agent AI智能体将会变得越来越智能&#xff0c;具备更强大的学习、推理和决策能力。它们可以通过大数据和机器学习…

修改word文件的创作者方法有哪些?如何修改文档的作者 这两个方法你一定要知道

在数字化时代&#xff0c;文件创作者的信息往往嵌入在文件的元数据中&#xff0c;这些元数据包括创作者的姓名、创建日期以及其他相关信息。然而&#xff0c;有时候我们可能需要修改这些创作者信息&#xff0c;出于隐私保护、版权调整或者其他实际需求。那么&#xff0c;有没有…

Linux系统启动Canal错误

说明&#xff1a;记录在Linux系统&#xff08;Cent OS 7&#xff09;中使用Canal的错误&#xff1b; 场景 将下载的Canal包解压&#xff0c;启动Canal时&#xff0c;Canal没有启动&#xff0c;如下&#xff1a; 分析&#xff1a;hs_err_pid13418.log是JVM运行异常生成的日志文…

SDKMAN!

概述 官网&#xff0c;SDKMAN是一款管理多版本SDK的工具&#xff0c;可以实现在多个版本间的快速切换。 其他特性&#xff1a; 易用&#xff1a;安装SDK不再需要去Google想安装的某个软件的官网的下载页&#xff0c;或找其他下载页面&#xff0c;然后下载安装包、解压、设置…

Apollo Dreamview+之播放离线数据包

前提条件 完成 Dreamview 插件安装&#xff0c;参见 Studio 插件安装 。 操作步骤 您可以通过包管理和源码两种方式快速体验离线数据包播放操作。其中进入 docker 环境和启动 dreamview 的命令有所区别&#xff0c;请您按照命令进行操作。 步骤一&#xff1a;启动并打开 Dr…

踏上R语言之旅:解锁数据世界的神秘密码(三)

多元相关与回归分析及R使用 文章目录 多元相关与回归分析及R使用一.变量间的关系分析1.两变量线性相关系数的计算2.相关系数的假设检验 二.一元线性回归分析的R计算三、回归系数的假设检验总结 一.变量间的关系分析 变量间的关系及分析方法如下&#xff1a; 1.两变量线性相关…

openlayer 使用ol-ext插件实现凸显区域

使用ol-ext插件实现凸显多变形 效果如图 1、创建openlayer var map; var view; var tileLayer, source, vector;function init() {tileLayer new ol.layer.Tile({source: new ol.source.TileArcGISRest({url: "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStr…

java 远程debug

java -agentlib:jdwptransportdt_socket,servery,suspendn,address50050 -Xmx1536m -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath./ -jar ${JAR_NAME} >/dev/null 2>&1 &参数说明 -agentlib:jdwptransportdt_socket,servery,suspendn,address50050: 这个参数…

Linux:使用匿名管道对进程池的模拟实现

目录 一、Makefile 二、processpool.cc 2.1创建通信管道和子进程 2.2控制子进程 2.3回收进程 三、task.hpp 四、完整代码 接下来我们将模拟实现一个进程池&#xff0c;进程池广泛应用与各个领域和方向&#xff0c;比如我们打开电脑后同时打开很多个进程&#xff08;也就是软…

python公务用车医院校园企业车辆管理系统

本 Python版本&#xff1a;python3.7 前端&#xff1a;vue.jselementui 框架&#xff1a;django/flask都有,都支持 后端&#xff1a;python 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm 公务用车管理智慧云服务监管平台有管理员和用户…

托普利兹矩阵(T矩阵)及其应用(Matlab demo测试)

托普利兹矩阵&#xff08;T矩阵&#xff09;及其应用&#xff08;Matlab demo测试&#xff09; 1. 概念2. Matlab简单测试2.1 生成测试2.2 基本性质及原理2.3 性质验证 3. 其他应用总结3.1 其他性质3.2 文献阅读看到的 参考资料 1. 概念 托普利兹矩阵&#xff0c;简称为T型矩阵…

O2OA开发平台前端源码级二次开发(Vue3,React)

在使用O2OA进行项目定制化开发时&#xff0c;我们可以开发新的前端组件&#xff08;x_component&#xff09;以扩展O2OA来实现更多的业务。这种新增前端组件或者前端业务的开发通常会配合后端自定义应用实现的服务来完成系统内数据的交互。在当系统默认的界面不符合系统UI/UE设…

Sentinel 控制台学习

引言 上篇文章已经讲过 SpringCloud Sentinel集成到微服务项目中&#xff0c;接下来我们继续学习怎么使用sentinel控制台对微服务进行限流&#xff0c;熔断&#xff0c;降级等一系列操作。 控制台 接下来我们单独讲解每一个菜单按钮 实时监控 实时监控&#xff1a; 可以看到…