【精品课设】经典PID与专家PID控制的对比与分析(二)

2024-01-19 00:50

本文主要是介绍【精品课设】经典PID与专家PID控制的对比与分析(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【精品课设】经典PID与专家PID控制的对比与分析(二)

目录

  • 【精品课设】经典PID与专家PID控制的对比与分析(二)
    • 1经典PID控制的设计与仿真
      • 1.1 被控对象传递函数的设计
      • 1.2 经典PID控制的仿真
    • 2专家PID控制的设计
      • 2.1 专家PID控制律的设计
      • 2.2 专家PID控制的仿真结果
    • 3仿真对比与分析


写在前面-研究背景:

 1.本代码基于MATLAB2019a版本,低版本或者不同版本可能会报错,mdl文件或slx文件打开可能会失败;
 2.如果运行时间过长,请观察设置参数是否一致。
 3.本博客附上算法运行图并详细介绍,如果转载请注明出处;
 4.如果本博客恰巧与您的研究有所关联,欢迎您的咨询qq1366196286


1经典PID控制的设计与仿真

   经典PID控制的设计与仿真可参照上一篇博客,【精品课设】经典PID与模糊PID控制的对比与分析(一)

1.1 被控对象传递函数的设计

   被控对象的传递函数为:

在这里插入图片描述

1.2 经典PID控制的仿真

Traditional_PID.m

clc,
close all;
clear all; %#ok<CLALL>
warning off;rin = 1.0; % 设定系统的参考输入量-单位阶跃响应
ts=0.001; %设置系统采样的时间--运行时间1.0ssys=tf(5.235e005,[1, 87.35, 1.047e004, 0]); %设置被控对象的传递函数dsys=c2d(sys,ts,'tustin');    %离散化处理-Z域
[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0; % 系统初始值的0初始化
y_1=0;y_2=0;y_3=0;x=[0,0,0]';  %中间变量的初始化
e_1=0; %对误差的初始化
ec_1=0;%% 未进行整定
kp0=0.90; % PID控制参数的大小
ki0=0.05;
kd0=0.2;% 对系统进行建模
for k=1:1:1000time(k)=k*ts;
% r(k)=sign(sin(2*pi*k*ts)); %%脉冲输入
r(k)=rin; %%单位阶跃输入u(k)=kp0*x(1)+ki0*x(2)+kd0*x(3);% if k==300     % Adding disturbance(1.0v at time 0.3s)施加干扰量
%    u(k)=u(k)+1.0;
% endy(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u(k)+num(2)*u_1+num(3)*u_2+num(4)*u_3;
e(k)=r(k)-y(k);
%%%%%%%%%%%%%%Return of PID parameters%%%%%%%%%%%%%%%u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=y(k);x(1)=e(k);            % Calculating Px(2)=e(k)-e_1;        % Calculating Dx(3)=x(3)+e(k)*ts;    % Calculating Iec_1=x(2);e_2=e_1;e_1=e(k);
end
%% 绘制响应输出
clf,
figure(1);
plot(time,r,'b',time,y,'r');
xlabel('time(s)');ylabel('rin,yout');

程序运行结果图如下:
在这里插入图片描述


2专家PID控制的设计

2.1 专家PID控制律的设计

   专家系统主要由知识库和推理机构成,专家系统的结构如图1所示。

在这里插入图片描述
图1 专家系统的结构图

   专家PID控制实质是:基于受控对象和控制规律的各种知识,无须知道被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直接型专家控制器。其中,直接型专家控制器,如图2所示。

在这里插入图片描述
图2 直接型专家控制器的结构图

   具体实现过程可参照《智能控制》书中P12-P13页。

在这里插入图片描述

2.2 专家PID控制的仿真结果

在这里插入图片描述
图3 PID控制阶跃响应的输出曲线

在这里插入图片描述
图4 误差响应曲线


3仿真对比与分析

  将专家PID控制与传统PID控制的输出响应进行对比,可得:

在这里插入图片描述

  将专家PID控制、模糊PID控制与传统PID控制的输出响应进行对比,可得:

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

这篇关于【精品课设】经典PID与专家PID控制的对比与分析(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/620793

相关文章

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维