当前位置: 首页 > article >正文

故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别

在这里插入图片描述

一、引言
1.1 机械故障诊断的背景和意义

在工业生产的宏大画卷中,机械设备的稳定运行是推动生产顺利进行、保障企业效益的关键要素。然而,机械故障如同潜伏的阴影,时刻威胁着工业生产的正常秩序。

从工业生产的角度来看,机械故障会带来生产效率的骤降和生产成本的激增。一旦关键设备出现故障,整条生产线可能被迫停工,导致产品产量减少,交货期延误,严重影响企业的市场信誉和经济效益。对于流程制造工厂而言,避免停机是巨大的挑战,设备故障作为意外停机的主要原因,会严重影响企业的生产力、盈利能力和声誉。

从设备安全的层面来说,机械故障可能引发严重的安全事故。在一些高风险行业,如化工厂、钢铁厂等,设备故障不仅会导致生产中断,还可能引发火灾、爆炸等灾难性事故,造成人员伤亡和巨大的财产损失。

正因如此,机械故障诊断显得尤为重要且必要。通过先进的故障诊断技术,可以实时监测设备的运行状态,及时发现潜在的故障隐患,实现设备的预知性维修,降低故障发生的概率,减少维修成本,提高设备的可靠性和安全性,为工业生产的稳定进行保驾护航。

1.2 故障诊断领域的研究现状

当前,故障诊断领域的方法多样,各有特点,但也存在不少问题。

直观检查法依靠操作人员的经验和感官,通过观察设备的外观、声音、气味、温度等判断设备是否异常。这种方法简单直接,对于明显故障效果显著,但受操作人员主观因素影响大,且难以发现隐蔽故障。

参数测量法通过测量设备的电压、电流、温度、压力等参数来诊断故障,能提供较为精确的数据支持,但需要专业的测量设备和操作人员,且对于复杂设备的多参数综合分析存在困难。

油液分析法通过对设备润滑油中的磨损颗粒、污染物等进行分析来判断设备的磨损状况和故障原因,适用于以润滑为主的机械设备,但分析过程较为复杂,成本较高,且难以实现实时监测。

频谱分析法利用傅里叶变换等技术将时域信号转换为频域信号,通过分析频谱特征来识别故障,在旋转机械故障诊断中应用广泛,但对于非平稳信号的处理效果不佳。

传统故障诊断方法普遍存在依赖人工经验、实时性差、诊断准确性有限等问题,难以满足现代工业生产对设备高效、稳定运行的需求。随着人工智能、大数据等新兴技术的发展,基于智能诊断技术的方法逐渐兴起,为故障诊断领域带来了新的机遇和挑战。

1.3 本文的研究内容和结构安排

本文针对传统故障诊断方法存在的局限性,提出一种基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)的新型故障诊断方法。

首先阐述机械故障诊断的背景和意义,明确故障诊断的重要性和必要性。接着综述故障诊断领域的研究现状,分析传统方法的局限。然后详细介绍改进螂优化算法、变分模态提取和稀疏最大谐波噪声比解卷积的基本原理和优势,以及三者结合进行故障诊断的实现过程。随后利用西储大学轴承故障数据进行实验验证,从原始信号分析、MSADBO-VME识别分析、MSADBO-VME-SMHD识别分析三个方面进行对比,验证所提方法的有效性。最后总结全文,指出研究的创新点和局限性,展望未来的研究方向,为机械故障诊断领域提供新的思路和方法。

二、理论基础
2.1 改进螂优化算法(MSADBO)

改进螂优化算法(MSADBO)是一种模拟自然界螳螂捕猎行为的新型优化算法。它通过精准模拟螳螂的感知和决策机制来提升算法性能。在感知方面,算法能敏锐捕捉到搜索空间中的关键信息,如同螳螂感知猎物位置一般迅速准确。在决策上,模仿螳螂捕猎时的策略调整,使算法在搜索过程中能灵活平衡全局探索与局部开发。相较于传统算法,MSADBO收敛速度更快,搜索能力更强,在面对复杂优化问题时,能更高效地找到最优解,避免陷入局部最优,为优化变分模态提取参数提供有力支持。

2.2 变分模态提取(VME)

变分模态提取(VME)是一种强大的信号处理方法。其基本原理是将复杂信号分解为多个本征模态函数(IMF)。假设输入信号可分解为期望模态和残余信号,期望模态需紧密围绕其中心频率,且与残余信号的频谱重叠要尽可能小。通过构建变分框架,将信号分解问题转化为变分问题求解。VME能高效地从复杂信号中提取出关键特征,将原本混杂的信号分解为多个具有物理意义的独立分量,为后续故障诊断提供清晰的数据基础,便于从分解后的本征模态函数中准确识别故障特征。

2.3 稀疏最大谐波噪声比解卷积(SMHD)

稀疏最大谐波噪声比解卷积(SMHD)算法充分利用信号的稀疏性来提高信噪比。在实际信号中,故障特征往往以稀疏的谐波形式存在。SMHD算法通过优化滤波器,将信号中的稀疏谐波成分从强噪声背景中分离并增强。它能在没有先验周期的情况下,有效提取信号中的周期性脉冲故障分量。通过对信号进行解卷积处理,使得原本被噪声掩盖的故障特征得以凸显,为故障诊断提供更清晰、更准确的信号特征信息,便于后续进行故障识别与分析。

三、MSADBO优化VME参数的实现
3.1 VME参数优化的重要性

在机械故障诊断中,VME作为关键信号处理方法,其参数设置直接影响着故障特征提取的效果。VME的模态数K和惩罚系数α等参数,若设置不当,便会导致模态混叠或模态丢失等问题。

模态数K的确定尤为关键。若K设置过小,可能会出现模态混叠现象,使得多个本征模态函数(IMF)包含同一频率成分,导致故障特征无法准确分离;反之,若K设置过大,又会产生模态冗余,引入不必要的噪声和虚假信息,增加后续故障诊断的难度。惩罚系数α则用于控制分解过程中信号的平滑性和紧致性。α过大,会使信号过于平滑,导致部分故障特征被平滑掉;α过小,信号又可能过于粗糙,无法有效去除噪声干扰。

在实际应用中,这些参数的取值往往依赖于经验,缺乏客观标准,难以保证在不同工况和故障类型下都能达到最佳分解效果。因此,对VME参数进行优化,使其能够根据具体信号特性自适应调整,是提高故障诊断准确性和可靠性的重要环节。

3.2 MSADBO优化VME参数的方法

利用MSADBO优化VME参数,需先确定优化目标,即找到一个参数组合,使分解后的信号特征最符合故障诊断需求。包络熵是一种有效指标,能反映信号复杂度,理想状态下,每个IMF只包含一个物理成分,复杂度最低。

具体优化过程如下:

  1. 初始化参数。设置MSADBO算法的种群大小、最大迭代次数、生产者占比等参数,为算法运行奠定基础。
  2. 编码。将VME的模态数K和惩罚系数α进行编码,作为算法搜索的对象。编码方式可选择实数编码,便于算法操作。
  3. 适应度函数计算。以包络熵为适应度函数,对每个个体(即一组参数组合)进行评估。计算分解后各IMF的包络熵之和,值越小,说明参数组合越优。
  4. 模拟螳螂行为。算法中的个体如同螳螂,在搜索空间中寻找猎物(即最优参数组合)。通过感知和决策机制,个体根据适应度值调整搜索方向和步长,模仿螳螂捕猎时的策略,在全局探索和局部开发间平衡。
  5. 迭代更新。算法不断迭代,个体在搜索空间中移动,逐渐向最优解靠近。每一次迭代,都会产生新的参数组合,并通过适应度函数评估,筛选出更优的个体。
  6. 输出最优解。当迭代达到预设次数或满足其他终止条件时,算法停止,输出最优参数组合。此时,该参数组合下的VME能够更有效地提取信号中的故障特征,为后续诊断提供有力支持。
3.3 优化后VME的性能分析

优化后的VME在故障诊断中展现出诸多优势。以西储大学轴承故障数据为例进行分析,可从以下几个方面验证优化效果。

在特征提取准确性方面,优化后VME能将复杂振动信号精准分解为多个IMF,各IMF清晰反映了不同故障特征。例如在轴承内圈故障信号中,优化后VME能准确提取出内圈损伤引起的冲击脉冲成分,其频率与理论故障特征频率高度吻合,而未优化VME分解出的信号则可能存在特征模糊或遗漏的情况。

从抗噪性能来看,优化后VME在强噪声环境下依然能保持较好的故障特征提取能力。当信号信噪比降低时,未优化VME分解出的IMF中故障特征可能被噪声淹没,而优化后VME通过合理参数设置,能有效抑制噪声干扰,使故障特征依然明显。

在计算效率上,MSADBO优化过程虽增加一定计算量,但优化后VME在整体故障诊断流程中提高了特征提取速度。由于参数设置更合理,分解过程更高效,减少了不必要的计算和冗余信息处理,使得整个故障诊断流程在保证准确性的同时,耗时更短。

综合以上分析,优化后VME在故障诊断中能有效提升特征提取准确性、抗噪性能和计算效率,为准确识别机械故障提供了有力保障。

四、MSADBO-VME-SMHD方法的结合
4.1 VME与SMHD的结合方式

在故障诊断领域,VME与SMHD的结合堪称强强联手,发挥着互补作用。VME能够像一位精准的“分割大师”,将复杂信号巧妙分解为多个本征模态函数(IMF),把原本混杂在一起的不同频率成分清晰地分离出来,让信号中的故障特征初现端倪。然而,这些IMF中可能仍夹杂着噪声和其他干扰成分,使得故障特征不够突出。

此时,SMHD便作为一位出色的“强化专家”登场。它充分利用信号的稀疏特性,对VME分解得到的IMF进行解卷积处理。就像放大镜一般,将信号中的稀疏谐波成分从强噪声背景中分离并增强,使得原本可能被噪声掩盖的故障特征变得清晰可见。

两者结合的方式是,先利用VME对原始振动信号进行分解,得到多个IMF,然后针对每个IMF应用SMHD算法进行解卷积处理。这样一来,就能充分发挥VME在信号分解方面的优势和SMHD在提高信噪比、凸显故障特征方面的特长,共同为故障诊断提供更准确、更清晰的特征信息,让故障识别变得更加容易和可靠。

4.2 MSADBO对整个流程的优化

MSADBO在整个MSADBO-VME-SMHD流程中扮演着至关重要的优化角色。在VME参数优化环节,MSADBO凭借其强大的搜索能力和快速收敛速度,如同一位经验丰富的“寻宝者”,在复杂的参数空间中迅速找到最优参数组合。它通过模拟螳螂的感知和决策机制,精准捕捉到有利于故障特征提取的参数信息,灵活调整搜索策略,避免陷入局部最优,确保VME能够以最佳状态对信号进行分解。

在VME与SMHD的结合过程中,MSADBO也能发挥优化作用。它可以根据信号特性和故障诊断需求,对SMHD算法中的相关参数进行智能调整。比如在解卷积过程中,MSADBO可以帮助确定滤波器的最优参数,使得解卷积处理既能有效去除噪声,又能最大程度地保留和增强故障特征。

在整个故障诊断流程中,MSADBO就像一位高效的“调度员”,协调VME和SMHD的工作。通过优化参数和调整算法运行策略,使VME和SMHD的结合更加紧密、高效,从而提升诊断准确性,让故障诊断结果更加可靠,为及时发现和解决机械故障提供有力保障。

4.3 结合方法的优势分析

MSADBO-VME-SMHD方法在故障特征提取上优势显著。

从特征提取的准确性来看,VME先将复杂信号分解为多个IMF,使故障特征得以初步显现,再经SMHD对IMF进行解卷积处理,进一步增强故障特征。这种结合方式使得故障特征频率在频谱图中更加突出,与理论故障特征频率高度吻合,能准确识别出轴承内圈、外圈等不同部位的故障。

在抗噪性能方面,该方法表现出色。在强噪声环境下,VME能有效抑制部分噪声,SMHD则进一步从噪声中提取和增强故障特征,使得即使在信噪比很低的情况下,也能清晰地提取出故障信息。

计算效率上也有所提升。虽然MSADBO优化VME参数和SMHD处理会增加一定计算量,但整体流程通过合理优化,避免了不必要的冗余计算。在VME分解过程中,优化后的参数使得分解更高效,SMHD针对优化后IMF的解卷积处理也更为迅速,使得整个故障特征提取流程在保证准确性的同时,耗时更短,满足实时故障诊断的需求。

该方法还能适应不同工况和故障类型。MSADBO的智能优化能力使VME和SMHD参数能根据具体信号特性自适应调整,无论是在负载变化、转速不同的工况下,还是面对不同类型、程度的故障,都能有效提取故障特征,具有很强的通用性和实用性。

五、实验验证与分析
5.1 西储大学轴承故障数据介绍

西储大学轴承实验于2004年开展,旨在为故障诊断研究提供可靠数据。实验平台由2马力电动机、扭矩传感器/译码器、功率测试计及电子控制器组成。驱动端和风扇端分别采用SKF6205和SKF6203轴承。

实验利用电火花加工对滚动轴承的滚动体、内圈和外圈制造出单点故障,损伤直径有0.1778 mm、0.3556 mm、0.5334 mm三种。采样频率涵盖12KHz和48KHz,驱动端数据丰富,包含正常状态及不同损伤直径和类型的故障数据。

这些数据以Matlab的mat格式存储,每个文件包含风扇和驱动端振动数据,以及电机转速。文件命名清晰,如“12k_Drive”表示驱动端12KHz采样频率数据,“End”表示轴承位于电机非驱动端,“1”表示损伤直径为0.1778 mm,“DE”表示驱动端加速度数据等,为故障诊断研究提供了全面且规范的原始信号素材。

5.2 原始信号分析

对西储大学轴承故障原始信号进行时域分析,可观察到不同故障类型在时域波形上有明显差异。正常状态下,信号较为平稳,波动较小。当轴承出现故障,如内圈故障,时域波形会出现周期性的冲击脉冲,这些脉冲的幅度和频率与故障类型、损伤程度密切相关。轻故障时,冲击脉冲幅度较小,周期相对规律;重故障则脉冲幅度增大,周期可能因故障加剧而变得不太规律。

从频域角度看,利用傅里叶变换将时域信号转换为频域信号,能发现故障特征频率成分。在正常信号频谱中,主要为基频及其倍频成分,噪声分布较为均匀。当轴承出现故障,会在频谱中出现与故障特征频率对应的峰值。例如内圈故障,会在频谱中观察到内圈故障特征频率及其倍频的峰值。但原始信号中噪声干扰较大,这些故障特征频率峰值可能被噪声掩盖,难以准确识别,需要进一步的处理方法来提取故障特征。

通过对原始信号的时域和频域分析,可以初步判断信号中存在故障特征,但噪声干扰严重,故障特征不够清晰,为后续的信号处理方法应用提供了需求和方向。

5.3 MSADBO-VME识别分析

应用MSADBO-VME方法对西储大学轴承故障信号进行处理,能有效提取故障特征。

将原始信号输入经过MSADBO优化的VME中,VME会将复杂信号分解为多个IMF。以轴承内圈故障信号为例,分解后得到的IMF中,有的IMF清晰地反映了内圈损伤引起的冲击脉冲成分,其频率与理论内圈故障特征频率相吻合。在时域波形上,这些IMF的冲击脉冲周期性和规律性更加明显,与原始信号中模糊的冲击脉冲相比,故障特征更加突出。

观察IMF的频谱图,可以发现故障特征频率峰值更加显著。在未优化的VME分解结果中,可能存在模态混叠或模态丢失,导致故障特征频率峰值不明显或出现虚假峰值。而经过MSADBO优化后,VME参数设置更合理,分解出的IMF能准确反映故障特征,频谱图中故障特征频率峰值与理论值高度一致,且周围噪声干扰得到有效抑制。

通过对不同故障类型信号的分析,MSADBO-VME方法能准确识别出轴承内圈、外圈、滚动体等不同部位的故障。与原始信号相比,故障特征提取的准确性大幅提高,为故障诊断提供了有力依据。但信号中仍存在一定噪声,部分细微故障特征可能还不够清晰,有待进一步处理。

5.4 MSADBO-VME-SMHD识别分析

在MSADBO-VME基础上进一步结合SMHD方法,能显著改善信号质量,对诊断结果产生积极影响。

将MSADBO-VME分解得到的IMF输入SMHD算法中,利用信号的稀疏特性进行解卷积处理。SMHD就像一位“强化专家”,将IMF中的稀疏谐波成分从噪声背景中分离并增强,使得原本可能被噪声掩盖的细微故障特征变得清晰可见。

以轴承滚动体轻故障信号为例,在MSADBO-VME处理后的IMF中,轻故障引起的冲击脉冲特征虽然有所显现,但幅度较小,周期规律性不够明显。经过SMHD处理后,冲击脉冲幅度明显增大,周期规律性更加清晰,在时域波形上几乎可以一眼识别出故障特征。

在频域上,SMHD处理后的频谱图中,故障特征频率峰值更加突出,周围的噪声得到进一步抑制。原本可能被噪声干扰而难以识别的故障特征频率,在频谱图中清晰地呈现出来,与理论故障特征频率高度吻合。这使得故障诊断的准确性得到进一步提升,即使对于一些早期、轻微的故障,也能准确识别。

结合SMHD后,整个方法的抗噪性能和故障特征提取能力得到显著增强,信号质量明显改善,为准确判断轴承故障类型和程度提供了更可靠的依据。

5.5 方法对比与结果讨论

将本文所提MSADBO-VME-SMHD方法与传统方法、直VME方法、MSADBO-VME方法进行对比,可充分验证其有效性。

与特征提取和故障识别传统方法相比,如PCA+SVM、EMD+SVM等。PCA作为线性处理方法,在处理轴承故障这类非线性信号时能力不足,分类效果较低。EMD虽能自适应分解信号,但在处理复杂故障信号时容易出现模态混叠和端点效应问题,导致故障特征提取不准确。而本文方法利用VME有效分解信号,结合SMHD增强故障特征,在分类准确率和故障特征识别清晰度上都明显优于传统方法。

与直VME方法相比,未经过MSADBO优化的VME参数设置依赖经验,容易出现模态混叠或丢失等问题,导致故障特征提取不完整或不准确。而经过MSADBO优化后,VME参数更合理,故障特征提取效果更好。

相较于MSADBO-VME方法,虽然该方法已能有效提取故障特征,但结合SMHD后,进一步提升了抗噪性能和故障特征清晰度,使得对于一些早期、轻微故障的识别能力更强。

综合对比分析,MSADBO-VME-SMHD方法在故障诊断效果上具有明显优势,能更准确、更清晰地识别轴承故障,为机械故障诊断提供了更有效的手段。

六、结论与展望
6.1 研究总结

本文聚焦于机械故障诊断领域,针对传统方法存在的诸多局限,提出一种基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)的新型故障诊断方法。详细阐述了MSADBO、VME和SMHD的基本原理与优势,明确VME参数优化的重要性及MSADBO优化VME参数的方法。通过西储大学轴承故障数据的实验验证,从原始信号分析、MSADBO-VME识别分析到MSADBO-VME-SMHD识别分析,层层深入,展示了所提方法在故障特征提取上的卓越性能。与传统方法及直VME方法、MSADBO-VME方法对比,进一步凸显其在故障诊断中的创新性与有效性,为机械故障诊断提供了新的思路与技术手段。

6.2 未来研究方向

本文研究虽取得一定成果,但仍存在局限。一方面,MSADBO优化VME参数及SMHD处理会增加计算量,在大规模数据应用时,计算效率问题需进一步优化。另一方面,该方法在复杂多故障并存情况下的诊断效果还有待验证。未来的研究方向可聚焦于算法效率提升,探索更高效的优化算法与并行计算技术,缩短诊断时间,满足实时性需求。还可深入研究多故障耦合情况下的特征提取与识别方法,提高方法在复杂工况下的适用性。此外,将该方法与更多新兴技术如人工智能、大数据等融合,开发智能故障诊断系统,实现故障的自动识别与预测,也是极具前景的研究方向。

相关文章:

故障识别 | 基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别,matlab代码

基于改进螂优化算法(MSADBO)优化变分模态提取(VME)结合稀疏最大谐波噪声比解卷积(SMHD)进行故障诊断识别 一、引言 1.1 机械故障诊断的背景和意义 在工业生产的宏大画卷中,机械设备的稳定运行…...

[已解决]服务器CPU突然飙高98%----Java程序OOM问题 (2024.9.5)

目录 问题描述问题排查问题解决参考资料 问题描述 业主单位服务器自8月29日晚上21:00起CPU突然飙高至98%,内存爆满,一直到9月5日: 问题排查 ①执行 top 命令查看Java进程PID top②执行top -Hp PID 命令查看具体的线程情况 top -Hp 3058输入上…...

spring如何用三级缓存解决循环依赖问题

spring为何会出现循环依赖问题? 我们举个会产生循环依赖的例子,如下所示,可以看到AService类中依赖了BService类,同理呢,BService类中依赖了AService类,这就是所谓的循环依赖。 Component("aService&…...

【C#】`Task.Factory.StartNew` 和 `Task.Run` 区别

Task.Factory.StartNew 和 Task.Run 都是用来启动新任务的,但它们有一些关键区别,我们来一条一条讲清楚(配例子 结论)。 🆚 1. 语法和使用目的 对比项Task.RunTask.Factory.StartNew用途简化写法,用于启动…...

谈谈空间复杂度考量,特别是递归调用栈空间消耗?

空间复杂度考量是算法设计的核心要素之一,递归调用栈的消耗问题在前端领域尤为突出。 以下结合真实开发场景进行深度解析: 一、递归调用栈的典型问题 1. 深层次DOM遍历的陷阱 // 危险操作:递归遍历未知层级的DOM树 function countDOMNode…...

【2.项目管理】2.4 Gannt图【甘特图】

甘特图(Gantt)深度解析与实践指南 📊 一、甘特图基础模板 项目进度表示例 工作编号工作名称持续时间(月)项目进度(周)1需求分析3▓▓▓░░░░░░░2设计建模3░▓▓▓░░░░░░3编码开发3.5░░░▓▓▓▓░░…...

Ai工作流工具有那些如Dify、coze扣子等以及他们是否开源

Dify (https://difycloud.com/) 核心定位:专业级 LLM 应用开发平台,支持复杂 AI 工作流构建与企业级管理。典型场景:企业智能客服、数据分析系统、复杂自动化流程构建等。适合需要深度定制、企业级管理和复杂 AI 逻辑…...

【项目】C++同步异步日志系统-包含运行教程

文章目录 项目介绍地址:https://gitee.com/royal-never-give-up/c-log-system 开发环境核心技术为什么需要日志系统同步日志异步日志 知识补充不定参宏函数__FILE____LINE____VA_ARGS__ C使用C使用左值右值sizeof...() 运算符完美转发完整例子sizeof...() 运算符获取…...

Yolo_v8的安装测试

前言 如何安装Python版本的Yolo,有一段时间不用了,Yolo的版本也在不断地发展,所以重新安装了运行了一下,记录了下来,供参考。 一、搭建环境 1.1、创建Pycharm工程 首先创建好一个空白的工程,如下图&…...

Success is the sum of small efforts repeated day in and day out.

(翻译:"成功是日复一日微小努力的总和。") 文章内容: Title: The Silent Power of Consistency (标题翻译:《持续坚持的无声力量》) Consistency is the quiet force that turns asp…...

软件兼容性测试的矩阵爆炸问题有哪些解决方案

解决软件兼容性测试中的矩阵爆炸问题主要有优先级划分、组合测试方法、自动化测试技术等方案。其中,组合测试方法尤其有效。组合测试通过科学的组合算法,能够显著降低测试用例的数量,同时保持较高的测试覆盖率,例如正交实验设计&a…...

嵌入式学习(32)-TTS语音模块SYN6288

一、概述 SYN6288 中文语音合成芯片是北京宇音天下科技有限公司于 2010年初推出的一款性/价比更高,效果更自然的一款中高端语音合成芯片。SYN6288 通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音(或 TTS 语音)的转换。宇音天下于 2002…...

霸王茶姬小程序(2025年1月版)任务脚本

脚本用于自动执行微信小程序霸王茶姬的日常签到和积分管理任务。 脚本概述 脚本设置了定时任务(cron),每天运行两次,主要用于自动签到以获取积分,积分可以用来换取优惠券。 核心方法 constructor:构造函数,用于初始化网络请求的配置,设置了基础的 HTTP 请求头等。 logi…...

从零到一:打造顶尖生成式AI应用的全流程实战

简介 生成式AI正以前所未有的速度改变我们的世界,从内容创作到智能客服,再到医疗诊断,它正在成为各行各业的核心驱动力。然而,构建一个高效、安全且负责任的生成式AI系统并非易事。本文将带你从零开始,逐步完成一个完整…...

Windows 10更新失败解决方法

在我们使用 Windows 时的时候,很多时候遇到系统更新 重启之后却一直提示“我们无法完成更新,正在撤销更改” 这种情况非常烦人,但其实可以通过修改文件的方法解决,并且正常更新到最新版操作系统 01修改注册表 管理员身份运行注…...

Windows下在IntelliJ IDEA 使用 Git 拉取、提交脚本出现换行符问题

文章目录 背景问题拉取代码时提交代码时 问题原因解决方案1.全局配置 Git 的换行符处理策略2.在 IntelliJ IDEA 中配置换行符3.使用 .gitattributes 文件 背景 在 Windows 系统下使用 IntelliJ IDEA 进行 Git 操作(如拉取和提交脚本)时,经常…...

ubuntu24.04.2 NVIDIA GeForce RTX 4060笔记本安装驱动

https://www.nvidia.cn/drivers/details/242281/ 上面是下载地址 sudo chmod x NVIDIA-Linux-x86_64-570.133.07.run # 赋予执行权限把下载的驱动复制到家目录下,基本工具准备,如下 sudo apt update sudo apt install build-essential libglvnd-dev …...

一种监控录像视频恢复的高效解决方案,从每一帧中寻找可能性

该软件旨在恢复从监控设备中删除或丢失的视频。该程序经过调整以处理大多数流行供应商的闭路电视系统中使用的专有格式,并通过智能重建引擎进行了增强,能够为监控记录提供任何通用解决方案都无法实现的恢复结果。如果不需要持续使用该软件,则…...

如何快速下载并安装 Postman?

从下载、安装、启动 Postman 这三个方面为大家详细讲解下载安装 Postman 每一步操作,帮助初学者快速上手。 Postman 下载及安装教程(2025最新)...

Unity Shader 学习18:Shader书写基本功整理

1. Drawer [HideInInspector]:面板上隐藏[NoScaleOffset]:隐藏该纹理贴图的TillingOffset[Normal]:检查该纹理是否设为法线贴图[HDR]:将颜色类型设为高动态范围颜色(摄像机也要开启HDR才有效果)[PowerSlid…...

1.1 计算机网络的概念

首先来看什么是计算机网络,关于计算机网络的定义并没有一个统一的标准,不同的教材有 不同的说法(这是王道书对于计算机网络的定义),我们可以结合自己的生活经验去体会这个 定义。 可以用不同类型的设备去连接计算机网络…...

Blender绘图——旋转曲线(以LCP与RCP为例)

最近在做左旋圆偏振光(LCP)与右旋圆偏振光(RCP)的研究,因此需要画出他们的图,接下来我就介绍一下用Blender怎么去画LCP与RCP。 首先你需要下载Blender软件,网上直接能搜到,图标如下…...

Spring与Mybatis整合

持久层整合 1.Spring框架为什么要与持久层技术进行整合 JavaEE开发需要持久层进行数据库的访问操作 JDBC Hibernate Mybatis进行持久层开发存在大量的代码冗余 Spring基于模板设计模式对于上述的持久层技术进行了封装 2.Mybatis整合 SqlSessionFactoryBean MapperScannerConfi…...

JDBC FetchSize不生效,批量变全量致OOM问题分析

背景 一个简单的基于 JDBC 采集数据库表的功能,当采集 Postgre SQL 某表,其数据量达到 500万左右的时候,程序一启动就将 JVM 堆内存「6G」干满了。 问题是程序中使用了游标的只前进配置,且设置了 fetchSize 属性: q…...

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗 docker - compose up - d 是一个用于管理 Docker 容器的命令,具体含义如下: 命令含义: up:用于创建、启动并运行容器,会根据 docker - compose.yml 文件中定义的服务配置来操作。-d:表示以“分离模式”(det…...

Python 装饰器(Decorators)

什么是装饰器? 装饰器(Decorator)本质上是一个 修改其他函数功能的函数。它的核心思想是:不修改原函数代码,动态添加新功能。比如: 记录函数执行时间 检查用户权限 缓存计算结果 自动重试失败操作 理解…...

A2 最佳学习方法

记录自己想法的最好理由是发现自己的想法,并将其组织成可传播的形式 (The best reason for recording what one thinks is to discover what one thinks and to organize it in transmittable form.) Prof Ackoff 经验之谈: 做培训或者写文章&#xff…...

蓝桥杯省模拟赛 阶乘求值

问题描述 给定 n,求 n! 除以 1000000007的余数。 其中 n! 表示 n 的阶乘,值为从 1 连乘到 n 的积,即 n!123…n。 输入格式 输入一行包含一个整数 n。 输出格式 输出一行,包含一个整数,表示答案。 样例输入 3样…...

MYTOOL-记事本

一、前言 目录 1.原型设计 2.程序实现 3.最终界面说明 二、环境 windows10 每个软件工具前期会设计大概的原型,我设计的原型工具使用Axure RP9,很不错的一个设计工具 三、正文 1.原型设计 2.程序实现 3.最终界面说明 四、结语...

Golang使用 ip2region 查询IP的地区信息

利用 ip2region 进行 IP 地址定位 import ("fmt""log""github.com/lionsoul2014/ip2region/binding/golang/xdb" )func main() {ip : "213.118.179.98"dbPath : ".\\cmd\\ip\\ip2region.xdb"// 1、初始化查询器//searcher,…...