首页 > 其他分享 >寻找PID系统优化参数问题的解决方案

寻找PID系统优化参数问题的解决方案

时间:2024-08-02 22:52:01浏览次数:12  
标签:maxY 系统优化 sysGz NaN PID 解决方案 tf sysY sysG

源代码:

 1 nump=[4];
 2 denp=[1 6 8 4];
 3 sysGp=tf(nump,denp);
 4 den=[1 0];
 5 t=0:0.01:8;
 6 for K=3:0.2:5
 7     for a=0.1:0.1:3
 8         num=[K 2*K*a K*a^2];
 9         sysG=tf(num,den);
10         sysGz=feedback(series(sysG,sysGp),1);
11         sysY=step(sysGz,t);
12         maxY=max(sysY);
13         if maxY<2.60 & maxY>2.55
14             plot(t,sysY);
15             grid;
16             title('Unit-Step Response');
17             xlabel('t(sec)');
18             ylabel('Output sysY');
19             solution=[K,a,maxY]
20             break
21         end
22     end
23     if maxY>2.55 & maxY<2.60
24         break;
25     end
26 end

代码非常简单,就是对给定传递函数的系统选择合适的PID控制参数,执行后,没有做图出来,很明显说明第13行的判断条件没有成立,但是,却得到了一个solution =5.0000 3.0000 2.9784错误的结果,主要原因是,前面所有循环执行后,也没有找到满足条件的点,系统就自作聪明的把最后一个点当成是结果返回了。而条件需要满足最大值在(2.55,2.60)的范围也明显违背了。为了解决这个问题,需要对循环的条件进行修改,代码如下:

 1 nump=[4];
 2 denp=[1 6 8 4];
 3 sysGp=tf(nump,denp);
 4 den=[1 0];
 5 t=0:0.01:8;
 6 for K=[3:0.2:5 NaN]
 7     for a=[0.1:0.1:3 NaN]
 8         num=[K 2*K*a K*a^2];
 9         sysG=tf(num,den);
10         sysGz=feedback(series(sysG,sysGp),1);
11         sysY=step(sysGz,t);
12         maxY=max(sysY);
13         if maxY<2.60 & maxY>2.55
14             plot(t,sysY);
15             grid;
16             title('Unit-Step Response');
17             xlabel('t(sec)');
18             ylabel('Output sysY');
19             %solution=[K,a,maxY]
20             break
21         end
22     end
23     if maxY>2.55 & maxY<2.60
24         break;
25     end
26 end
27 solution=[K,a,maxY]

solution =

NaN NaN NaN

这下结果就说明没有找到满足条件的值,说明需要进一步优化。经过试错,发现修改K与a的范围,这下就可以找到满足的条件的点了。当K=(0.4,5), 便能找到满足条件的点,代码如下:

 1 nump=[4];
 2 denp=[1 6 8 4];
 3 sysGp=tf(nump,denp);
 4 den=[1 0];
 5 t=0:0.01:8;
 6 for K=[0.4:0.2:5 NaN]
 7     for a=[0.1:0.1:3 NaN]
 8         num=[K 2*K*a K*a^2];
 9         sysG=tf(num,den);
10         sysGz=feedback(series(sysG,sysGp),1);
11         sysY=step(sysGz,t);
12         maxY=max(sysY);
13         if maxY<2.60 & maxY>2.55
14             plot(t,sysY);
15             grid;
16             title('Unit-Step Response');
17             xlabel('t(sec)');
18             ylabel('Output sysY');
19             %solution=[K,a,maxY]
20             break
21         end
22     end
23     if maxY>2.55 & maxY<2.60
24         break;
25     end
26 end
27 solution=[K,a,maxY]

输出波形如下:

发现系统并不稳定,单位阶跃响应是发散的,还有进一步优化的空间。

 

标签:maxY,系统优化,sysGz,NaN,PID,解决方案,tf,sysY,sysG
From: https://www.cnblogs.com/guochaoxxl/p/18339757

相关文章

  • 最大努力通知【分布式事务解决方案】
    优质博文:IT-BLOG-CN一、概述最大努力通知也是一种解决分布式事务的方案,下面是一个充值的例子:交互流程:【1】账户系统调用充值系统接口;【2】充值系统完成支付处理向账户系统发起充值结果通知,若通知失败,则充值系统按策略进行重复通知;【3】账户系统接收到充值结果通知修......
  • 从传统监控到智能化升级:EasyCVR视频汇聚平台的一站式解决方案
    随着科技的飞速发展和社会的不断进步,视频监控已经成为现代社会治安防控、企业管理等场景安全管理中不可或缺的一部分。而在视频监控领域,EasyCVR视频汇聚平台凭借其强大的多协议接入能力,在复杂多变的网络环境中展现出了卓越的性能和广泛的应用前景。一、EasyCVR视频汇聚平台的多协......
  • 从传统监控到智能化升级:EasyCVR视频汇聚平台的一站式解决方案
    随着科技的飞速发展和社会的不断进步,视频监控已经成为现代社会治安防控、企业管理等场景安全管理中不可或缺的一部分。而在视频监控领域,EasyCVR视频汇聚平台凭借其强大的多协议接入能力,在复杂多变的网络环境中展现出了卓越的性能和广泛的应用前景。一、EasyCVR视频汇聚平台的多协......
  • 探索在线教育平台开发:需求分析与云朵课堂解决方案
    一、深入剖析在线教育平台开发需求分析核心功能模块化讲师端:聚焦于教学创新与互动体验。支持高清视频直播、音频直播及图文教程发布;实时互动功能包括文字聊天、语音/视频连麦,以及教学白板与外设接入,让课堂生动有趣。此外,讲师还需具备课程管理、作业布置与批改、随堂测试设计、......
  • FlexibleBI工业智能质检系统:提升质量管理与生产效率的智能解决方案
    在现代制造业中,质量管理是至关重要的一环。我们的工业智能质检系统专注于通过人工智能赋能的预测分析,为客户提供全方位的质量控制和尺寸分析工具。该系统类似于市面上的高端质检软件,但我们强调的是完全自主可控和国产化的三坐标测量机(CMM)尺寸公差质量管理工具。本文将为您详细......
  • 常见的内存泄漏及其解决方案
    内存泄漏是Java开发中一个常见且令人头疼的问题,即使在使用垃圾回收机制的Java中,也无法完全避免内存泄漏的出现。当对象不再需要时却仍然占据着内存,导致内存使用量不断增加,最终可能导致OutOfMemoryError。本文将深入探讨Java中常见的内存泄漏及其解决方案,附带详细的代码示例,帮......
  • maven 常见问题及解决方案
    1.resolutionwillnotbereattempteduntiltheupdateintervalofnexus强制更新mvncleaninstall-U2.Couldnotfindartifact如果可以通过其他途径获取到相关的jar包,可以把jar包安装到本地仓库:示例:demo.jar包上传后,项目中设置的依赖为<dependency><gr......
  • Instrospect 推出全球首个 GDDR7 显存测试系统测试解决方案
    固态技术协会JEDEC于3月6日正式发布JESD239GDDR7显存标准,JESD239GDDR7提供的带宽是GDDR6的两倍,每台设备最高可达192GB/s。JESD239GDDR7是第一个使用脉幅调制(PulseAmplitudeModulation,PAM)接口进行高频操作的JEDEC标准DRAM。其PAM3接口提高了高频操......
  • 【问题解决方案】npm install报错问题:npm ERR! - 多种解决方案,总有一种可以解决
    @[toc]1.问题重述安装package.json里面的包,使用npminstall但是报错2.解决方案方案1.确认根目录正确确认自己的目录是根目录(也就是处于./package.json可以找到的位置)例如--根目录----package.json----其他文件----其他文件方案2.确认文件名正确确认自己的pack......
  • 汽车虚拟仿真应用存在的几大挑战及解决方案
    汽车虚拟仿真是指利用软件和数学模型,模拟汽车的设计、制造、测试和运行等过程,以及汽车与环境、驾驶员、乘客等的交互。汽车虚拟仿真可以帮助汽车工程师快速验证方案,优化性能,降低成本,提高安全性和可靠性。汽车虚拟仿真广泛应用于汽车设计、制造、测试和运行等多个领域。在设计方......