日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab粒子加速器仿真,粒子群算法优化PID参数 仿真不出结果 程序如下

發(fā)布時(shí)間:2025/3/11 循环神经网络 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab粒子加速器仿真,粒子群算法优化PID参数 仿真不出结果 程序如下 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用的是《MATLAB智能算法30個(gè)案例分析》中的程序

1.文件名為PSO_PID.m

function z = PSO_PID(x)

assignin('base','Kp',x(1));? ?? ?? ?? ?? ?? ? % 粒子群依次賦值給Kp? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???這部分運(yùn)行結(jié)果> PSO_PID

assignin('base','Ki',x(2));? ?? ?? ?? ?? ?? ?? ?% 粒子群依次賦值給Ki? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?Error using PSO_PID (line 2)

assignin('base','Kd',x(3));? ?? ?? ?? ?? ?? ? % 粒子群依次賦值給Kd? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? Not enough input arguments.

[ y_out] = sim('PID_Model', [0, 20]); % 使用命令行運(yùn)行控制系統(tǒng)模塊

z = y_out(end, 1);? ?? ?? ?? ?? ?? ?? ?? ?? ? % 返回性能指標(biāo)

2.文件名為Optm1_PSO_PID.m

%% 清空環(huán)境clearclc

%% 參數(shù)設(shè)置w = 0.6;? ?? ?% 慣性因子c1 = 2;? ?? ? % 加速常數(shù)c2 = 2;? ?? ? % 加速常數(shù)

Dim = 3;? ?? ?? ?? ?% 維數(shù)SwarmSize = 100;? ? % 粒子群規(guī)模ObjFun = @PSO_PID;??% 待優(yōu)化函數(shù)句柄

MaxIter = 100;? ?? ?% 最大迭代次數(shù)??MinFit = 0.1;? ?? ? % 最小適應(yīng)值

Vmax = 1;Vmin = -1;Ub = [300 300 300];Lb = [0 0 0];

%% 粒子群初始化? ? Range = ones(SwarmSize,1)*(Ub-Lb);? ? Swarm = rand(SwarmSize,Dim).*Range + ones(SwarmSize,1)*Lb ;? ???% 初始化粒子群? ? VStep = rand(SwarmSize,Dim)*(Vmax-Vmin) + Vmin ;? ?? ?? ?? ?? ? % 初始化速度? ? fSwarm = zeros(SwarmSize,1);for i=1:SwarmSize? ? fSwarm(i,:) = feval(ObjFun,Swarm(i,:));? ?? ?? ?? ?? ?? ?? ?? ? % 粒子群的適應(yīng)值end

%% 個(gè)體極值和群體極值[bestf bestindex]=min(fSwarm);zbest=Swarm(bestindex,:);? ?% 全局最佳gbest=Swarm;? ?? ?? ?? ?? ? % 個(gè)體最佳fgbest=fSwarm;? ?? ?? ?? ???% 個(gè)體最佳適應(yīng)值fzbest=bestf;? ?? ?? ?? ?? ?% 全局最佳適應(yīng)值

%% 迭代尋優(yōu)iter = 0;y_fitness = zeros(1,MaxIter);? ?% 預(yù)先產(chǎn)生4個(gè)空矩陣K_p = zeros(1,MaxIter);? ?? ?? ?K_i = zeros(1,MaxIter);K_d = zeros(1,MaxIter);while( (iter < MaxIter) && (fzbest > MinFit) )? ? for j=1:SwarmSize? ?? ???% 速度更新? ?? ???VStep(j,:) = w*VStep(j,:) + c1*rand*(gbest(j,:) - Swarm(j,:)) + c2*rand*(zbest - Swarm(j,:));? ?? ???if VStep(j,:)>Vmax, VStep(j,:)=Vmax; end? ?? ???if VStep(j,:)Ub(k), Swarm(j,k)=Ub(k); end? ?? ?? ?? ?if Swarm(j,k)

figure(2)? ?? ?% 繪制PID控制器參數(shù)變化曲線plot(K_p)hold onplot(K_i,'k','LineWidth',3)plot(K_d,'--r')title('Kp、Ki、Kd 優(yōu)化曲線','fontsize',18);xlabel('迭代次數(shù)','fontsize',18);ylabel('參數(shù)值','fontsize',18);set(gca,'Fontsize',18);legend('Kp','Ki','Kd',1);

2014-4-12 22:10 上傳

仿真模型 文件名為PID_Model

總結(jié)

以上是生活随笔為你收集整理的matlab粒子加速器仿真,粒子群算法优化PID参数 仿真不出结果 程序如下的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。