2024年五一数学建模竞赛C题论文首发

基于随机森林的煤矿深部开采冲击地压危险预测

摘要

煤炭作为中国重要的能源和工业原料,其开采活动对国家经济的稳定与发展起着至关重要的作用。本文将使用题目给出的数据探索更为高效的数据分析方法和更先进的监测设备,以提高预警系统的准确性和可靠性。

对于问题一,干扰信号分析,分析干扰信号并识别干扰信号的时间区间。首先对数据集进行数据清洗,判断其异常值以及缺失值。利用matlab的find函数判定得出无缺失值,再利用k-s检验判定数据分布方式。得出所有的数据均不服从正态分布检验,因此使用箱型图判定异常值。对于判定结果结合实际情况进行分析处理。首先利用给出数据使用固定大小的窗口遍历整个数据集,计算每个窗口中的数据特征。计算幅度差、噪声水平、持续时间、频率特征等。使用提取的特征通过TreeBagger函数训练一个包含100棵决策树的随机森林分类模型。利用问题一特定时间段内的电磁辐射和声发射数据导入模型进行分类判定。随机森林模型的准确率高达99.78%,实现对干扰信号的高精度识别

对于问题二,前兆特征信号分析,分析前兆特征信号并识别前兆特征信号的时间区间。首先,采用与问题一相同的数据清洗方式对问题二涉及的数据进行数据清洗。采用滑动窗口方法计算每个窗口的平均值、标准差和能量等指标。使用随机森林算法训练分类模型,目的是从特征中学习区分类别A和B的模式。利用问题二特定时间段内的电磁辐射和声发射数据导入模型并对其执行与训练数据相同的预处理和特征提取步骤。识别并合并连续或近连续的预测为前兆特征的时间窗口,形成连续的时间区间。

对于问题三,前兆特征信号的实时预警,预测前兆特征信号的概率。应用滑动窗口技术,计算每个窗口的滑动平均值、滑动标准差,以及信号的能量。这些统计量能够捕获信号在每个窗口内的基本特征,为后续的模型训练提供输入特征。筛选类别为A和B的数据作为训练集,使用提取的滑动平均值、滑动标准差和能量作为特征,进行随机森林模型的训练。对每个测试数据文件的最后一个数据点使用训练好的随机森林模型进行预测,评估该时刻前兆特征信号出现的概率。

综合所述,我们通过解决上述问题有助于优化煤矿的安全监控系统,提高对冲击地压等灾害的预防和响应能力。

关键词:随机森林、煤矿深部开采、分类模型、数据清洗

 

26页  1.2万字(无附录)

无水印照片9页

5.1.2 特征提取

我们利用题目给出的数据进行数据处理后,选取特征进行提取

  1. 信号的统计特征:如平均值、方差、峰度、偏度等。
  1. 频率分析:使用傅里叶变换分析信号频率组成,识别与常规采矿作业不同的频率特征。

具体提取结果如下所示

 

图1:可视化结果

信号波动:信号在不同时间点显示出显著的波动性。有些时间段内,信号振幅显著增加,这可能表明发生了一些异常活动或外部干扰。

峰值:图中存在若干尖锐的峰值,这些峰值可能指示某种突发事件或设备的突然响应。

主要频率成分:频率分布主要集中在较低频段,这表明信号的主要变化是较缓慢的波动。没有明显的高频干扰或尖锐的频率峰值,这通常与机械振动或电子设备的正常运行模式相符。

低频强度:低频成分的强度较高,这可以是由于数据收集过程中的背景噪声或是由传感器本身的性质决定。

平均值(Mean):约77.96,这个值提供了信号平均水平的信息。较高的平均值可能与环境背景或常态运行水平相关。方差(Variance):约8229.37,表明信号在平均水平附近有较大的波动。方差的大小直接反映了信号值分布的散布程度。偏度(Skewness):约3.12,指示信号分布的不对称性和尾部的延伸。正偏度(大于0)意味着信号的尾部向较大值方向延伸。峰度(Kurtosis):约13.00,这是一个高峰度值,表明信号有厚重的尾部并且峰比正态分布更尖锐,这可能指出信号中存在极端值或突出的峰。

5.1.3 干扰信号识别

  1. 特征提取

1. 振幅(Amplitude)

振幅是描述信号强度的一个基本特征。在处理时序数据,如EMR信号时,通常会考虑信号在一定时间窗口内的最大值和最小值之差作为振幅。这个差值可以帮助我们理解在该时间窗口内信号的变化范围,从而捕捉到可能的异常或显著的变化事件。

2. 噪声水平(Noise Level)

噪声水平通常通过计算信号的标准差来估计,标准差能够反映信号的离散程度。在实际应用中,信号的标准差越大,表明信号在该时间窗内的波动越大,噪声水平也相对较高。

3. 能量(Energy)

能量特征通常用于描述信号在特定时间窗口内的总能量,可以通过计算信号平方的总和来估计。信号的能量越高,表明该时间段内信号的活动更加剧烈或更有可能包含某些事件。

4. 频率分析(Frequency Analysis)

频率分析是通过对信号进行傅里叶变换来完成的,目的是分析信号在频域上的分布。这种分析可以帮助识别信号中的周期性成分或者异常频率的出现。

5.信号波动(Signal Fluctuation)

信号波动可以通过多种方法来量化,一种常见的方法是计算信号在窗口内部的最大变化率,即窗口内相邻点之间差值的最大值。这个度量能够捕捉信号短时间内的剧烈变化,常用于识别突发事件。

6.峰值(Peak Value)

峰值是信号在窗口期间达到的最大值,它提供了信号强度的一个直观指标。在某些情况下,异常高的峰值可能指示设备故障、外部干扰或其他重要事件。

表1:部分数据特征

统计特征

时间特征

电磁辐射 (EMR) 统计特征

测量时间间隔统计特征

平均值:77.96

平均间隔:约5709秒(约95分钟)

标准差:90.72

标准差:约119216秒(因大部分间隔为31秒或62秒,故标准差大表明存在极端值)

最小值:0

最小间隔:0秒(连续测量)

第一四分位数:31.62

第一四分位数:31秒

中位数:45.00

中位数:31秒

第三四分位数:75.00

第三四分位数:62秒

最大值:500

最大间隔:约5815425秒(约67天)

特征提取是确保数据科学和机器学习模型有效性的基础。在本案例中,通过振幅、噪声水平、能量和频率分析,我们能够构建出能够有效反映信号特性的特征集,这些特征对于训练分类模型来说是至关重要的。通过这些特征,模型能够学习如何区分正常信号与前兆特征信号,从而在实际应用中提供预警,减少潜在的风险。

  1. 模型训练

随机森林是一种强大的机器学习算法,属于集成学习方法的一种。它主要用于分类和回归任务,通过结合多个决策树的预测结果来提高整体的预测准确性和鲁棒性。下面详细介绍随机森林的工作原理:

 

图1:随机森林原理图

表1 电磁辐射干扰信号时间区间

序号

时间区间起点

时间区间终点

1

2022-05-01 10:48:40

2022-05-01 11:16:07

2

2022-05-10 06:22:28

2022-05-10 06:46:15

3

2022-05-18 06:27:52

4

2022-05-25 10:30:13

5

2022-05-28 01:53:22

表2 声发射干扰信号时间区间

序号

时间区间起点

时间区间终点

1

11-Oct-2022 10:21:33

11-Oct-2022 10:

2

16-Oct-2022 02:16:27

3

16-Oct-2022 09:38:04

4

17-Oct-2022 00:42:24

5

22-Oct-2022 23:29:15

23-Oct-2022 00:04:16

表2 声发射干扰信号时间区间

序号

时间区间起点

时间区间终点

1

03-Apr-2022 09:13:07

03-Apr-2022 09:35:10

2

04-Apr-2022 01:07:58

3

06-Apr-2022 13:27:21

4

 07-Apr-2022 03:17:36

5

07-Apr-2022 08:28:30

 07-Apr-2022 10:20:10

问题一+数据预处理代码免费分享

百度网盘 请输入提取码 
提取码:sxjm

% 导入数据

opts = detectImportOptions('附件一.xlsx');

opts.DataRange = 'A2'; % 假设数据从A2开始

data = readtable('附件一.xlsx', opts);

% 选择要分析的数据列,这里假设是'EMR'

emrData = data.EMR;

% 绘制Q-Q图

figure;

qqplot(emrData);

title('Q-Q Plot of EMR Data');

% 执行K-S检验,检查数据是否符合正态分布

[h, p, ksstat, cv] = kstest((emrData-mean(emrData))/std(emrData)); % 数据标准化

% 显示K-S检验结果

fprintf('K-S Test Result:\n');

fprintf('Hypothesis Rejected (1 = true, 0 = false): %d\n', h);

fprintf('P-value: %g\n', p);

fprintf('KS Statistic: %g\n', ksstat);

fprintf('Critical Value for 5%% Significance: %g\n', cv);

% 导入数据

opts = detectImportOptions('附件一.xlsx');

opts.DataRange = 'A2'; % 假设数据从A2开始

data = readtable('附件一.xlsx', opts);

% 选择要分析的数据列,这里假设是'EMR'

emrData = data.EMR;

% 绘制Q-Q图,并美化结果

figure;

qqplot(emrData);

title('Q-Q Plot of EMR Data', 'FontSize', 14);

xlabel('Theoretical Quantiles', 'FontSize', 12);

ylabel('Sample Quantiles', 'FontSize', 12);

grid on; % 添加网格

set(gca, 'FontSize', 10); % 设置坐标轴字体大小

set(gca, 'Color', [0.95 0.95 0.95]); % 设置坐标轴背景颜色

% 执行K-S检验,检查数据是否符合正态分布

[h, p, ksstat, cv] = kstest((emrData-mean(emrData))/std(emrData)); % 数据标准化

% 显示K-S检验结果

fprintf('K-S Test Result:\n');

fprintf('Hypothesis Rejected (1 = true, 0 = false): %d\n', h);

fprintf('P-value: %g\n', p);

fprintf('KS Statistic: %g\n', ksstat);

fprintf('Critical Value for 5%% Significance: %g\n', cv);

% 导入数据

opts = detectImportOptions('附件一.xlsx');

data = readtable('附件一.xlsx', opts);

% 选择类别C的数据

c_data = data(strcmp(data.class, 'C'), :);

% 计算时间间隔和采样频率

timeIntervals = seconds(diff(c_data.time));

Fs = 1 / mean(timeIntervals); % 假设时间间隔均匀

L = height(c_data);

% 傅里叶变换

Y = fft(c_data.EMR);

P2 = abs(Y/L);

P1 = P2(1:L/2+1);

P1(2:end-1) = 2*P1(2:end-1);

f = Fs*(0:(L/2))/L;

% 计算振幅、持续时间、噪声水平

amplitudes = max(c_data.EMR) - min(c_data.EMR);

duration = seconds(max(c_data.time) - min(c_data.time));

noise_levels = std(c_data.EMR);

% 统计分析

stats = [mean(c_data.EMR), var(c_data.EMR), skewness(c_data.EMR), kurtosis(c_data.EMR)];

% 数据可视化

figure;

subplot(3,1,1);

plot(c_data.time, c_data.EMR, 'LineWidth', 1.5);

title('EMR Signal Waveform');

xlabel('Time');

ylabel('EMR');

grid on;

subplot(3,1,2);

plot(f, P1, 'b', 'LineWidth', 1.5);

title('Single-Sided Amplitude Spectrum of EMR');

xlabel('Frequency (f) [Hz]');

ylabel('|P1(f)|');

grid on;

subplot(3,1,3);

bar(stats, 'FaceColor', [0 0.5 0.7], 'EdgeColor', [0 0.2 0.3], 'LineWidth', 1.5);

set(gca, 'xticklabel', {'Mean', 'Variance', 'Skewness', 'Kurtosis'});

title('Statistical Metrics of EMR Signal');

grid on;

% 显示统计结果

fprintf('Mean: %.2f\n', stats(1));

fprintf('Variance: %.2f\n', stats(2));

fprintf('Skewness: %.2f\n', stats(3));

fprintf('Kurtosis: %.2f\n', stats(4));

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import kstest, norm

# 加载数据
data_path = '附件一.xlsx'
data = pd.read_excel(data_path)


# 函数用于检查每个类别的数据是否服从正态分布
def check_normal_distribution(group_data):
    statistic, p_value = kstest(group_data, 'norm', args=(group_data.mean(), group_data.std()))
    return statistic, p_value, p_value > 0.05  # p值大于0.05,接受原假设,认为数据服从正态分布


# 函数用于计算并可视化异常值
def detect_and_visualize_outliers(data, category):
    Q1 = data.quantile(0.25)
    Q3 = data.quantile(0.75)
    IQR = Q3 - Q1
    outliers = ((data < (Q1 - 1.5 * IQR)) | (data > (Q3 + 1.5 * IQR)))

    # 可视化
    plt.figure(figsize=(10, 6))
    plt.title(f"Boxplot and Outliers for Category {category}")
    plt.boxplot(data, vert=False)
    plt.scatter(data[outliers], np.full(data[outliers].shape, 1), color='red', zorder=5)
    plt.grid(True)
    plt.show()

    return outliers


# 按类别分组并检查每组数据分布
distribution_tests = {}
for category, group in data.groupby('类别 (class)'):
    emr_values = group['电磁辐射 (EMR)'].dropna()  # 删除可能的NaN值
    statistic, p_value, is_normal = check_normal_distribution(emr_values)
    distribution_tests[category] = {'K-S Statistic': statistic, 'P-Value': p_value, 'Is Normal': is_normal}

# 将检测结果转换为DataFrame进行更好的展示
distribution_tests_df = pd.DataFrame(distribution_tests).T
print(distribution_tests_df)

# 应用异常值检测并进行可视化
outliers_results = {}
for category, group in data.groupby('类别 (class)'):
    emr_values = group['电磁辐射 (EMR)'].dropna()
    outliers = detect_and_visualize_outliers(emr_values, category)
    outliers_results[category] = outliers.sum()  # 记录每个类别中异常值的数量

# 输出每个类别的异常值数量
outliers_summary = pd.DataFrame.from_dict(outliers_results, orient='index', columns=['Number of Outliers'])
print(outliers_summary)

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report

# 加载数据
attachment1_path = '附件一.xlsx'
attachment1_data = pd.read_excel(attachment1_path)

problem1_emr_path = '问题一EMR检测时间.xlsx'
problem1_emr_data = pd.read_excel(problem1_emr_path)

# 数据预处理
X = attachment1_data[['电磁辐射 (EMR)']]
y = attachment1_data['类别 (class)'].apply(lambda x: 1 if x == 'C' else 0)  # 'C'为干扰信号

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 标准化特征
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# 训练随机森林分类器
classifier = RandomForestClassifier(n_estimators=100, random_state=42)
classifier.fit(X_train_scaled, y_train)

# 预测并检查模型性能
y_pred = classifier.predict(X_test_scaled)
print(classification_report(y_test, y_pred))

# 应用模型于新数据
problem1_emr_features = scaler.transform(problem1_emr_data[['电磁辐射 (EMR)']])
problem1_emr_data['干扰预测'] = classifier.predict(problem1_emr_features)

# 寻找干扰信号的连续区间
problem1_emr_data['时间 (time)'] = pd.to_datetime(problem1_emr_data['时间 (time)'])
problem1_emr_data.sort_values('时间 (time)', inplace=True)

# 合并95分钟内的干扰信号区间
def merge_intervals(intervals):
    sorted_intervals = sorted(intervals, key=lambda x: x[0])
    merged = []
    current_start, current_end = sorted_intervals[0]
    for start, end in sorted_intervals[1:]:
        if start - current_end <= pd.Timedelta(minutes=95):
            current_end = max(current_end, end)
        else:
            merged.append((current_start, current_end))
            current_start, current_end = start, end
    merged.append((current_start, current_end))
    return merged

# 提取干扰区间
problem1_emr_data['区间起点'] = (problem1_emr_data['干扰预测'] == 1) & (problem1_emr_data['干扰预测'].shift(1) != 1)
problem1_emr_data['区间终点'] = (problem1_emr_data['干扰预测'] == 1) & (problem1_emr_data['干扰预测'].shift(-1) != 1)
intervals = problem1_emr_data[(problem1_emr_data['区间起点'] | problem1_emr_data['区间终点']) & (problem1_emr_data['干扰预测'] == 1)]
intervals = intervals[['时间 (time)', '区间起点', '区间终点']]
interval_list = [(row['时间 (time)'], row['时间 (time)']) for index, row in intervals.iterrows()]

# 合并区间并可视化
merged_intervals = merge_intervals(interval_list)
fig, ax = plt.subplots(figsize=(10, 2))
y = 1
for start, end in merged_intervals[:5]:  # 展示前五个区间
    ax.plot([start, end], [y, y], marker='o', color='red')
    y += 1
plt.yticks([])
plt.title("Top 5 EMR Interference Intervals")
plt.xlabel("Time")
plt.tight_layout()
plt.show()
# 显示合并后的前五个干扰区间的起点和终点
merged_intervals[:5]

 

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

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

相关文章

Photoshop前言

Photoshop前言 分辨率图像格式工具界面组件 分辨率 分辨率是指单位长度内包含的像素点的数量&#xff0c;其单位通常为像素/英寸&#xff08;ppi&#xff09;&#xff0c;300ppi表示每英寸包含300个像素点。对于1英寸1英寸大小的图像&#xff0c;若分辨率为72ppi&#xff0c;则…

基于Pytorch深度学习——多层感知机

本文章来源于对李沐动手深度学习代码以及原理的理解&#xff0c;并且由于李沐老师的代码能力很强&#xff0c;以及视频中讲解代码的部分较少&#xff0c;所以这里将代码进行尽量逐行详细解释 并且由于pytorch的语法有些小伙伴可能并不熟悉&#xff0c;所以我们会采用逐行解释小…

Visio 2021 (64bit)安装教程

Visio 2021 (64bit)安装教程 ​ 通知公告 Visio 2021 (64位) 是一款流程图和图表设计工具,主要用于创建和编辑各种类型的图表和图形。它提供了一个直观的界面和丰富的功能,可以帮助用户快速绘制专业的流程图、组织结构图、网络图、平面图、数据库模型等。 具体来说,Visio 20…

Go 语言数组

Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列&#xff0c;这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 相对于去声明 number0, number1, ..., number99 的变量&#xff0c;使用数组形式 numbers[0], num…

Spring Cloud——Circuit Breaker上篇

Spring Cloud——Circuit Breaker上篇 一、分布式系统面临的问题1.服务雪崩2.禁止服务雪崩故障 二、Circuit Breaker三、resilience4j——服务熔断和降级1.理论知识2.常用配置3.案例实战&#xff08;1&#xff09;COUNT_BASED&#xff08;计数的滑动窗口&#xff09;&#xff0…

Spring Cloud——OpenFeign

Spring Cloud——OpenFeign 一、OpenFeign能干嘛二、OpenFeign的基本使用三、Feign的高级特性1.OpenFeign超时控制2.OpenFeign重试机制3.OpenFeign之性能优化HttpClient54.OpenFeign请求和响应压缩5.OpenFeign之Feign日志打印 四、参考 OpenFeign是一个声明式的Web服务客户端。…

Android --- 消息机制与异步任务

在Android中&#xff0c;只有在UIThread(主线程)中才能直接更新界面&#xff0c; 在Android中&#xff0c;长时间的工作联网都需要在workThread(分线程)中执行 在分线程中获取服务器数据后&#xff0c;需要立即到主线程中去更新UI来显示数据&#xff0c; 所以&#xff0c;如…

程序员的五大方法论

前言&#xff1a; 最近看了一篇总结程序员学习&#xff0c;晋升方法的文章&#xff0c;颇有感想&#xff0c;决定分享给大家&#xff0c;原文地址&#xff1a;给程序员的5条学习方法论 (qq.com)https://mp.weixin.qq.com/s/xVFlF9qTf9c74Emmdm0DqA 在繁忙的工作中&#xff0c;持…

如何在postman上提交文件格式的数据

如何在postman上提交文件格式的数据 今天在写一个文件上传的功能接口时&#xff0c;想用postman进行提交&#xff0c;花了些时间才找到在postman提交文件格式的数据。记录一下吧&#xff01; 1.打开postman&#xff0c;选择POST提交方式&#xff0c;然后在Params那一行的Head…

代码随想录算法训练营DAY45|C++动态规划Part7|70.爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数

文章目录 70.爬楼梯&#xff08;进阶版&#xff09;322. 零钱兑换思路CPP代码 279.完全平方数思路CPP代码 70.爬楼梯&#xff08;进阶版&#xff09; 卡码网&#xff1a;57. 爬楼梯 文章讲解&#xff1a;70.爬楼梯(进阶版) 322. 零钱兑换 力扣题目链接 文章讲解&#xff1a;322…

安装英伟达nvidia p4计算卡驱动@FreeBSD14

FreeBSD也能跑cuda AI训练拉&#xff01; 在FreeBSD安装好pytorch和飞桨cpu版本后&#xff0c;尝试安装英伟达nvidia p4计算卡驱动。毕竟全靠cpu速度太慢了&#xff0c;还是GPU快啊&#xff01;在磕磕绊绊几天后&#xff0c;终于成功成功安装好nvidia p4的cuda驱动&#xff0c…

从零开始:Django项目的创建与配置指南

title: 从零开始&#xff1a;Django项目的创建与配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 后端开发 tags: DjangoWebDevPythonORMSecurityDeploymentOptimization Django简介&#xff1a; Django是一个开源的高级Python Web框架&#xff…

The Role of Subgroup Separability in Group-Fair Medical Image Classification

文章目录 The Role of Subgroup Separability in Group-Fair Medical Image Classification摘要方法实验结果 The Role of Subgroup Separability in Group-Fair Medical Image Classification 摘要 研究人员调查了深度分类器在性能上的差异。他们发现&#xff0c;分类器将个…

PHP源码_最新在线工具箱网站系统源码

项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…

【网络原理】HTTP 协议的基本格式和 fiddler 抓包工具的用法

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序&#xff08;万字博文&#xff09; 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制&#xff08;CRC算法、MD5算法&#xff09; 【网络…

下载安装 VisualVM

1、下载安装 VisualVM 第1步&#xff1a;下载地址&#xff1a;https://visualvm.github.io/ 第2步&#xff1a;解压到制定位置 第3步&#xff1a;指定jdk路径 下载完成后&#xff0c;在etc文件夹下找到visualvm.conf文件&#xff0c;设置jdk路径visualvm_jdkhome"D:\ITS…

ICode国际青少年编程竞赛- Python-1级训练场-路线规划

ICode国际青少年编程竞赛- Python-1级训练场-路线规划 1、 Dev.step(3) Dev.turnLeft() Dev.step(4)2、 Dev.step(3) Dev.turnLeft() Dev.step(3) Dev.step(-6)3、 Dev.step(-2) Dev.step(4) Dev.turnLeft() Dev.step(3)4、 Dev.step(2) Spaceship.step(2) Dev.step(3)5、…

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性)

ElasticSearch教程入门到精通——第一部分&#xff08;基于ELK技术栈elasticsearch 8.x新特性&#xff09; 1. ElasticSearch安装&#xff08;略&#xff09;2. ElasticSearch基础功能2.1 索引操作2.1.1 创建索引2.1.2 Head 索引2.1.3 查询索引2.1.3.1 查询单独索引2.1.3.2 查询…

【MATLAB】GUI初步设计

MATLAB界面设计 前言一、基本步骤1.1 创建GUI文件1.2 界面设计 总结 前言 为了完成图像处理的作业&#xff0c;简直就是生活不易啊 找到一个很棒的教学视频 基于MATLAB的GUI界面设计流程讲解 一、基本步骤 1.1 创建GUI文件 由于在写博文之前我已经创建好文件了&#xff0c;…

邊緣智能2024—AI開發者峰會(5月9日)數碼港即將啟幕

隨著 AI &#xff08;人工智能&#xff09;技術的飛速發展&#xff0c;我們正迎來邊緣計算智能化與分布式AI深度融合的新時代&#xff0c;共同演繹分布式智能創新應用的壯麗篇章。"邊緣智能2024 - AI開發者峰會"將聚焦於這一前沿領域&#xff0c;探討如何通過邊緣計算…