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.mzph.cn/news/681617.shtml

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

相关文章

【开源】JAVA+Vue+SpringBoot实现毕业生追踪系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登陆注册模块2.2 学生基本配置模块2.3 就业状况模块2.4 学历深造模块2.5 信息汇总分析模块2.6 校友论坛模块 三、系统设计3.1 用例设计3.2 实体设计 四、系统展示五、核心代码5.1 查询我的就业状况5.2 初始化就业状况5.…

《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)

文章目录 6.1 CI/CD基础6.1.1 基础知识讲解6.1.2 重点案例:为 Python Web 应用实现 CI/CD6.1.3 拓展案例 1:自动化部署到云平台6.1.4 拓展案例 2:使用 Docker 容器化部署 6.2 Git 与自动化测试6.2.1 基础知识讲解6.2.2 重点案例:为…

numpy 查漏补缺

1. iterating 2. 3. 4. 5. 6. 7. 8. 9.

Hive的CTE 公共表达式

目录 1.语法 2. 使用场景 select语句 chaining CTEs 链式 union语句 insert into 语句 create table as 语句 前言 Common Table Expressions(CTE):公共表达式是一个临时的结果集,该结果集是从with子句中指定的查询派生而来…

Java缓冲流——效率提升深度解析

前言 大家好,我是chowley,在我之前的项目中,用到了缓冲流来提高字符流之间的比较速度,缓冲流的主要作用类似于数据库缓存,提高IO操作效率。 缓冲流 在Java的输入输出操作中,缓冲流是提高性能的重要工具之…

15 OpenGL可编程片段处理

可编程片段处理 Programmable Fragment Processing 在图形渲染过程中,当当前片段阶段(fragment stage)使用的是包含有片段着色器(fragment shader)的程序对象时,该着色器将被激活并负责处理光栅化生成的片…

【HTML】情人节给npy一颗炫酷的爱心

闲谈 兄弟们,这不情人节快要到了,我该送女朋友什么🎁呢?哦,对了,差点忘了,我好像没有女朋友。不过这不影响我们要过这个节日,我们可以学习技术。举个简单的🌰&#xff1…

关于少样本学习、零样本学习、单样本学习中的support set和query set的概念解析

梳理一下关于少样本学习(如few-shot learning)、零样本学习(zero-shot learning)、单样本学习(one-shot learning)中的support set和query set的概念,以及为何测试集中会涉及到“unseen”&#…

Linux_进程

进程创建 进程退出码 进程等待 程序替换 Shell作为命令行解释器是一个进程,它也有自己的数据结构task_struct和代码和数据。为了防止用户输入的指令造成Shell崩溃,所以Shell执行用户输入的指令是通过创建一个子进程来执行的。例如lspwd等等。 一.进程…

数据工程工程师学习路线图

数据工程岗位要求 Skill Sets required: - Hands on experience enabling data via Adobe Analytics and/or Google Analytics - Understanding of how customer level data is captured and stitched with behavioural data - Experience working with Testing (QA) and D…

浏览器内核的主要功能模块介绍

浏览器内核是浏览器的核心部分,负责解析网页内容、渲染页面和处理用户交互。一个典型的浏览器内核主要包括以下几个功能模块: 1. **解析器(Parser)**: 解析器负责解析网页内容,包括HTML…

Django学习全纪录:Django开发环境的搭建

导言 对于Django,它是Python的一个开发框架,之前系统地学习过。遗憾的是,对于一些遇到的问题,没有及时地记录下来。因此,我将它重新捡起,进行学习和实践。从搭建环境开始,重新去学习它,期望可以从开发的角度,重新理解软件测试的工作。在今后的测试生涯中,如虎添翼。 …

【Java 数据结构】泛型进阶

泛型 1 什么是泛型2 引出泛型2.1 语法 3 泛型类的使用3.1 语法3.2 示例3.3 类型推导(Type Inference) 泛型是如何编译的擦除机制裸类型4 泛型的上界4.1 语法4.2 示例4.3 复杂示例 5 泛型方法5.1 定义语法5.2 示例5.3 使用示例-可以类型推导5.4 使用示例-不使用类型推导 6 通配符…

【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表

目录 表3-1:定点滤波器功能 表3-2:定点快速傅里叶变换(FFT)函数 表3-3:定点数学函数 表3-4:定点三角函数 表3-5:定点向量函数 表3-6:定点矩阵函数 表3-7:浮点滤波…

如何在极低成本硬件上落地人工智能算法 —— 分布式AI

一、背景 分布式AI的发展前景非常广阔,随着5G、6G等高速网络通信技术的普及和边缘计算能力的提升,以及AI算法和硬件的不断优化进步,分布式AI将在多个领域展现出强大的应用潜力和市场价值: 1. **物联网(IoT&#xff0…

react【四】css

文章目录 1、css1.1 react和vue css的对比1.2 内联样式1.3 普通的css1.4 css modules1.5 在react中使用less1.6 CSS in JS1.6.1 模板字符串的基本使用1.6.2 styled-components的基本使用1.6.3 接受传参1.6.4 使用变量1.6.5 继承样式 避免代码冗余1.6.6 设置主题色 1.7 React中添…

正月初五迎财神

大家好,我是小悟 正月初五,人们在这一天迎接财神,祈求财运亨通、事业顺利。按照习俗,家家户户都会燃放鞭炮、点灯笼、摆设祭品,以示虔诚。 早晨,太阳刚刚升起,大家便早早起床,开始准…

【数据存储+多任务爬虫】

数据存储 peewee模块 第三方模块,也需要在cmd中安装。 from peewee import *db MySQLDatabase("spider",host"127.0.0.1",port3306,userroot,password123456 )# 类》表 class Person(Model):name CharField(max_length20) # 类型/约束bi…

核心篇-OSPF技术之序(中)

文章目录 一. 实验专题1.1. 实验1:配置多区域OSPF1.1.1. 实验目的1.1.2. 实验拓扑1.1.3. 实验步骤(1)配置地址(2)运行OSPF 1.1.4. 实验调试(1)查看路由器信息(2)创建环回…

Spring Boot 笔记 010 创建接口_更新用户头像

1.1.1 usercontroller中添加updateAvatar,校验是否为url PatchMapping("updateAvatar")public Result updateAvatar(RequestParam URL String avatarUrl) {userService.updateAvatar(avatarUrl);return Result.success();} 1.1.2 userservice //更新头像…