国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 行業(yè)資訊 > 【控制】基于灰狼算法改進分數(shù)階PD滑??刂破鞲絤atlab代碼

【控制】基于灰狼算法改進分數(shù)階PD滑模控制器附matlab代碼

時間:2022-07-25 來源: 瀏覽:

【控制】基于灰狼算法改進分數(shù)階PD滑??刂破鞲絤atlab代碼

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,完整matlab代碼或者程序定制加qq1575304183。

收錄于合集 #智能優(yōu)化算法及應用 494個

1 內(nèi)容介紹

分數(shù)微積分已經(jīng)被研究了將近 3 個世紀,并且已 經(jīng)被科學家廣泛應用到科學與控制工程領(lǐng)域中 。 數(shù)階 PID 控制系統(tǒng)是由斯洛伐克學者 Podlubny 1994 年提出,并應用于分數(shù)階模糊系統(tǒng)中 。 在此項工 作之后,其他的工程師應用不同的設(shè)計與調(diào)整方法設(shè) 計出分數(shù)階 PID 控制器 。 分數(shù)階微積分為復雜成比例 的系統(tǒng)過程和事件提供完善的數(shù)學模型,應用于物理 、 生物與控制理論方面 。 分數(shù)模糊控制器 ( FFCs ) 是傳統(tǒng)模糊控制器與分 數(shù)階算子結(jié)合,在多種動力系統(tǒng)中表現(xiàn)出比傳統(tǒng)的模 糊控制器更好的性能 分數(shù)階模糊控制器中的參數(shù)估 計問題一般用進化算法去優(yōu)化求解,提高控制器的精 度與穩(wěn)定性能 。 例如 : 用遺傳算法模糊分數(shù)階控制器 模型問題 ; 用混沌粒子群算法對可再生發(fā)電混合動 力系統(tǒng)進行分數(shù)階模糊控制器 ; 使用微分和聲搜索 算法設(shè)計分數(shù)階 ; 采用改進的重力搜索算法對抽水 蓄能水電機組進行快速模糊分數(shù)階 PID 控制 ; 分數(shù)階模糊 PID 控制器在機械手臂中的應用性能分析 ; 社會蜘蛛群算法對分數(shù)模糊控制器參數(shù)標定 雖然這些算法都獲得比較理想的結(jié)果,但是仍然具有一 個很重要的局限性,由于其搜索策略中的勘探與開采 之間的平衡關(guān)系,容易陷入局部最優(yōu)的解,這種行為會 導致整個種群快速集中在最優(yōu)粒子周圍,容易形成早 熟收斂,不利于搜索空間的探索 。 灰狼優(yōu)化算法是由 Mirjalili 等于 2014 年提出 的新型群智能優(yōu)化算法 。 灰狼優(yōu)化算法 ( GWO ) 是模 擬灰狼的狩獵機制,包括搜索獵物 追蹤獵物 、 包圍獵 物與捕殺獵物等步驟,與其他的元啟發(fā)式優(yōu)化算法不 同,該算法考慮領(lǐng)導階層 由于該算法具有較好的平 衡勘探與開采能力,所以該算法越來越受到相關(guān)領(lǐng)域 的人們重視,并成功地應用于一些實際工程問題中

PID模糊控制在工業(yè)控制中是最廣泛的一種控制方法,在一些復雜的實際系統(tǒng)中,應用分數(shù)階PID模糊控制器在整定系統(tǒng)參數(shù)性能上優(yōu)于整數(shù)模糊控制器.分數(shù)階模糊控制器具有較多的控制參數(shù),這些控制參數(shù)直接影響了模糊控制器的性能.用傳統(tǒng)的算法校準分數(shù)階模糊控制器并不能得到最佳的參數(shù)值,而且標定參數(shù)的過程較為復雜.因此提出用灰狼優(yōu)化算法(Grey Wolf Optimizer,GWO)優(yōu)化分數(shù)階模糊控制器的參數(shù).將基于灰狼優(yōu)化算法的分數(shù)階模糊控制器優(yōu)化方法與其他五種典型的基于群智能的優(yōu)化方法進行了比較.實驗結(jié)果表明,該方法的控制效果更好.

2 仿真代碼

% Grey Wolf Optimizer function [Alpha_score,Alpha_pos,Convergence_curve]=GWOr(SearchAgents_no,Max_iter,lb,ub,dim) x0 = [-pi pi 0 0 0 0]; Ts = [0 5]; % initialize alpha, beta, and delta_pos Alpha_pos = zeros(1,dim); Alpha_score = inf; %change this to -inf for maximization problems Beta_pos = zeros(1,dim); Beta_score = inf; %change this to -inf for maximization problems Delta_pos = zeros(1,dim); Delta_score = inf; %change this to -inf for maximization problems %Initialize the positions of search agents Positions = initializationr(SearchAgents_no,dim,ub,lb); Convergence_curve = zeros(1,Max_iter); l = 0;% Loop counter % Main loop while l<Max_iter l for i=1:size(Positions,1) % Return back the search agents that go beyond the boundaries of the search space % Flag4ub=Positions(i,:)>ub; % Flag4lb=Positions(i,:)<lb; % Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb; Kpd = Positions(i,:); [T,X] = ode45(@(t,x) r2dof(t,x,Kpd),Ts,x0); qd1 = sin(4.17*T); % qdot_r1=4.17*cos(4.17*T); % qdot2_r1=-4.17*4.17*sin(4.17*T); qd2 = 1.2*sin(5.11*T); % qdot_r2=1.2*5.11*cos(5.11*T); % qdot2_r2=-1.2*5.11*5.11*sin(5.11*T); th1 = X(:,1); %theta1 wavwform th2 = X(:,2); fitness = Fitnessr(th1,th2,qd1,qd2); % Calculate objective function for each search agent % fitness=Fitnessr(Positions(i,:)); % Update Alpha, Beta, and Delta if fitness<Alpha_score Alpha_score = fitness; % Update alpha Alpha_pos = Positions(i,:); end if fitness>Alpha_score && fitness<Beta_score Beta_score = fitness; % Update beta Beta_pos = Positions(i,:); end if fitness>Alpha_score && fitness>Beta_score && fitness<Delta_score Delta_score = fitness; % Update delta Delta_pos = Positions(i,:); end end a = 2-l*((2)/Max_iter); % a decreases linearly fron 2 to 0 % Update the Position of search agents including omegas for i=1:size(Positions,1) % for j=1:size(Positions,2) r1 = rand(); % r1 is a random number in [0,1] r2 = rand(); % r2 is a random number in [0,1] A1 = 2*a*r1-a; % Equation (3.3) C1 = 2*r2; % Equation (3.4) D_alpha = abs(C1*Alpha_pos-Positions(i,:)); % Equation (3.5)-part 1 X1 = Alpha_pos-A1*D_alpha; % Equation (3.6)-part 1 r1 = rand(); r2 = rand(); A2 = 2*a*r1-a; % Equation (3.3) C2 = 2*r2; % Equation (3.4) D_beta = abs(C2*Beta_pos-Positions(i,:)); % Equation (3.5)-part 2 X2 = Beta_pos-A2*D_beta; % Equation (3.6)-part 2 r1 = rand(); r2 = rand(); A3 = 2*a*r1-a; % Equation (3.3) C3 = 2*r2; % Equation (3.4) D_delta = abs(C3*Delta_pos-Positions(i,:)); % Equation (3.5)-part 3 X3 = Delta_pos-A3*D_delta; % Equation (3.5)-part 3 Positions(i, : )=(X1+X2+X3)/3;% Equation (3.7) % end end l = l+1; Convergence_curve(l) = Alpha_score; end

3 運行結(jié)果

4 參考文獻

[1]范魯娜. 灰狼算法優(yōu)化分數(shù)階模糊控制器參數(shù)[J]. 計算機應用與軟件, 2021, 38(10):6.

[1]閻曉妹, 尚婷, 趙小國. 基于分數(shù)階滑??刂破鞯牟淮_定分數(shù)階混沌系統(tǒng)同步[J]. 應用數(shù)學學報, 2018, 41(6):12.

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。

部分理論引用網(wǎng)絡文獻,若有侵權(quán)聯(lián)系博主刪除。

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡,侵權(quán)請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學習使用,務必24小時內(nèi)刪除。
相關(guān)推薦