资源简介
采用遗传算法实现pid参数的优化,
代码片段和文件信息
clear all
close all
Size=50;% 规模
CodeL=3;% 代码长度
Gmax=200;% 迭代次数
Pc=0.9; % 交叉概率
Pm=0.1;% 变异概率
MinX =[0 0 0];%最小范围
MaxX =[30 0.03 5000];
for kg=1:Gmax % 开始循环
disp([‘正在进行第‘ num2str(kg) ‘代优化/共‘ num2str(Gmax) ‘代‘])
for i=1:Size
if kg==1 % 第一代初始生成
E(i:)= (MaxX-MinX).*rand(1CodeL)+MinX;% 生成范围内的代码
end
kp=E(i1);% pid提取
ki=E(i2);
kd=E(i3);
Bsf=pid_ga(kpkikd);% 目标函数计算 调用pid
fi(i)=1/Bsf;% 适应度是目标函数的倒数
end
[Val Ind ]=max(fi);% 找到最大适应度
BestJ(kg)=Val ;% 最大适应度保存
BestS=E(Ind:);
% 选择
fi_sum=sum(fi); % 适应度和
Pr=fi/fi_sum; % 选择概率
Pri=cumsum(Pr);% 形成轮盘
for i=1:Size
Prand=rand; % 随机概率生成
Pi0=find(Pri>Prand); % 所处的轮盘区间
Pi1=Pi0(1);
TempE(i:)=E(Pi1:); % 把轮盘对应的代码保存
end
% 交叉
for i=1:2:(S
- 上一篇:svpwm逆变及电机转差频率控制
- 下一篇:最速下降法MATLAB程序
相关资源
- 最速下降法MATLAB程序
- svpwm逆变及电机转差频率控制
- 数值计算方法 基于 MATLAB实现
- 用matlab TV模型图像修复
- 基于GS算法的数字水印
- 熵权法matlab编程
- boost电路模型
- Floyd最短路径算法
- 风力机叶片设计MATLAB程序
- MatlabR2019a安装破解教程.zip
- 基于模型的DMC控制算法
- 线路纵差保护仿真图
- matlab在GUI下语音播放
- 连续投影算法SAP-matlab程序
- matlab灰色系统理论多变量模型-MGM(
- 基于牛拉法的电力系统潮流计算程序
- GRNN神经网络.zip
- PM,MUSIC四阶累积量等几种DOA估计算法
- 基于matlab的双向A*算法
- 基于MATLAB的指纹定位算法 NN KNN WK
- matlab的mpt工具箱含voronoi函数
- 风电场电力系统可靠性评估matlab程序
- 基于MATLAB的卷积演示系统gui
- matlab激光光束
- vrp+matlab+模拟退火
- 2016matlab破解版笔记本内置摄像头配置
- EWT经验小波matlab应用实现信号处理
- 基于MATLAB鲁棒控制工具箱的计算机硬
- 电机直接起动matlab仿真
- MATLAB——将数组文件写入到dat文件中
评论
共有 条评论