【论文阅读】基于空间相关性与Stacking集成学习的风电功率预测方法

news2025/1/18 18:56:02

文章目录

  • 摘要
  • 0. 引言
  • 1. 空间相关性分析
  • 2. 风电功率预测模型
    • 2.1 Stacking 集成策略
    • 2.2 基学习器
      • 2.2.1 基于机器学习算法的基学习器
      • 2.2.2 基于神经网络的基学习器
      • 2.2.3 基于粒子群优化算法的超参数优化
    • 2.3 元学习器
    • 2.4 基于空间相关性与Stacking集成学习的风电功率预测方法
  • 3 算例分析
    • 3.1 数据预处理
    • 3.2 延迟时间计算
    • 3.3 Stacking集成学习预测效果
    • 3.4 风电功率预测方法对比
  • 4. 结论

论文地址:
https://d.wanfangdata.com.cn/periodical/Ch9QZXJpb2RpY2FsQ0hJTmV3UzIwMjUwMTA0MTcwMjI2Eg9qc2RqZ2MyMDI0MDUwMjYaCGMxNXJybm5t

摘要

本文要解决的问题:

  • 针对目标气象预报数据缺失导致风电预测精度不足的问题, 提出一种基于空间相关性和Stacking集成学习的风电功率预测方法

解决思路:

  • 首先, 分析目标风电场与相邻气象站点之间的空间相关性,根据相关系数极值点确定延迟时间,构建风速时移数据集
  • 其次, 利用Stacking集成方法融合多元算法,从多个数据观测角度预测目标风电场的风电功率,实现不同算法的优势互补,提升整体泛化能力,并采用粒子群优化算法搜索模型超参数,较好地平衡搜索时间与模型效果
  • 最后,采用华东地区某风电场的实测数据验证了文中所提方法的有效性和准确性.结果表明,通过考虑不同位置的信息偏差,从数据输入和预测模型两方面可有效提高数据缺失情况下的风电预测精度

0. 引言

目前,人工智能方法通过大量历史样本挖掘输入特征与输出结果之间的非线性映射关系,具有较高的预测精度,其主要有卷积神经网络支持向量机、极限学习机等方法。结合数据挖掘的方法可以提高人工智能法的预测精度,分析数据的深层特性,如聚类方法、信号分解 、关联度分析等。

人工智能方法缺点:

  • 人工智能法往往需要借助数值天气预报 (numerical weather prediction,NWP) 数据进行预测,但出于实际成本考虑,气象预报服务难以做到精确全覆盖。当风电场缺乏NWP数据时,该方法难以发挥实际作用。

但是,由于大气运动的连续性,相邻风电场或者气象站点的气象数据具有相似性,可以为目标风电场提供数据参考。因此考虑空间相关性的建模方法能够获取完善的气象变化规律与风速分布信息,在一定程度上解决了上述问题。然而,现有方法没有考虑利用相邻风电场之间数据的延迟时间来优化风场数据。

有关集成学习:

  • 此外,集成学习通过融合多种学习器或者算法,采用集体智慧提高整体泛化能力,因此成为数据竞赛中的常用方法。

综上:

  • 文中对整体风电场的输出功率进行研究,提出一种基于空间相关性和Stacking集成学习的风电功率预测方法
  • 首先计算目标风电厂与相邻气象站点的延迟时间,构建风速时移数据集,弥补目标风电场气象数据的缺失;
  • 其次,基于风速时移数据集,选用粒子群优化的SVM、RF、极端梯度上升(extreme gradient boosting,XGBoost)算法、CNN、GRU作为基学习器,采用Stacking集成方法实现多模型融合,完成目标风电场的功率预测。

1. 空间相关性分析

风速的空间相关性是指不同空间位置处的风电场或气象站点的风速数据在空间上的相关程度。由于大气运动的连续性,相邻位置的风速序
列具有一定的相似性和延时性。合理运用空间相关性,尤其是上游风电场,可以追溯目标风电场未来的气象信息,因此,可以直接沿用相邻位置的数据。而对于随机波动较强的风速数据而言,需要考虑不同地理位置导致的延时,对风速数据进行修正,从而提升目标风电场的预测精度。

要准确计算不同位置之间的延迟时间应综合考虑实际地形、地貌、风速以及风向变化,涉及复杂的时空变化过程。已有研究利用Pearson相关系数计算风速和风功率之间的相关性。文中也采用Pearson相关系数计算相邻气象站点风速数据与目标风电场功率数据之间的相关性,以确定最佳延迟时间。计算步骤如下:

  • 相邻风电场或气象站点的原始风速数据相对于目标风电场功率数据进行移动,移动的时间间隔为采样周期15 min的整数倍,时间间隔的正、负分别表示气象站点数据和风站数据之间的超前、滞后关系。
  • 分别计算移动不同时间间隔下风速数据与目标风电场功率数据之间的 Pearson 相关系数。Pearson 相关系数作为两组数据相似程度的判据,其取值范围为 [-1,1],当相关系数大于零时,两变量正相关,当相关系数小于零时则负相关,相关系数的绝对值越大,变量间的相关程度越高。
  • 令相邻气象站点的风速序列为 x x x , 目标风电场功率序列为 y y y,Pearson 相关系数计算公式如下:

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

其中:

  • r r r 为 Pearson 相关系数
  • x i x_i xi 为相邻气象站点第 i i i 个风速度数据
  • y i y_i yi 为目标风电场第 i i i 个功率数据
  • x ˉ \bar x xˉ 表示为序列 x x x 中数据的平均值
  • y ˉ \bar y yˉ 表示为序列 y y y 中数据的平均值
  • n n n 为序列样本总数

在不同时间间隔下计算得到的 Pearson 相关系数中选择极大值作为延迟时间,调整原始风速序列,获取目标风电场精确的功率数据。
以华东地区某风电场及其相邻气象站为例,一段时间内风电场功率数据与气象站点风速数据如图所示:

在这里插入图片描述

分别计算不同时间间隔下的相关系数:

在这里插入图片描述

由于地理位置相邻,目标风电场的功率数据与气象站点的风速数据之间存在较高的相关性,这表明相邻气象站点具有为信息缺失风电
场提供数据参考的可行性。当时间问隔为30 min时,两者的相关系数达到最高,为0.782,且在 -4~4h 的变化范围内,仅存在唯一极值点,证实了采取相关系数确定延迟时间的合理性,避免了复杂的时空建模过程。

2. 风电功率预测模型

2.1 Stacking 集成策略

集成方法结合多元算法优势,能够适应多种预测场景,可以解决单一算法对于短时问内急剧波动的突发性天气预测精度不足的问题,获得更加稳定的预测结果。集成学习主要包含三大类:Bagging、Boosting、Stacking。Stacking集成学习算法具有严谨的集成规则和强大的学习能力,其初步预测的个体学习器被称为基学习器,用于结合的学习器被称为元学习器。先用全部数据训练基学习器,每个基模型都对训练样本进行预测,将其预测值作为训练样本的特征值,然后得到新的训练样本,最后基于新的训练样本数据训练元学习器,得到更准确的预测结果。Stacking集成学习通过结合不同个体学习器的预测结果,可以规避陷入局部极值的风险,在大规模训练数据上具有优越表现。集成学习框架如图所示:

在这里插入图片描述

在训练过程中,若直接使用基学习器的训练集来生成次级训练集,将会增加过拟合的风险,大大降低集成模型在测试集上的表现。为避免重复学习,采用K折交叉验证的方式生成次级训练集。具体的将原始数据划分为 K 个大小相等且不重合的子集, 记为 D = { D 1 , D 2 . . . . . D k } D = \{D_1, D_2.....D_k\} D={D1,D2.....Dk} ,其中 D j D_j Dj 为第 j j j 次交叉验证的验证集,其余子集为第 j j j 次交叉验证的训练集。于每个基学习器而言,在训练集上训练模型,在验证集上预测结果,经过K轮训练和测试后,将预测结果纵向堆叠产生次级训练集,且次级训练集的样本量与原始数据的样本量相同。该方式在减小过拟合风险的同时,可以确保元学习器有充足的训练样本。

2.2 基学习器

基学习器是集成模型中的个体学习器,通常为弱学习器,一般采用相对简单或性能略低的模型。但Stacking集成策略中的基学习器为强学习器,以期在个体学习阶段获得较为准确的预测值。基学习器是保证集成效果与稳健决策的关键,可采用常见的机器学习算法如 SVM、RF 和 XGBoost,此外,CNN、GRU 等神经网络也常被作为基学习器使用。

2.2.1 基于机器学习算法的基学习器

  • Stacking 集成学习:文中使用了 Bagging 流派的 RF(随机森林) 算法和 Boosting 流派的 XGBoost 算法作为基学习器,并将其并行训练,以发挥两者的优势。
  • RF(随机森林):属于 Bagging 算法,通过构建多个独立的决策树并通过随机样本和特征选择来提高模型的泛化能力。
  • XGBoost:属于 Boosting 算法,改进了梯度提升树(GBDT),通过加入正则项控制模型复杂度,采用二阶泰勒展开来近似目标函数,从而有效防止过拟合并提高预测精度。
  • SVM:作为另一种基学习器,利用核函数将低维数据映射到高维特征空间,转化非线性回归为线性回归,凭借其数学理论,能够在实际任务中表现良好。

总体来说,文中将三种算法结合,通过 Stackings 集成策略,增强了模型的准确性和泛化能力。

2.2.2 基于神经网络的基学习器

文中的Stacking集成学习框架中还包含CNN、GRU两种神经网络。CNN具有局部连接和权值共享的特点,可以在大幅减少参数计算量的同时提取输入特征,因此常被用于图像识别、故障诊断等领域。CNN一般由卷积层、池化层和全连接层构成。卷积层通过设置不同尺寸的卷积核来获取相应的感受野,从中挖掘关联信息。针对卷积层提取的局部非线性特征,池化层可以缩减特征图的尺寸,起到数据降维的作用。

  • 由于风电场实测信息的时序特性,文中通过堆叠多层一维卷积层来挖掘风电场内的耦合联系。其中设置卷积核的数量为1,尺寸为3,步长为1。卷积核沿着时间维度对特征矩阵进行扫描,最终得到 4*1 的特征向量。考虑到风电功率的随机波动性,一般采用多个卷积核进行扫描,挖掘原始数据中的深层特性。

GRU作为循环神经网络的典型代表,在长短期记忆(LSTM)网络的基础上进行改进,将LSTM网络中的输入门和遗忘门合并为GRU中的更新门,实现信息输入与遗忘之间的平衡。GRU通过更新门和重置门来控制时序信息的动态传递过程,因此,模型结构得到简化,且在相同的预测任务下,可以在保证预测效果的同时有效降低模型计算量与训练时间。

2.2.3 基于粒子群优化算法的超参数优化

集成学习中有众多超参数,因此精准高效的参数优化方法至关重要。一般采用随机搜索方法确定模型超参数,从参数范围中随机采样参数点,但该方法可能会错过最优超参数结果,未能充分发挥基学习器性能。因此,文中利用粒子群优化算法在参数空间中寻找最优的参数集,改善预测性能。

2.3 元学习器

  • 基学习器是对同一数据集进行观测分析,预测结果存在相似性,元学习器用于组合基学习器的策略或算法,通过对基学习器的输出进行组合,生成最终集成模型的预测结果。防止过度学习,Stacking集成策略中的元学习器一般选用弱学习器。元学习器的训练数据为各基学习器在训练集上预测结果的连接,若某个基学习器错误地学习了特征空间的某个区域,那么元学习器通过结合其基学习器的学习行为,可以对错误进行适当纠正,以提高最终预测结果的精度。

  • 文中基学习器选择了5种不同的算法,5种算法的预测结果之间异质化明显,使得总模型具备较强的泛化能力。因此,元学习器不需要选择太复杂的模型,以保持总模型的泛化能力。对于文中研究的回归问题,元学习器主要起到对集成算法的加权集成作用,采用复杂的线性回归器作为元学习器也只能发挥加权集成作用,因此简单的线性回归器便可以满足Stacking模型中元学习器的要求,且有较快的计算速度。

  • 贝叶斯回归模型在一般的误差函数基础上添加了正则化项,预测过程简单且速度快,可以有效避免产生过拟合现象 。此外,贝叶斯回归模型适合处理多分类任务,其表现稳定,能够在缺失数据的情况下进行预测,适用于文中研究的集成学习环境,对基学习器的预测结果进行汇总并实现风速预测。因此,文中采用贝叶斯回归模型作为元学习器。

2.4 基于空间相关性与Stacking集成学习的风电功率预测方法

针对目标风电场气象预报数据缺失的状况,采取相邻气象站点的风速时移作为数据参考,构建融合多元算法的集成模型以提升预测精度。预测模型训练过程如图:
在这里插入图片描述

具体流程如下:

  • (1)数据集进行预处理,在此基础上,采用Pearson相关系数分析目标风电场功率数据与相邻气象站点风速数据之问的延迟时间,采用风速时移数据集作为目标风电场的气象数据。
  • (2)对风速时移数据集进行5折交叉验证,避免学习器重复学习而产生过拟合现象。
  • (3)在交叉验证风速时移数据集的基础上,利用RF、XGBoost、SVM、CNN及GRU共5种基学习器进行训练,并通过粒子群优化算法优化基学习器的超参数,提升预测精度。
  • (4)将基学习器的预测结果组合成一个新的矩阵,其中每一列代表一个基学习器的预测结果,称之为次级训练集。
  • (5)次级训练集上,采用贝叶斯回归模型作为元学习器,训练学习如何最好地组合这些基学习器的预测结果。元学习器的输出是最终的集成模型结合基学习器的预测结果,输出最终风电出力,完成基于空间相关性与Stacking集成学习的预i贝4模型训练过程。
  • (6)在测试集上进行对比分析,并通过评估指标验证文中所提方法的准确性与有效性。

3 算例分析

文中实验数据采用华东地区某风电场2019年6月1日至2020年1月31日的实测风电功率以及气象站点的气象预报数据,该风电场的装机容量为18 MW。单一气象预报结果难以准确反映气象运动规律,因此选取目标风电场周围 2 个气象站点的气象预报数据作为风电场的数据参考,分别记为气象站点1、气象站点2。两气象站点与风电场的距离分别为 24.8、19.4 km;气象预报数据包括风速、风向、温度、湿度、气压;所有数据的采样周期均为15 min。为避免预测结果的偶然性,以及确保集成模型具有足够的训练样本,将2019年6月1 日至8月31日的数据作为训练集1,2019年9月1日至30日的数据作为测试集1;将2019年10月1日至12月31日的数据作为训练集2,2020年1月1日至31日的数据作为测试集2。

针对不同方法的预测结果,选取均方根误差(RMSE)和平均绝对值误差(MAE)作为评估指标验证文中方法准确性:

E R M S E = 1 n ∑ t = 1 n ( y t − y ^ t ) 2 E_{RMSE} = \sqrt {\frac {1}{n} \sum_{t=1}^n (y_t - \hat y_{t})^2} ERMSE=n1t=1n(yty^t)2

E M A E = 1 n ∑ t = 1 n ∣ y t − y ^ t ∣ E_{MAE} = \frac {1}{n} \sum_{t=1}^n | y_t-\hat y_{t}| EMAE=n1t=1nyty^t

其中:

  • y t y_t yt t t t 时刻的风电功率实际值
  • y ^ t \hat y_t y^t t t t 时刻的风电功率预测值

3.1 数据预处理

由于传感器故障、设备检修等诸多原因,采集的数据中往往会存在异常和缺失的状况,为降低不良数据的干扰,需要对数据进行清洗。对于大规模缺失的数据予以删除,对于少量缺失或者异常的数据采用线性插值法进行填补。

由于不同特征间的量纲差异,需要对实验数据进行归一化处理,从而提升模型训练效率与预测精度。其中,对于气象特征采用 min-max 归一化,将原始数据 z 变换到 [0,1] 之间,即:

z ′ = z − z m i n z m a x − z m i n z' = \frac {z-z_{min}}{z_{max} - z_{min}} z=zmaxzminzzmin

其中:

  • z ′ z' z 为归一化结果
  • z m a x z_{max} zmax 为原始数据中最大值
  • z m i n z_{min} zmin 为原始数据中最小值

特别地,风向变化范围在0~360之间,0附近的风向数据 (如1和359) 差异较小,但 min-max 归一化会割裂这种内在联系。因此,归一化方法既要区分风向数据的差异性,又要关注实际变化过程中的关联性,故采用下式的正余弦化方法进行处理,将其作为2个气象因素:

z θ = s i n θ z θ ′ = c o s θ z_{\theta} = sin \theta \\ z_{\theta}' = cos \theta zθ=sinθzθ=cosθ

其中:

  • z θ z_{\theta} zθ z θ ′ z_{\theta}' zθ 为风向数据的归一化结果
  • θ \theta θ 为风向数据

将归一化后的气象特征输入到预测模型中,得到的功率预测结果仍为归一化数据。因此,对预测输出进行反归一化操作,使其具有明确的物理含义,并与真实数据进行对比分析,具体公式如下:

z = z ′ ( z m a x − z m i n ) + z m i n z = z'(z_{max} - z_{min}) +z_{min} z=z(zmaxzmin)+zmin

3.2 延迟时间计算

通过时间序列平移的方式,依次计算不同时间间隔下气象站点历史风速数据与风电场历史功率数据之间的相关系数,根据相关系数极值点确定延迟时间。由于地理位置的分布以及风向的改变,延迟时间有正负之分,当延迟时间为正时,表示原始气象站点的风速数据超前于风电场的功率数据,需要将风速数据相较于功率数据后移;当延迟时间为负时,表示原始气象站点的风速数据滞后于风电场的功率数据,需要将风速数据相较于功率数据前移。对数据集1、数据集2利用第l章中的方法进行空间相关性分析,计算各个气象站点与目标风场之间的延迟时间。

在这里插入图片描述

3.3 Stacking集成学习预测效果

为展示Stacking集成学习的优越性能,选取基学习器 SVM、RF、XGboost、CNN 和 GRU 在测试集上的预测误差与Stacking集成方法的预测误差进行对比,结果如表所示:

在这里插入图片描述

  • 数学逻辑严谨的SVM模型通过选取合适的核函数和相关参数,可以较好地拟合风电功率
  • 基于Bagging和Boosting原理的集成算法通过构建多个学习器提升整体泛化能力,在测试集上取得了良好的预测效果,特别是XGBoost模型凭借精确的目标函数优化和防止过拟合的优势获得了较好的预测效果
  • CNN擅长处理高维数据中的耦合联系,通过卷积核获取局部关联特征,可以较好地拟合实际数据
  • GRU通过历史数据挖掘气象变化规律,从而推演风电功率波动;Stacking集成学习融合多元算法的优势推演风电功率

3.4 风电功率预测方法对比

考虑空间距离带来的信息偏差,可以构造更加准确的气象数据集。此外,集成学习可以融合不同算法的优势来弥补单一学习器的局限性,面对随机波动的风电出力,其预测结果更精确,适应性更强。为验证文中所提方法的有效性,采取以下3种方法进行风电功率预测,并与实际功率对比。

  • (1)忽略风电场与相邻气象站点问的信息偏差,直接采用气象站点的气象预报数据作为模型输入,利用Stacking集成方法输出最终风电出力。通过与方法3对比,验证基于时间间隔的数据修正方法对风电功率预测精度的提升效果
  • (2)考虑风电场与相邻气象站点间的信息偏差,采用风速时移数据集作为模型输入,利用平均法集成基学习器的预测结果作为最终风电出力。通过与方法3对比,验证Stacking集成方法对风电功率预测精度的提升效果
  • (3)考虑风电场与相邻气象站点间的信息偏差,采用风速时移数据集作为模型输入,利用Stacking集成方法确定最终风电出力,模型超参数采用粒子群优化算法搜索确定。方法3为文中提出的基于空间相关性与Stacking集成学习的风电功率预测方法,通过与方法1、方法2进行对比以验证文中所提方法的有效性

为对比3种方法的性能,选取测试集中的某个典型日的风电预测结果进行展示,以15 min为采样间隔、8个采样点为时间窗口,滚动预测生成的96个采样点,预测结果:

在这里插入图片描述

  • 方法1直接采用相邻气象站点的气象数据,未考虑地理位置分布造成的信息偏差,集成模型推演的功率结果存在相应的误差
  • 方法2采用平均法集成基学习器的预测结果,未能凸显不同学习器的性能差异,提升效果有限
  • 方法3在Stacking集成学习的基础上,构建风速时移数据集,更加准确地挖掘目标风电场的气象特征,同时采用粒子群优化算法搜索超参数,提升了整体预测精度

4. 结论

在对风电场功率预测的过程中,考虑大气运动的连续性和集成模型的优越表现,提出了一种基于空间相关性与Stacking集成学习的风电功率预测模型,通过算例对比,得到如下结论:

  • (1)用相关系数的极值来确定相邻气象站点与目标风电场的延迟时间,构建风速时移数据集,挖掘气象运动规律,完善目标风电场的气象数据
  • (2)用Stacking集成方法融合多样化的基学习器,实现多元算法的优势互补,提高集成模型的泛化能力,同时,采用交叉验证的方式产生次级训练集,可以减小过拟合的风险
  • (3)对集成学习中的众多超参数,采用粒子群优化算法进行寻优,在保证模型预测性能的同时,降低了搜索时间,提升了预测精度

需要说明的是,文中的研究对象是整体风电场的输出功率,并不是风电场内部不同风电机组的功率,没有更细致地考虑风电场内部风电机组之间的影响,且风速的空间相关性也具有时变性能。因此,后续将综合考虑风速、风向等多种气象因素,通过动态划分不同风电场子集,采取分类建模提升预测效果,并在此基础上,引入不确定性分析,实现对风电功率的不确定性分析。

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

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

相关文章

在.NET用C#将Word文档转换为HTML格式

将Word文档转换为HTML格式尤其具有显著的优势,它不仅能够确保文档内容在多种设备和平台上保持一致灵活的显示,还便于通过网络进行传播和集成到各种Web应用中。随着越来越多的企业和开发者寻求更灵活、更具兼容性的文件处理方式,.NET框架下的C…

EasyExcel的应用

一、简单使用 引入依赖: 这里我们可以使用最新的4.0.2版本,也可以选择之前的稳定版本,3.1.x以后的版本API大致相同,新的版本也会向前兼容(3.1.x之前的版本,部分API可能在高版本被废弃)&…

【git】如何删除本地分支和远程分支?

1.如何在 Git 中删除本地分支 本地分支是您本地机器上的分支,不会影响任何远程分支。 (1)在 Git 中删除本地分支 git branch -d local_branch_name git branch 是在本地删除分支的命令。-d是一个标志,是命令的一个选项&#x…

wps数据分析000002

目录 一、快速定位技巧 二、快速选中技巧 全选 选中部分区域 选中部分区域(升级版) 三、快速移动技巧 四、快速录入技巧 五、总结 一、快速定位技巧 ctrl→(上下左右)快速定位光标对准单元格的上下部分双击名称单元格中…

Java算法 二叉树入门 力扣简单题相同的树 翻转二叉树 判断对称二叉树 递归求二叉树的层数

目录 模版 先序遍历 中序遍历 后序遍历 力扣原题 相同的二叉树 力扣原题 翻转二叉树 遍历树的层数 题目 静态变量 核心逻辑 模版 // 二叉树public static class Node{public int value;public Node left;public Node right;public Node(int v) {valuev;}} 先序遍历 …

【Mysql进阶知识】Mysql 程序的介绍、选项在命令行配置文件的使用、选项在配置文件中的语法

目录 一、程序介绍 二、mysqld--mysql服务器介绍 三、mysql - MySQL 命令行客户端 3.1 客户端介绍 3.2 mysql 客户端选项 指定选项的方式 mysql 客户端命令常用选项 在命令行中使用选项 选项(配置)文件 使用方法 选项文件位置及加载顺序 选项文件语法 使用举例&am…

ESP32云开发二( http + led + lcd)

文章目录 前言先上效果图platformio.iniwokwi.tomldiagram.json源代码编译编译成功上传云端完结撒花⭐⭐⭐⭐⭐ 前言 阅读此篇前建议先看 此片熟悉下wokwi https://blog.csdn.net/qq_20330595/article/details/144289986 先上效果图 Column 1Column 2 platformio.ini wokwi…

医疗集群系统中基于超融合数据库架构的应用与前景探析

一、引言 1.1 研究背景与意义 随着医疗信息化的飞速发展,医疗数据呈爆炸式增长。从日常诊疗记录、患者病历,到各类医疗影像、检查检验数据等,海量信息不断涌现。据统计,医疗数据的年增长率高达 30% 以上 ,2025 年,全球医疗数据量将达到 2314 艾字节(EB)。如此庞大的数…

Flask学习入门笔记

Flask学习入门笔记 前言1. 安装Flask2. 创建一个简单的Flask应用3. 路由与视图函数3.1 基本路由3.2 动态路由3.3 HTTP方法 4. 请求与响应4.1 获取请求数据4.2 返回响应 5. 模板渲染5.1 基本模板渲染5.2 模板继承 6. 静态文件6.1 静态文件的目录结构6.2 在模板中引用静态文件6.2…

Java File、IO流、字节输入流 、字节输出流 、字符输入流 、字符输入流 、缓冲流、转换流、打印流、数据流、序列化流、IO框架

一. File File是Java.io.包下的类,File类的对象用于代表当前操作系统的文件/文件夹 File类只能对文件本身进行操作,不能读写文件里面存储的数据。 1. 创建对象 构造器说明public File(String pathname)根据文件路径创建文件对象public File(String pare…

宇泰串口卡驱动在Ubuntu22.04编译、安装汇总

从官网下载驱动官网地址 上传到Ubuntu, 目录结构如下: 驱动源代码: 驱动代码是基于开源项目编译来的 编译路径不能有中文路径,否则可能有类似错误 源码是基于Linux2.3内核编译,我当前是6.8.0-51,数据结构有升级,需要调…

Linux -- 初识HTTP协议

目录 什么是HTTP协议 什么是 URL ? 理解 URL 初识HTTP 请求与响应格式 代码验证 gitee HTTP.hpp 结果 什么是HTTP协议 HTTP(HyperText Transfer Protocol,超文本传输协议)主要用于客户端(通常是浏览器&#…

重返未来1999梁月养成攻略 雷电云手机速刷养成材料

在重返未来1999这款游戏中,1月16日上新的版本中新春限定角色【梁月】已经火热上线,今天就给大家一些养成攻略。 1.梁月是一名可适配多种体系的输出位角色,同时自身还有免疫和全队减伤,可以提升队伍的生存能力,比较推荐…

Pytorch|YOLO

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 一、 前期准备 1. 设置GPU 如果设备上支持GPU就使用GPU,否则使用CPU import torch import torch.nn as nn import torchvision.transforms as transforms im…

ASP.NET Core 中,认证(Authentication)和授权(Authorization)

在 ASP.NET Core 中,认证(Authentication)和授权(Authorization)是两个非常重要的概念。它们确保用户能够安全地访问应用程序,并且在访问过程中能按其权限被正确地控制。接下来,我将详细解释这两…

ThinkPHP 8的一对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…

基于SpringBoot+Vue的药品管理系统【源码+文档+部署讲解】

系统介绍 基于SpringBootVue实现的药品管理系统采用前后端分离的架构方式,系统实现了用户登录、数据中心、药库管理、药房管理、物资管理、挂号管理、系统管理、基础设置等功能模块。 技术选型 开发工具:idea2020.3Webstorm2020.3 运行环境&#xff…

tomcat状态一直是Exited (1)

docker run -di -p 80:8080 --nametomcat001 你的仓库地址/tomcat:9执行此命令后tomcat一直是Exited(1)状态 解决办法: 用以下命令创建运行 docker run -it --name tomcat001 -p 80:8080 -d 你的仓库地址/tomcat:9 /bin/bash最终结果 tomcat成功启动

递归40题!再见递归

简介:40个问题,有难有易,均使用递归完成,需要C/C的指针、字符串、数组、链表等基础知识作为基础。 1、数字出现的次数 由键盘录入一个正整数,求该整数中每个数字出现的次数。 输入:19931003 输出&#xf…

《leetcode-runner》【图解】【源码】如何手搓一个debug调试器——架构

前文: 《leetcode-runner》如何手搓一个debug调试器——引言 文章目录 设计引入为什么这么设计存在难点1. 环境准备2. 调试程序 仓库地址:leetcode-runner 本文主要聚焦leetcode-runner对于debug功能的整体设计,并讲述设计原因以及存在的难点…