一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
完整代码已上传我的资源:【PID优化】基于matlab遗传算法PID控制器优化设计【含Matlab源码 1144期】

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、遗传算法简介

1 引言


2 遗传算法理论
2.1 遗传算法的生物学基础


2.2 遗传算法的理论基础




2.3 遗传算法的基本概念






2.4 标准的遗传算法


2.5 遗传算法的特点


2.6 遗传算法的改进方向

3 遗传算法流程



4 关键参数说明

三、部分源代码

%Single Link Inverted Pendulum Control
clear all;
close all;
global A B C D%Single Link Inverted Pendulum Parameters
g=9.8;
M=1.0;
m=0.1;
L=0.5;
Fc=0.0005;
Fp=0.000002;I=1/12*m*L^2;
l=1/2*L;
t1=m*(M+m)*g*l/[(M+m)*I+M*m*l^2];
t2=-m^2*g*l^2/[(m+M)*I+M*m*l^2];
t3=-m*l/[(M+m)*I+M*m*l^2];
t4=(I+m*l^2)/[(m+M)*I+M*m*l^2];A=[0,1,0,0;t1,0,0,0;0,0,0,1;t2,0,0,0];
B=[0;t3;0;t4];
C=[1,0,0,0;0,0,1,0];
D=[0;0];e1_1=0;e2_1=0;e3_1=0;e4_1=0;
u_1=0;
xk=[-10/57.3,0,0.20,0];   %Initial statets=0.02;
for k=1:1:1000
time(k)=k*ts;
Tspan=[0 ts];para=u_1;
[t,x]=ode45('chap7_12f',Tspan,xk,[],para);
z=length(x);
xk=x(length(x),:);r1(k)=0.0;    %Pendulum Angle
r2(k)=0.0;    %Pendulum Angle Rate
r3(k)=0.0;    %Car Position
r4(k)=0.0;    %Car Position Ratex1(k)=xk(1);
x2(k)=xk(2);
x3(k)=xk(3);
x4(k)=xk(4);e1(k)=r1(k)-x1(k);
e2(k)=r2(k)-x2(k);
e3(k)=r3(k)-x3(k);
e4(k)=r4(k)-x4(k);de1(k)=e1(k)-e1_1;
u1(k)=-43.304*e1(k)-6.2366*de1(k);
de2(k)=e2(k)-e2_1;
u2(k)=-6.2366*e2(k)-6.2366*de2(k);
de3(k)=e3(k)-e3_1;
u3(k)=-6.2366*e3(k)-6.2366*de3(k);
de4(k)=e4(k)-e4_1;
u4(k)=-6.2366*e4(k)-6.2366*de4(k);
u(k)=u1(k)+u2(k)+u3(k)+u4(k);if u(k)>=10u(k)=10;
elseif u(k)<=-10u(k)=-10;
ende1_1=e1(k);e2_1=e2(k);e3_1=e3(k);e4_1=e4(k);u_1=u(k);
end
ee1_1=0;ee2_1=0;ee3_1=0;ee4_1=0;uu_1=0;
xxk=[-10/57.3,0,0.20,0];   %Initial state
for i=1:1:1000
time1(i)=i*ts;
Tspan=[0 ts];para1=uu_1;
[tt,xx]=ode45('chap7_12f',Tspan,xxk,[],para1);
zz=length(xx);
xxk=xx(length(xx),:);rr1(i)=0.0;    %Pendulum Angle
rr2(i)=0.0;    %Pendulum Angle Rate
rr3(i)=0.0;    %Car Position
rr4(i)=0.0;    %Car Position Ratexx1(i)=xxk(1);
xx2(i)=xxk(2);
xx3(i)=xxk(3);
xx4(i)=xxk(4);ee1(i)=rr1(i)-xx1(i);
ee2(i)=rr2(i)-xx2(i);
ee3(i)=rr3(i)-xx3(i);
ee4(i)=rr4(i)-xx4(i);dee1(i)=ee1(i)-ee1_1;
uu1(i)=-50*ee1(i)-10*dee1(i);
dee2(i)=ee2(i)-ee2_1;
uu2(i)=-10*ee2(i)-10*dee2(i);
dee3(i)=ee3(i)-ee3_1;
uu3(i)=-10*ee3(i)-10*dee3(i);
dee4(i)=ee4(i)-ee4_1;
uu4(i)=-10*ee4(i)-10*dee4(i);
uu(i)=uu1(i)+uu2(i)+uu3(i)+uu4(i);if u(i)>=10u(i)=10;
elseif u(i)<=-10u(i)=-10;
endee4_1=ee4(i);uu_1=uu(i);
end
figure(1);
plot(time,r1,'r',time,x1,'b');      %Pendulum Angle
xlabel('time(s)');ylabel('Angle');
hold on
plot(time1,xx1,'--');      %Pendulum Angle
figure(2);
plot(time,r2,'r',time,x2,'b');      %Pendulum Angle Rate
xlabel('time(s)');ylabel('Angle rate');
hold on
plot(time1,xx2,'--');
figure(3);
plot(time,r3,'k',time,x3,'b');      %Car Position
xlabel('time(s)');ylabel('Cart position');
hold on
plot(time1,xx3,'--');
figure(4);
plot(time,r4,'r',time,x4,'b');  %Car Position Rate
xlabel('time(s)');ylabel('Cart rate');
hold on
plot(time1,xx4,'--');
figure(5);
plot(time,u,'b');                   %Force F change
xlabel('time(s)');ylabel('Force');
hold on
plot(time1,uu,'--');   

四、运行结果





五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.

【PID优化】基于matlab遗传算法PID控制器优化设计【含Matlab源码 1144期】相关推荐

  1. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  2. 【GA TSP】基于matlab遗传算法求解旅行商问题【含Matlab源码 1909期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[GA TSP]基于matlab遗传算法求解旅行商问题[含Matlab源码 1909期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  3. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  4. 【GA TSP】基于matlab遗传算法求解旅行商问题【含Matlab源码 1337期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[TSP]基于matlab遗传算法求解旅行商问题[含Matlab源码 1337期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  5. 【Matlab路径规划】改进的遗传算法机器人避障路径规划【含GUI源码 703期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]改进的遗传算法机器人避障路径规划[含GUI源码 703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  6. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  7. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  8. 【Matlab指纹识别】指纹识别匹配门禁系统【含GUI源码 587期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别匹配门禁系统[含GUI源码 587期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  9. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  10. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

最新文章

  1. python全局变量在程序执行的全过程有效_PYTHON使每个过程都可以访问全局变量
  2. 17道因为太难而被禁用的Google面试题
  3. STM32程序占用的内存容量计算
  4. spring JdbcTemplate数据库查询实例
  5. Java Formatter locale()方法与示例
  6. sklearn朴素贝叶斯分类器_python机器学习:方法链和朴素贝叶斯分类器
  7. Android Picasso最详细的使用指南
  8. xtrabackup部分备份数据库 Partial Backups
  9. 养老金中除以139是什么意思?
  10. java类装载器原理
  11. Ubuntu 10.04 is coming
  12. Deformation Transfer for Triangle Meshes
  13. 有助提高效率的Web前端开发框架有哪些?
  14. 自己封装的一个模拟下拉列表的插件
  15. python 题库项目_python 题库|刷题
  16. mysql 查找入职时间最早_(2)查找入职员工时间排名倒数第三的员工所有信息...
  17. java 微软雅黑_网站能使用微软雅黑字体吗?是否会构成侵权?微软雅黑有版本吗? - 飞天奔月的java博客 - ITeye博客...
  18. [工业互联-6]:PLC工业控制系统快速概览
  19. 如何以最快速度将Vue接入在线客服系统?
  20. 三大运营商网络使用频段及随身wifi选用

热门文章

  1. sql server database mail
  2. 图片垂直居中 和 float
  3. 【转】android题目
  4. SQL Server 2005高可用性之镜像功能
  5. WIN8下安装USB转串口驱动出现“文件的哈希值不在指定的目录”的解决办法
  6. 190616每日一句
  7. Mendeley从已有文献找相关文献的方法
  8. Atitit html5.1 新特性attilax总结
  9. atitit 图像处理 体系树 科技树 v4 r130a .xlsx
  10. Atitit Immutability 和final的优点