2024年智能算法优化PID参数,ITAE、ISE、ITSE、IAE四种适应度函数随意切换,附MATLAB代码...

PID 参数整定就是确定比例系数(Kp )、积分系数(Ki)和微分系数(Kd )的过程,以便使 PID 控制器能够在系统中实现稳定、快速、准确的响应。

本期的主题

采用四种2024年的智能优化算法优化PID的三个参数,以便达到较好的响应曲线。

四种算法分别是:牛顿-拉夫逊优化算法,美洲狮优化算法,足球队训练算法,冠豪猪优化算法。四种算法都是2024年最新的优化算法。

具体原理

首先,采用simulink搭建具体的模型,模型简单易修改!

7b1c93707f66cb7432e68f45d7f8055a.png

只需要打开simulink模型,修改这里的函数即可。后面的延迟环节也可以在其中随意修改!

然后,在主函数里边不断地调用该模型,并以PID参数寻优常用的四种评价(ITAE/ISE/ITSE/IAE)为适应度函数指标进行寻优。

四种适应度函数公式如下:

平方误差积分(ISE):

绝对误差积分(IAE):

时间乘方误差积分(ITSE):

时间乘绝对误差积分(ITAE):

代码中已经集成好,方便修改适应度函数:

xz = 1;  %可选四种适应度函数:平方误差积分 /时间乘以绝对误差积分  /时间乘方误差积分 /绝对误差积分
if xz == 1fobj = @(x)ISE_object(x);   %平方误差积分
elseif xz == 2fobj = @(x)ITAE_object(x);  %时间乘以绝对误差积分
elseif xz == 3fobj = @(x)ITSE_object(x);  %时间乘方误差积分
elseif xz == 4fobj = @(x)IAE_object(x);   %绝对误差积分
end

最后,以ITAE指标为例进行展示。将寻优得到的三个最佳参数回代适应度函数,得到不同算法的响应曲线对比图。如下所示。

响应曲线对比图:

4b59bf3e07ad68a6932438f3c00a07e6.png

可以看到CPO算法的寻优效果最差,其他三种的寻优效果相当。

误差曲线图:

1ba0ee9f440ca258f10da8b7fb90f9f0.png

四种算法的寻优过程收敛曲线图:

a3b18e8cd977df3907fdcc4d3a16073e.png

最后,四种算法寻优得到最佳PID参数如下:

NRBOPumaCPOFTTA
Kp0.087410.0751920.128410.07292   
Ti3.5447 3  15.27193      
Td0.10708 5.4380.169823.9195

代码目录如下:

f02f04657e100cb641012c66651b8986.png

考虑到大家的matlab版本可能不同,作者在这里保存了不同版本的simulink模型。

大家选取相应的版本模型,并在主函数和四个适应度函数文件里边,把TFmodel22改成TFmodelXX对应的版本即可运行!

另外再推荐几篇往期写的PID参数整定文章:

三种智能算法优化PID参数软件,MATLABAPP开发

改进的粒子群算法整定PID参数,并与灰狼算法进行比较,附MATLAB代码

灰狼算法整定PID参数,传递函数可以任意修改,附MATLAB代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/467764.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【医学知识图谱 自动补全 关系抽取】生成模型 + 医学知识图谱 = 发现三元组隐藏的关系实体对

生成模型 医学知识图谱 发现三元组新关系实体对 提出背景问题:如何自动发现并生成医疗领域中未被标注的实体关系三元组?CRVAE模型 提出背景 论文:https://dl.acm.org/doi/pdf/10.1145/3219819.3220010 以条件关系变分自编码器(…

Django学习全纪录:创建第一个Django项目,如何使用Django开发⼀个web应用

导言 在上一篇文章里,我们对Django的开发环境进行了学习以及搭建,在上一篇文章里,同时也为大家介绍了安装、验证、修改默认镜像源等知识。 在这一篇文章里,我们就正式开始我们的Django开发之旅,创建我们的第一个项目,做一些较为简单且必需的前置工作。 如何创建Django项目…

【Linux】Kali Linux 系统安装详细教程(虚拟机)

目录 1.1 Kali linux简介 1.2 Kali Linux工具 1.3 VMware workstation和ESXi的区别 二、安装步骤 一、Kali概述 1.1 Kali linux简介 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。每一季度更新一次。由Offensive Security Ltd维护和资助。最…

RocksDB:高性能键值存储引擎初探

在现代的分布式系统和大数据应用中,一个高效、可靠的存储引擎是不可或缺的。RocksDB,由Facebook于2012年开发并随后开源,正是为了满足这类需求而诞生的。它是一个持久化的键值存储系统,特别适合在闪存(Flash&#xff0…

【Python网络编程之TCP三次握手】

🚀 作者 :“码上有前” 🚀 文章简介 :Python开发技术 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Python网络编程之[TCP三次握手] 代码见资源,效果图如下一、实验要求二、协议原理2.…

【C语言】【力扣】7.整数反转和9.回文数

一、整数反转 1.1 个人思考过程 初解:出现ERROR,数据溢出的情况下应该返回0。(错误) int reverse(int x){int y0;while(x!0){yy*10x%10;x/10; }return y; } 再解:加上数据溢出判断条件。(正确&#…

第六篇:MySQL图形化管理工具

经过前五篇的学习,对于数据库这门技术的理解,我们已经在心中建立了一个城堡大致的雏形,通过命令行窗口(cmd)快速上手了【SQL语法-DDL-数据定义语言】等相关命令 道阻且长,数据库技术这一宝藏中还有数不清的…

怎么使用ChatGPT提高工作效率?

怎么使用ChatGPT提高工作效率,这是一个有趣的话题。 相信不同的人有不同的观点,大家的知识背景和从事的工作都不完全相同,所以最终ChatGPT能起到的作用也不一样。 在编程过程中,如果我们要找一个库,我们最先做的肯定…

【FPGA】VHDL:八段码到8421BCD码转换电路

目录 EDA设计基础练习题 : 实验要求如下: 代码 八段码到8421BCD码转换电路 8421BCD码到八段码转换电路 八段码到8421BCD~运行结果展示 8421BCD转八段码~运行结果展示 特别注意 软件:Quartus II 13.0 (64-bit) 语言:VHDL E…

【python】网络爬虫与信息提取--Beautiful Soup库

Beautiful Soup网站:https://www.crummy.com/software/BeautifulSoup/ 作用:它能够对HTML.xml格式进行解析,并且提取其中的相关信息。它可以对我们提供的任何格式进行相关的爬取,并且可以进行树形解析。 使用原理:它能…

【GO语言卵细胞级别教程】05.项目创建和函数讲解

感谢!点点赞和评论呀!我将继续更新 目录: 感谢!点点赞和评论呀!我将继续更新0.创建项目1.函数的引入2.注意事项3.详细介绍3.1 形参介绍 4.导入包4.1 基本知识4.2 注意事项 5.init函数6.匿名函数 0.创建项目 创建目录 …

基于python深度学习的中文情感分析的系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…