【鋰電池SOH預測】PSO-BP鋰電池健康狀態預測,鋰電池SOH預測(Matlab完整源碼和數據)

預測效果

在這里插入圖片描述

基于PSO-BP算法的鋰電池健康狀態預測研究

一、引言
1.1 研究背景與意義

在當今社會,鋰電池憑借其高能量密度、長壽命及環境友好等特性,在現代能源系統中占據著舉足輕重的地位。從消費電子領域如智能手機、筆記本電腦,到動力領域中的電動汽車,再到儲能領域的大型儲能電站,鋰電池的身影無處不在。在新能源并網、削峰填谷、平抑功率波動等場景中,鋰電池儲能技術發揮著關鍵作用,是實現能源結構轉型、提升能源利用效率的重要支撐。

準確預測鋰電池健康狀態具有極大的必要性。隨著鋰電池應用場景的不斷拓展,其在各種復雜環境下的運行狀態變得難以把控。一旦電池健康狀態出現問題,不僅會影響設備的正常運行,降低用戶體驗,還可能引發安全事故,造成嚴重的經濟損失和社會影響。因此,通過準確預測鋰電池健康狀態,可以及時發現潛在問題,采取有效措施,保障鋰電池的正常使用,延長其使用壽命,為鋰電池在各領域的安全、穩定、高效應用提供有力保障。

1.2 鋰電池健康狀態預測的重要性

鋰電池健康狀態預測在提高電池系統可靠性和安全性方面意義重大。對于電池系統可靠性而言,通過準確預測健康狀態,能夠實時掌握電池的剩余可用容量、性能衰退情況等關鍵信息。這使得電池管理系統能夠根據電池的實際狀態,合理調整充放電策略,優化電池的使用,避免電池在過度充放電等不利條件下工作,從而延長電池的使用壽命,提高電池系統的整體運行效率。

從安全性角度來看,鋰電池在過充、過放、高溫等極端條件下,可能會出現熱失控、爆炸等嚴重安全事故。健康狀態預測可以提前識別出電池可能存在的隱患,如內部短路、容量衰減過快等問題,使電池管理系統及時采取保護措施,如切斷電路、啟動冷卻系統等,防止安全事故的發生,保障人員和設備的安全。這對于電動汽車、儲能電站等涉及大量鋰電池的應用場景尤為重要,能夠有效避免因電池安全問題導致的重大損失,提升用戶對鋰電池產品的信任度。

1.3 鋰電池健康狀態預測在BMS中的作用

電池管理系統(BMS)是保障鋰電池安全、高效運行的核心組成部分,而鋰電池健康狀態預測在BMS中具有關鍵功能和廣泛的應用。

在狀態估計方面,BMS通過采集電池的電壓、電流、溫度等數據,利用健康狀態預測算法,可以準確估算出電池的荷電狀態(SOC)、健康狀態(SOH)、剩余能量(SOE)等重要參數。SOH估計能夠反映電池當前的健康程度,為電池的使用和維護提供重要依據。

在控制及管理功能上,基于健康狀態預測結果,BMS能夠進行智能均衡管理。通過識別電池組中各單體電池的健康狀態差異,對高電量電池進行放電,對低電量電池進行充電,實現電池組內部的能量均衡,提高電池組的整體性能和利用率。

在熱管理方面,健康狀態預測可以幫助BMS實時監測電池的溫度變化趨勢,及時啟動冷卻或加熱系統,將電池溫度控制在適宜范圍內,防止因溫度過高或過低導致的電池性能下降和安全問題。

在故障診斷與預警方面,通過持續監測電池健康狀態,BMS能夠提前發現潛在的故障隱患,如電池內部短路、容量急劇下降等,并及時發出預警,提醒用戶進行維護或更換電池,避免故障發生,保障電池系統的穩定運行。

二、鋰電池健康狀態預測的研究現狀
2.1 常用預測方法概述

目前,鋰電池健康狀態預測方法種類繁多,主要可歸為基于模型的方法、數據驅動法以及融合方法三大類。

基于模型的方法需建立準確的電池物理或電化學模型,如電化學阻抗譜模型、等效電路模型等。這類方法能深入揭示電池內部機理,預測結果具有一定的物理意義,但模型構建復雜,計算量大,且難以準確描述電池在復雜工況下的動態特性。

數據驅動法無需了解電池內部原理,僅依據收集的老化數據進行預測。其中,人工神經網絡(ANN)可模擬人腦神經網絡,具有強大的非線性映射能力,但存在易陷入局部最優、訓練時間長等問題;支持向量機(SVM)能較好地解決小樣本、非線性及高維模式識別問題,不過其核函數選擇和參數設置較為困難;高斯過程回歸(GPR)可提供預測結果的置信區間,適用于處理非線性、小樣本數據,但計算復雜度高,容易陷入局部最優。

融合方法則結合多種方法的優勢,如將機器學習算法與電池模型相結合,既能利用模型反映電池內部特性,又能借助算法處理復雜數據,提高預測精度和泛化能力。

2.2 現有方法的局限性

盡管現有鋰電池健康狀態預測方法取得了一定成果,但仍存在諸多局限性。

基于模型的方法在復雜工況下難以準確描述電池特性,且模型參數辨識困難,計算量大,影響預測效率。數據驅動法中,ANN易陷入局部最優,訓練時間長,SVM的核函數選擇和參數設置依賴經驗,高斯過程回歸計算復雜度高。這些方法大多對數據依賴性高,數據質量、樣本數量及特征選擇對預測結果影響很大,當數據存在噪聲或樣本不足時,預測精度會大幅下降。

在實際應用中,鋰電池工作條件復雜多變,采集的數據往往存在噪聲和不確定性,而現有方法難以有效處理這些復雜數據,導致預測結果不穩定,無法滿足高精度、實時性的要求。隨著鋰電池應用場景的不斷拓展,對健康狀態預測的精度和效率提出了更高要求,迫切需要引入新的方法來解決現有方法的局限性,提升預測性能。

2.3 引入PSO-BP算法的動機

選擇PSO-BP算法進行鋰電池健康狀態預測,主要基于其獨特的優勢和創新點。

BP神經網絡雖具有強大的非線性映射能力和自學習能力,但在訓練過程中易陷入局部最優,且收斂速度慢。粒子群優化算法(PSO)是一種高效的群體智能優化算法,通過模擬粒子在搜索空間中的運動來優化問題,具有全局搜索能力強、收斂速度快等優點。將PSO與BP結合,利用PSO優化BP神經網絡的權值和閾值,可以有效避免BP算法陷入局部最優,提高網絡的訓練效率和預測精度。

PSO-BP算法的創新之處在于,它將兩種算法的優勢互補,既發揮了BP神經網絡強大的學習能力,又借助PSO算法的全局優化能力。在鋰電池健康狀態預測中,能夠充分利用電池運行數據,提取有效特征,建立高精度的預測模型。與傳統預測方法相比,PSO-BP算法具有更高的預測精度和更強的泛化能力,能夠更好地應對鋰電池在不同工況下的健康狀態預測需求,為鋰電池的安全、高效使用提供更有力的技術支持。

三、粒子群優化算法與反向傳播神經網絡
3.1 粒子群優化算法基本原理

粒子群優化算法(PSO)是一種源于對鳥群捕食行為研究的自適應搜索技術。其核心思想在于通過個體間的信息傳遞與共享來搜尋最優解。在該算法中,每個優化問題的潛在解都被視為搜索空間中的一個粒子。假設優化問題為d維優化,種群由M個粒子組成,第i個粒子表示為Xi=(xi1,xi2,…,xid),每個粒子都有一個飛行速度,第i個粒子的飛行速度為Vi=(vi1,vi2,…,vid)。

粒子在搜索過程中,會依據自身找到的最優解pbest和群體中所有粒子找到的最優解gbest來調整自己的速度和位置。速度更新公式為vit+1=ωvit+c1r1(pit-xit)+c2r2(pgt-xit),其中ω為慣性權重,c1和c2為加速常數,r1和r2為[0,1]之間的隨機數。位置更新公式為xit+1=xit+vit+1。通過不斷迭代,粒子群逐漸向最優解區域聚集。

在參數設置上,慣性權重ω可平衡全局搜索與局部搜索能力,較大的ω有利于全局搜索,較小的ω則增強局部搜索能力。加速常數c1和c2調節粒子向自身最優和全局最優移動的步長。粒子群規模M一般根據問題復雜程度確定,較大的規模可提高搜索能力,但會增加計算量。最大速度Vmax限制粒子速度范圍,防止粒子因速度過大而錯過最優解。

PSO算法因其搜索速度快、參數少、易于實現的特點,在函數優化、神經網絡訓練、組合優化等領域有著廣泛應用。它能夠高效地處理復雜優化問題,為尋找最優解提供有力支持。

3.2 反向傳播神經網絡工作原理

反向傳播神經網絡(BP神經網絡)是一種具有強大非線性映射能力的神經網絡模型。其基本結構包括輸入層、隱含層和輸出層。輸入層負責接收外界輸入信息,隱含層對輸入信息進行內部處理,輸出層則輸出神經網絡的處理結果。

BP神經網絡的訓練過程主要通過誤差反向傳播機制來實現。訓練開始時,給定一組輸入樣本和對應的期望輸出,網絡從前向后逐層計算各層神經元的輸出值。當輸出層輸出值與期望輸出值存在誤差時,采用誤差梯度下降法(trainlm)來修正各層連接權值和閾值。具體而言,先求出輸出節點誤差,然后從輸出層到隱含層逐層修正,直至誤差減少到指定目標精度范圍內。

以輸出層節點為例,輸出節點的均方誤差為E=1/2Σ(Ot-O)2,其中Ot為輸出層神經元的期望輸出,O為實際輸出,p為樣本數。對輸出節點連接權值求導得Δwij=-(Ot-O)·Oj1,以此調整權值。經過多次正向傳播計算和反向傳播修正,BP神經網絡能夠不斷優化自身參數,提高對輸入輸出映射關系的擬合能力,從而實現各種復雜的功能。

3.3 BP神經網絡的局限性

盡管BP神經網絡在許多領域表現出色,但在訓練過程中也容易遇到一些問題,其中最為突出的便是局部最優和收斂速度慢。

局部最優問題是BP神經網絡的一大難題。由于BP算法采用梯度下降法進行權值和閾值調整,網絡在訓練過程中可能會陷入誤差曲面的局部極小值點。一旦陷入局部最優,即使繼續訓練,網絡也難以跳出該區域,導致無法找到全局最優解。這使得網絡在處理復雜問題時,預測精度和性能受到嚴重影響。

收斂速度慢也是BP神經網絡面臨的重要問題。在訓練過程中,網絡需要根據誤差反向傳播來調整參數,這一過程需要多次迭代。當網絡結構復雜、訓練樣本數量龐大時,迭代次數會大幅增加,導致訓練時間過長。而且,如果學習率設置不當,過小會導致收斂速度過慢,過大則可能使網絡在最優解附近來回振蕩,難以穩定收斂。這些問題限制了BP神經網絡在實時性要求高、數據量大的場景中的應用。

為了解決這些問題,研究者們提出了多種改進方法,如引入動量項、自適應調節學習率、優化神經網絡結構等,但這些方法往往難以同時兼顧全局搜索能力和收斂速度,仍存在一定的局限性。

3.4 PSO-BP算法的結合方式

PSO算法與BP神經網絡的結合,能夠有效優化BP神經網絡的權值和閾值,提升模型性能。

在PSO-BP算法中,BP神經網絡的權值和閾值被視為PSO算法中的粒子。每個粒子代表一組可能的權值和閾值組合,粒子的適應度函數通常為BP神經網絡訓練后的誤差函數。通過PSO算法的全局搜索能力,粒子群在搜索空間中不斷尋找最優的權值和閾值組合。

具體而言,首先確定BP神經網絡的拓撲結構,包括輸入層、隱含層和輸出層的節點數。然后初始化參數,包括BP神經網絡的初始權值和閾值,以及PSO算法的粒子種群、慣性權重、加速常數等。在迭代過程中,每個粒子根據自身找到的最優解和群體中的最優解來更新自己的速度和位置,進而調整所代表的權值和閾值。當粒子群找到較優的權值和閾值組合時,將其賦值給BP神經網絡進行訓練。經過多次迭代,BP神經網絡的權值和閾值逐漸向最優值逼近。

這種結合方式充分利用了PSO算法的全局優化能力和BP神經網絡的學習能力。一方面,PSO算法避免了BP算法易陷入局部最優的問題,提高了網絡的泛化能力;另一方面,BP神經網絡強大的非線性映射能力使得模型能夠更好地擬合復雜的數據關系。通過PSO-BP算法,可以構建出預測精度更高、訓練效率更快的鋰電池健康狀態預測模型。

四、基于PSO-BP的鋰電池健康狀態預測模型設計
4.1 特征參數的選擇與提取

鋰電池健康狀態受眾多因素影響,準確選擇與提取關鍵特征參數至關重要。
此外,恒流充電時間、恒流放電時間、恒壓充電時間等也能從一定程度上反映電池健康狀態。在不同循環周期,隨著電池老化,恒流充電和放電時間會縮短,而恒壓充電時間會增長。通過對電池充放電過程中的電壓、電流數據進行詳細分析,可提取出這些關鍵特征參數,為后續健康狀態預測提供重要依據。

4.2 數據預處理與特征選擇

數據預處理是構建高精度預測模型的關鍵步驟。首先要對采集的電池電壓、電流、溫度等數據進行去噪處理,常用的方法有滑動平均濾波、中值濾波等,以消除數據中的噪聲干擾,使數據更加平滑和準確。

在特征選擇上,可采用相關系數法、主成分分析法等方法。相關系數法可通過計算各特征參數與鋰電池健康狀態指標(如SOH)之間的相關系數,選擇相關性較高的特征作為輸入參數。主成分分析法能將多個相關特征轉化為少數幾個不相關的綜合指標,既能保留原始數據的主要信息,又能降低數據維度,避免模型過于復雜,提高預測效率。

對于復雜的非線性數據,還可利用卷積循環網絡等深層機器學習方法自動提取隱藏特征。通過這些方法,能從海量數據中篩選出對鋰電池健康狀態影響最大的關鍵特征,提高預測模型的準確性和泛化能力。

4.3 模型構建與參數優化

構建PSO-BP模型,首先需確定BP神經網絡的拓撲結構。根據鋰電池健康狀態預測的實際需求,選擇合適的輸入層、隱含層和輸出層節點數。輸入層節點數通常為所選特征參數的個數,輸出層節點數為健康狀態指標(如SOH)的個數,隱含層節點數可通過經驗公式或試錯法確定。

隨后初始化PSO算法參數,包括粒子種群規模、慣性權重、加速常數等。粒子種群規模應根據問題復雜程度選擇,較大的規模可提高搜索能力,但會增加計算量。慣性權重可設置為動態變化,在迭代初期設置較大值以增強全局搜索能力,后期逐漸減小以提高局部搜索精度。加速常數一般設置為固定值。

將BP神經網絡的權值和閾值編碼為粒子,每個粒子代表一組可能的權值和閾值組合。以BP神經網絡訓練后的誤差函數作為粒子的適應度函數,通過PSO算法的全局搜索能力,不斷更新粒子的速度和位置,尋找最優的權值和閾值組合。在迭代過程中,記錄每次迭代的最優解,當達到預設迭代次數或適應度值滿足要求時,停止迭代,將找到的最優權值和閾值賦值給BP神經網絡。

參數優化過程中,可采用自適應調整策略,如根據適應度值的變化動態調整慣性權重和加速常數,以加快收斂速度,提高優化效率。通過合理構建模型和優化參數,使PSO-BP模型能夠更準確地擬合鋰電池健康狀態的變化規律。

4.4 模型訓練與測試

模型訓練前,需將收集到的鋰電池運行數據集劃分為訓練集和測試集。訓練集用于訓練PSO-BP模型,使模型能夠學習到鋰電池健康狀態與特征參數之間的映射關系;測試集用于評估模型的泛化能力,檢驗模型在未見過的數據上的預測性能。

訓練過程中,首先利用PSO算法優化BP神經網絡的初始權值和閾值,然后將優化后的參數代入BP神經網絡進行訓練。在訓練過程中,不斷調整網絡參數,使網絡的輸出結果盡可能接近真實健康狀態值。訓練時可設置合適的迭代次數、學習率等參數,以確保模型能夠充分學習數據特征。

完成訓練后,使用測試集對模型進行測試。計算模型預測值與實際健康狀態值之間的誤差,如均方誤差、平均絕對誤差等,以評估模型的預測精度。若模型在測試集上的表現良好,說明模型具有較好的泛化能力,能夠準確預測鋰電池的健康狀態;若表現不佳,則需調整模型參數或優化算法,重新進行訓練和測試,直至滿足預測要求。

五、實驗與分析
5.1 實驗設計與數據集

實驗所用數據集源自美國航空航天局(NASA)卓越故障預測中心。該中心采用額定容量為2Ah的18650型市售鈷酸鋰離子電池進行循環測試,在室溫條件下測試了3種不同的電池工作曲線,包括充電、放電和阻抗。數據集提供了豐富的參數信息,如環境溫度(ET)、充電電流(CC)、放電電流(DC)以及放電結束電壓等,為實驗分析提供了堅實基礎。

實驗選取了數據集中的B0005、B0006、B0007號電池老化數據作為實驗對象。這些電池均經歷了連續的充電、放電和阻抗測試實驗。充電過程先以1.5A電流恒流充電,當電壓達到4.2V后轉為恒壓充電,直至電流下降到20 mA時結束。放電過程則用2A電流恒流放電至2.7V。實驗中詳細記錄了電池在不同循環次數下的電壓、電流、溫度等數據。

為確保實驗的可重復性,實驗設計遵循了嚴格的標準化流程。首先對原始數據進行預處理,包括去噪、特征提取等步驟。去噪采用了滑動平均濾波方法,以消除數據中的隨機噪聲。特征提取則根據鋰電池健康狀態的影響因素,選取了內阻、充電電壓樣本熵、等壓降放電時間等關鍵參數。隨后將處理后的數據集按一定比例劃分為訓練集和測試集,訓練集用于訓練PSO-BP模型,測試集用于評估模型的泛化能力。整個實驗過程及參數設置均詳細記錄,以便其他研究者能夠按照相同的方法和步驟進行重復實驗。

5.2 模型性能評估指標

為全面評估PSO-BP模型的預測性能,實驗中采用了多個評估指標。其中,均方誤差(Mean Squared Error, MSE)和相關系數是兩個重要的指標。

均方誤差是一種常用的統計度量,用于衡量模型預測誤差的平均平方值。其計算公式為 M S E = 1 n ∑ i = 1 n ( y i ? y i ^ ) 2 MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y_i})^2 MSE=n1?i=1n?(yi??yi?^?)2,其中 y i y_i yi?表示真實值, y i ^ \hat{y_i} yi?^?表示預測值,n為樣本數量。MSE值越小,說明模型的預測值與實際觀測值之間的差距越小,預測精度越高。

相關系數則用于衡量模型預測值與真實值之間的線性相關程度。常用的是皮爾遜相關系數(Pearson Correlation Coefficient, PCC),其取值范圍為[-1,1]。當PCC值為1時,表示預測值與真實值完全正相關;值為-1時,表示完全負相關;值為0時,表示兩者之間無線性相關關系。一般來說,PCC值越接近1,說明模型的預測效果越好。

通過這兩個指標,可以從不同角度綜合評估PSO-BP模型在鋰電池健康狀態預測中的表現,為模型的優化和改進提供重要依據。

5.3 實驗結果與分析

實驗結果顯示,PSO-BP模型在鋰電池健康狀態預測中表現出色。從預測精度來看,在測試集上,模型的均方誤差(MSE)值較小,說明預測值與實際健康狀態值之間的偏差較小。以SOH預測為例,MSE值控制在較低水平,表明模型能夠準確地預測電池的健康狀態。相關系數(PCC)值接近1,說明預測值與真實值之間存在高度的線性相關關系,進一步驗證了模型的高精度預測能力。

在預測效率方面,PSO-BP模型也展現出優勢。由于PSO算法優化了BP神經網絡的權值和閾值,使得網絡的訓練過程更加高效。與傳統的BP神經網絡相比,PSO-BP模型的收斂速度更快,在相同迭代次數下,能夠更早地達到預設的誤差精度。這意味著在實際應用中,PSO-BP模型能夠在較短的時間內完成對鋰電池健康狀態的預測,滿足實時性要求。

通過對不同循環次數下模型預測結果的對比分析,發現隨著電池循環次數的增加,模型的預測精度依然保持在較高水平。這表明PSO-BP模型具有良好的泛化能力,能夠適應電池在不同老化程度下的健康狀態預測需求。

5.4 與傳統方法的比較

將PSO-BP模型與其他傳統預測方法進行比較,結果凸顯出其顯著優勢。與基于模型的方法相比,如電化學阻抗譜模型和等效電路模型,PSO-BP模型無需建立復雜的物理或電化學模型,避免了模型參數辨識困難和計算量大等問題。在處理復雜工況下的電池數據時,PSO-BP模型能夠更靈活地提取特征,準確地反映電池健康狀態的變化趨勢。

相較于數據驅動法中的BP、RF和SVM等方法,PSO-BP模型在避免局部最優和提高訓練效率方面表現出色。

六、結論與展望
6.1 研究總結

本文圍繞基于PSO-BP算法的鋰電池健康狀態預測展開深入研究。首先闡述了鋰電池在現代社會中的廣泛應用及其準確預測健康狀態的必要性,剖析了鋰電池健康狀態預測在提升電池系統可靠性和安全性方面的重要性,以及在電池管理系統中的關鍵作用。接著梳理了鋰電池健康狀態預測的研究現狀,分析現有預測方法的優缺點,明確引入PSO-BP算法的動機。

詳細探討了粒子群優化算法與反向傳播神經網絡的基本原理、BP神經網絡的局限性以及PSO-BP算法的結合方式。構建基于PSO-BP的鋰電池健康狀態預測模型,從特征參數的選擇與提取、數據預處理與特征選擇、模型構建與參數優化、模型訓練與測試等方面進行系統闡述。最后通過實驗驗證模型性能,采用美國航空航天局卓越故障預測中心的數據集,利用均方誤差和相關系數等指標進行評估。結果表明,PSO-BP模型在預測精度和效率上均優于傳統預測方法,為鋰電池健康狀態預測提供了一種高效、準確的新途徑。

6.2 模型的局限性

PSO-BP模型在實際應用中仍面臨一些局限與挑戰。在參數設置方面,PSO算法的慣性權重、加速常數等參數的選擇對模型性能影響較大,若設置不當,可能導致優化效果不佳。模型對訓練數據集的依賴性較高,當數據集存在噪聲或樣本不足時,模型的預測精度會下降。在處理復雜工況下,鋰電池數據存在高度非線性、多變量耦合等情況時,模型可能難以充分挖掘數據中的復雜關系,導致預測結果不夠準確。

對于不同種類的鋰電池,由于其電化學特性差異較大,模型可能需要重新調整參數或結構,才能適應新的電池類型,增加了應用的復雜性。隨著鋰電池應用場景的不斷拓展,如在極端溫度、惡劣環境等條件下,模型能否保持穩定的預測性能也是一個值得關注的問題。這些局限性限制了PSO-BP模型在更廣泛領域的應用,需要進一步優化和改進。

6.3 未來研究方向

為進一步提升PSO-BP模型性能,可從多個方向進行優化與拓展。在算法改進方面,可探索將PSO算法與其他優化算法結合,如遺傳算法、蟻群算法等,形成更高效的混合優化算法,以增強模型的全局搜索能力和局部尋優能力。深入研究自適應參數調整策略,使模型在訓練過程中能夠根據實際情況動態調整參數,提高優化效率。

在特征提取與數據預處理上,可利用深度學習方法自動提取更豐富的特征,如利用卷積神經網絡處理時間序列數據,挖掘數據中的潛在規律。結合多源數據融合技術,將電池運行數據、環境數據等多方面信息進行整合,提高模型的預測精度和泛化能力。

拓展應用領域方面,可將PSO-BP模型應用于更多類型的鋰電池健康狀態預測,如磷酸鐵鋰電池、錳酸鋰電池等。通過建立通用的模型框架和參數調整機制,降低模型在不同電池類型間的遷移成本。還可探索模型在新能源汽車、智能電網等領域的實際應用,為鋰電池的安全、高效使用提供更全面的技術支持,推動鋰電池產業的持續發展。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76825.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76825.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76825.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智能車攝像頭開源—9 動態權、模糊PID、速度決策、路徑優化

目錄 一、前言 二、動態權 1.概述 2.偏差值加動態權 三、模糊PID 四、速度決策 1.曲率計算 2.速度擬合 3.速度控制 五、路徑 六、國賽視頻 一、前言 在前中期通過識別直道、彎道等元素可進行加減速操作實現速度的控制,可進一步縮減一圈的運行速度&#xff…

過往記錄系列 篇五:市場黑天鵝事件歷史梳理

文章目錄 系列文章文章地址文章摘要文章預覽系列文章 過往記錄系列 篇一:牛市板塊輪動順序梳理 過往記錄系列 篇二:新年1月份(至春節前)行情歷史梳理 過往記錄系列 篇三:春節行情歷史梳理 過往記錄系列 篇四:年報月行情歷史梳理 文章地址 原文審核不通過(理由:“違反…

Mysql--基礎知識點--85.1--Innodb自適應哈希索引

1. 自適應哈希索引的用途 InnoDB 的自適應哈希索引(Adaptive Hash Index, AHI)是 MySQL 數據庫引擎中一項智能優化查詢性能的功能。其核心作用如下: 加速等值查詢 哈希索引通過哈希函數將鍵映射到固定位置,實現 O(1) 時間復雜度的…

SQL優化技術分享:從 321 秒到 0.2 秒的性能飛躍 —— 基于 PawSQL 的 TPCH 查詢優化實戰

在數據庫性能優化領域,TPC-H 測試集是一個經典的基準測試工具,常用于評估數據庫系統的查詢性能。本文將基于 TPCH 測試集中的第 20個查詢,結合 PawSQL 自動化優化工具,詳細分析如何通過 SQL 重寫和索引設計,將查詢性能…

SpringBoot3-web開發筆記(下)

內容協商 實現:一套系統適配多端數據返回 多端內容適配: 1. 默認規則 SpringBoot 多端內容適配。 基于請求頭內容協商:(默認開啟) 客戶端向服務端發送請求,攜帶HTTP標準的Accept請求頭。 Accept: applica…

Graylog 索引配置詳解與優化建議

Graylog 索引配置詳解與優化建議 🚀 前言一、索引集基礎信息 📚二、分片(Shards)與副本(Replicas)設置 ??1. 分片 (Shards)2. 副本 (Replicas) 三、 字段類型刷新間隔(Field Type Refresh Int…

數據結構*包裝類泛型

包裝類 什么是包裝類 在講基本數據類型的時候,有提到過包裝類。 基本數據類型包裝類byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean 我們知道:基本數據類型并不是對象,沒有對象所具有的方法和屬…

【JDBC-54.1】MySQL JDBC連接字符串常用參數詳解

在Java應用程序中連接MySQL數據庫時,JDBC連接字符串是建立連接的關鍵。一個配置得當的連接字符串不僅能確保連接成功,還能優化性能、增強安全性并處理各種連接場景。本文將深入探討MySQL JDBC連接字符串的常用參數及其最佳實踐。 1. 基本連接字符串格式…

[ctfshow web入門] web37

信息收集 題目有了變化,include$c if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/flag/i", $c)){include($c);echo $flag;}}else{highlight_file(__FILE__); }解題 通過協議解題 參考[ctfshow web入門] web31 同樣是include,之前的方…

Linux 調試代碼工具:gdb

文章目錄 一、debug vs release:兩種程序形態的本質差異1. 什么是 debug 與 release?2. 核心差異對比 二、為什么需要 debug:從項目生命周期看調試價值1. 項目開發流程中的調試閉環(流程圖示意)2. Debug 的核心意義與目…

Python設計模式:命令模式

1. 什么是命令模式? 命令模式是一種行為設計模式,它將請求封裝為一個對象,從而使您能夠使用不同的請求、隊列或日志請求,以及支持可撤銷操作。 命令模式的核心思想是將請求的發送者與請求的接收者解耦,使得兩者之間的…

nlp面試重點

深度學習基本原理:梯度下降公式,將損失函數越來越小,最終預測值和實際值誤差比較小。 交叉熵:-p(x)logq(x),p(x)是one-hot形式。如果不使用softmax計算交叉熵,是不行的。損失函數可能會非常大,…

Leetcode:二叉樹

94. 二叉樹的中序遍歷 class Solution {public List<Integer> inorderTraversal(TreeNode root) {TreeNode cur root;Stack<TreeNode> stack new Stack<>();List<Integer> list new ArrayList<>();while (!stack.isEmpty() || cur ! null) {…

SQL:Constraint(約束)

目錄 &#x1f3af; 什么是 Constraint&#xff1f; MySQL 中常見的約束類型&#xff1a; 1. PRIMARY KEY 2. FOREIGN KEY 3. UNIQUE 4. NOT NULL 5. DEFAULT 6. CHECK&#xff08;MySQL 8.0&#xff09; 7. AUTO_INCREMENT &#x1f3af; 什么是 Constraint&#xf…

數據庫數據恢復——sql server數據庫被加密怎么恢復數據?

SQL server數據庫數據故障&#xff1a; SQL server數據庫被加密&#xff0c;無法使用。 數據庫MDF、LDF、log日志文件名字被篡改。 數據庫備份被加密&#xff0c;文件名字被篡改。 SQL server數據庫數據恢復過程&#xff1a; 1、將所有數據庫做完整只讀備份。后續所有數據恢…

MySQL 用 limit 影響性能的優化方案

一.使用索引覆蓋掃描 如果我們只需要查詢部分字段&#xff0c;而不是所有字段&#xff0c;我們可以嘗試使用索引覆蓋掃描&#xff0c;也就是讓查詢所需的所有字段都在索引中&#xff0c;這樣就不需要再訪問數據頁&#xff0c;減少了隨機 I/O 操作。 例如&#xff0c;如果我們…

【算法筆記】并查集詳解

&#x1f680; 并查集&#xff08;Union-Find&#xff09;詳解&#xff1a;原理、實現與優化 并查集&#xff08;Union-Find&#xff09;是一種非常高效的數據結構&#xff0c;用于處理動態連通性問題&#xff0c;即判斷若干個元素是否屬于同一個集合&#xff0c;并支持集合合…

鴻蒙HarmonyOS埋點SDK,ClkLog適配鴻蒙埋點分析

ClkLog埋點分析系統&#xff0c;是一種全新的、開源的洞察方案&#xff0c;它能夠幫助您捕捉每一個關鍵數據點&#xff0c;確保您的決策基于最準確的用戶行為分析。技術人員可快速搭建私有的分析系統。 ClkLog鴻蒙埋點SDK通過手動埋點的方式實現HarmonyOS 原生應用的前端數據采…

JMeter的關聯

關聯&#xff1a;上一個請求的響應結果和下一個請求的數據有關系 xpath提取器 適用場景 HTML/XML文檔結構化數據&#xff1a; 適用于從HTML或XML文檔中提取結構化數據。例如&#xff0c;提取表格中的數據、列表中的項目等。示例&#xff1a;從HTML表格中提取所有行數據。 …

Spring Security 權限配置詳解

&#x1f31f;Spring Security 權限配置詳解&#xff1a;從基礎到進階 Spring Security 是一個功能強大、可高度自定義的安全框架&#xff0c;主要用于為基于 Spring 的應用程序提供身份驗證和授權功能。 本篇文章將帶你深入理解 Spring Security 的權限配置機制&#xff0c;掌…