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

news2024/11/27 18:24:57

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 == 1
    fobj = @(x)ISE_object(x);   %平方误差积分
elseif xz == 2
    fobj = @(x)ITAE_object(x);  %时间乘以绝对误差积分
elseif xz == 3
    fobj = @(x)ITSE_object(x);  %时间乘方误差积分
elseif xz == 4
    fobj = @(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.coloradmin.cn/o/1448586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ros自定义msg记录

文章目录 自定义msg1. 定义msg文件2. 修改 package.xml3. 修改 CMakeLists.txt4. message_publisher.py5. message_subscriber.py6. 运行 catkin build 测试 自定义msg ros 版本:kinetic 自定义test包的文件结构如下 |-- test | |-- CMakeLists.txt | |-- msg…

基于Spring Boot的美容院管理系统设计与实现,计算机毕业设计(带源码+论文)

源码获取地址: 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1757434902285987841

算法学习——LeetCode力扣回溯篇2

算法学习——LeetCode力扣回溯篇2 40. 组合总和 II 40. 组合总和 II - 力扣(LeetCode) 描述 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字…

Spring 中修改 Banner

大家好我是苏麟 , 今天聊一个有意思的东西 . Banner 启动 Spring时,几乎总是能在控制台上方看到如下横幅,这个也叫字符画、英文ASCII艺术字 设置Banner的网站 http://www.network-science.de/ascii/ http://patorjk.com/software/taag/ 在创建resources下…

(免费领源码)Java#mysql牙科诊所预约系统75174-计算机毕业设计项目选题推荐

摘 要 随着互联网时代的到来,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个B/S结构的牙科诊所预约系统,会使牙科诊所预约系统的管理工作系统化、规范化,也会提高平台形象,提高管…

Flaurm实现中文搜索

目录 摘要需求本文涉及环境情况如下解决方案最终效果文章其他链接: 摘要 Flarum本身对中文支持并不理想,但随着版本更新,逐渐加强了对中文的优化。然而在1.8.5版本,却还是不支持中文搜索网站文章内容。作者在检索了全网教程&#…

Hive on Spark配置

前提条件 1、安装好Hive,参考:Hive安装部署-CSDN博客 2、下载好Spark安装包,链接:https://pan.baidu.com/s/1plIBKPUAv79WJxBSbdPODw?pwd6666 3、将Spark安装包通过xftp上传到/opt/software 安装部署Spark 1、解压spark-3.3…

【Typora】markdown神器之Typora无限使用安装与基本操作教程

🌼一、概述 Typora是一款轻量级的Markdown编辑器,它提供了简洁的界面和直观的操作方式,专注于让用户更加专注于写作。Typora支持实时预览功能,用户在编辑Markdown文档时可以即时看到最终的样式效果,这有助于提高写作效…

基于CU,PO,RD,IPO矩阵图分析数据资产-自创

术语 数据资产:数据资产是具有价值的数据资源。没有价值的数据资源,通过采集,整理,汇总等加工后,也可以成为具有直接或间接价值的数据资产。传统企业逐渐数字化转型,尤其是互联网企业,都十分重视…

pm2启动的node项目访问不了,npm start却可以访问

netstat -ntlp输入该命令,查看启动的服务端口是否有被监听到,如3001,4000之类的,是node项目启动时候自己配的那个, 若没有,则执行 pm2 delete [app-id/app-name] 先删除启动的这个项目 例如pm2 delete my…

猫头虎分享已解决Bug || TypeError: Cannot read property ‘length‘ of undefined ‍

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

黑马Java——集合进阶(不可变集合、Stream流、方法引用)

目录 一、不可变集合 1、创建不可变集合的应用场景 2、创建不可变集合的书写格式 2.1、不可变的List集合 2.2、不可变的Set集合 2.3、不可变的Map集合 3、小结 二、Stream流 1、体验Stream流的作用 2、Stream流的思想 3、Stream流的使用步骤 3.1、单列集合获取Strea…

1232.缀点成线(Java)

题目描述: 给定一个数组 coordinates ,其中 coordinates[i] [x, y] , [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。 输入: coordinates [[1,2],[2,3],[3,4],[4,5]…

[计算机提升] 备份系统:设置备份

6.5 备份系统:设置备份 1、进入到控制面板系统和安全\备份和还原,点击右侧的设置备份: 2、在弹出的设置备份对话框中,选择要保存的位置,点击下一步开始备份。 3、选择要备份的内容。根据需要选择即可。这种备份的…

Linux_动静态库

动态库 静态库 刚开始学编程时,需要下载一个环境(vs2019),这个环境包括编译器和标准库,标准头文件。那么什么是库呢,库和头文件有什么关系呢? 头文件里面放的函数声明,库文件里面放…

MacOS - M1芯片 Mac 在“恢复”模式中启用系统扩展教程

部分软件需要开启系统扩展才能正常使用,但是默然M1芯片的Mac不能直接打开系统扩展,如下两图。 若要启用系统扩展,您需要在“恢复”环境中修改安全性设置。 若要执行此操作,请将系统关机,然后按住触控ID或电源按钮以开…

中国判决生效,诺基亚全面与中国手机签署授权协议,降低专利费

日前媒体报道指诺基亚与中国两家手机企业都签署了专利授权协议,全面结束诉讼,而这一切正是在OPPO于去年底在重庆法院就OPPO与诺基亚的专利费诉讼问题,做出裁决之后,要求诺基亚按公平、公正等合理收费原则收取专利费。 这几年诺基亚…

猫头虎分享已解决Bug || ImportError: cannot import name ‘relu‘ from ‘keras.layers‘

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

无人机飞行控制系统功能,多旋翼飞行控制系统概述

飞行控制系统存在的意义 行控制系统通过高效的控制算法内核,能够精准地感应并计算出飞行器的飞行姿态等数据,再通过主控制单元实现精准定位悬停和自主平稳飞行。 在没有飞行控制系统的情况下,有很多的专业飞手经过长期艰苦的练习&#xff0…

Git基础命令,分支,标签的使用【快速入门Git】

Git基础命令,分支,标签的使用【快速入门Git】 Git基础常用命令Git工作流程工作区,暂存区和版本库文件状态获取Git仓库 git init | git clone查看文件状态 git status暂存已修改的文件 git add 查看已暂存和未暂存的修改 git diff提交文件更改…