Fuzzysimulink有关模糊PID问题概述-自适应模糊PID.rar最近很多人问我关于模糊PID的问题,我就把模糊PID的问题综合了一下,希望对大家有所帮助。
一、模糊PID就是指自适应模糊PID吗?不是,通常模糊控制和PID控制结合的方式有以下几种:1、大误差范围内采用模糊控制,小误差范围内转换成PID控制的模糊PID开关切换控制。
2、PID控制与模糊控制并联而成的混合型模糊PID控制。
3、利用模糊控制器在线整定PID控制器参数的自适应模糊PID控制。
一般用1和3比较多,MATLAB自带的水箱液位控制tank采用的就是开关切换控制。
由于自适应模糊PID控制效果更加良好,而且大多数人选用自适应模糊PID控制器,所以在这里主要指自适应模糊PID控制器。
二、自适应模糊PID的概念根据PID控制器的三个参数与偏差e和偏差的变化ec之间的模糊关系,在运行时不断检测e及ec,通过事先确定的关系,利用模糊推理的方法,在线修改PID控制器的三个参数,让PID参数可自整定。
就我的理解而言,它最终还是一个PID控制器,但是因为参数可自动调整的缘故,所以也能解决不少一般的非线性问题,但是假如系统的非线性、不确定性很严重时,那模糊PID的控制效果就会不理想啦。
三、模糊PID控制规则是怎么定的?这个控制规则当然很重要,一般经验:当e较大时,为使系统具有较好的跟踪功能,应取较大的Kp与较小的Kd,同时为避免系统响应出现较大的超调,应对积分作用加以限制,通常取Ki=0。
当e处于中等大小时,为使系统响应具有较小的超调,Kp应取得小些。
在这种情况下,Kd的取值对系统响应的影响较大,Ki的取值要适当。
当e较小时,为使系统具有较好的稳定功能,Kp与Ki均应取得大些,同时为避免系统在设定值附近出现振荡,Kd值的选择根据|ec|值较大时,Kd取较小值,通常Kd为中等大小。
另外主要还得根据系统本身的特性和你自己的经验来整定,当然你先得弄明白PID三个参数Kp,Ki,Kd各自的作用,尤其对于你控制的这个系统。
四、量化因子Ke,Kec,Ku该如何确定?有个一般的公式:Ke=n/e,Kec=m/ec,Ku=u/l。
n,m,l分别为Ke,Kec,Ku的量化等级,一般可取6或7。
e,ec,u分别为误差,误差变化率,控制输出的论域。
不过通过我实际的调试,有时候这些公式并不好使。
所以我一般都采用凑试法,根据你的经验,先确定Ku,这个直接关系着你的输出是发散的还是收敛的。
再确定Ke,这个直接关系着输出的稳态误差响应。
最后确定Kec,前面两个参数确定好了,这个应该也不会难了。
五、在仿真的时候会出现刚开始仿真的时候时间进度很慢,从e-10次方等等开始,该怎么解决?这时候肯定会有许多人跳出来说是步长的问题,等你改完步长,能运行了,一看结果,惨不忍睹!我只能说这个情况有可能是你的参数有错误,但如果各项参数是正确的前提下,你可以在方框图里面加饱和输出模块或者改变阶跃信号的sampletime,让不从0开始或者加个延迟模块或者加零阶保持器看看……六、仿真到一半的时候仿真不动了是什么原因?仿真图形很有可能发散了,加个零阶保持器,饱和输出模块看看效果。
改变Ke,Kec,Ku的参数。
七、仿真图形怎么反了?把Ku里面的参数改变一下符号,比如说从正变为负。
模糊PID的话改变Kp的就可以。
八、还有人问我为什么有的自适应模糊PID里有相加的模块而有的没有?相加的是与PID的初值相加。
最后出来的各项参数Kp=△KpKp0,Ki=△KiKi0,Kd=△KdKd0。
Kp0,Ki0,Kd0分别为PID的初值。
有的系统并没有设定PID的初值。
九、我照着论文搭建的,什么都是正确的,为什么最后就是结果不对?你修改下参数或者重新搭建一遍。
哪一点出了点小问题,都有可能导致失败。
……大家还有什么问题就在帖子后面留言哈,如果模型实在是搭建不成功的话可以给我看看,大家有问题一起解决!附件里面是两个自适应模糊PID的程序,大家可以参考下!所含文件:Figure38.jpgsimulink有关模糊PID问题概述结构图:Figure39.jpgsimulink有关模糊PID问题概述Figure40.jpgsimulink有关模糊PID问题概述
2022/9/4 9:33:16 17KB matlab
1
程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。
游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。
要求:①老鼠抽象可辨认,可用键盘操纵老鼠上下左右移动;
②迷宫的墙足够结实,老鼠不能穿墙而过;
③正确检测结果,若老鼠在规定时间内走到粮仓处,提示成功,否则提示失败;
④添加编辑迷宫功能,可修改当前迷宫,修改内容:墙变路、路变墙;
⑤找出走出迷宫的所有路径,以及最短路径。
利用序列化功能实现迷宫地图文件的存盘和读出等功能
1
提供的是本书的课后习题源代码,也就是《C++程序设计语言(特别版)题解》的源代码。
非书中源代码。
本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。
基本信息原书名:TheC++ProgrammingLanguage,SpecialEdition原出版社:AddisonWesley作者:(美)BjarneStroustrup译者:裘宗燕丛书名:计算机科学丛书出版社:机械工业出版社ISBN:7111102029上架时间:2002-7-12出版日期:2002年7月页码:936版次:1-1内容简介  本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。
标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。
本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。
本书的目的就是协助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。
适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。
[center][ahref=http://www.china-pub.com/main/sale/c++tb.htmtarget=_blank]c++之父bjarnestroustrup博士专访[/a]  [ahref="http://www.is.pku.edu.cn/~qzy/cpp.htm"target="_blank"]《c++程序设计语言》程序的更正和更新[/a]  [ahref="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip"target="_blank"]本书忠告[/a][/center]作译者作者:BjarneStroustrupBjarneStroustrup现任AT&T实验室的大型程序设计研究部的主管。
1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。
1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的GraceMurrayHopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。
1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。
[同作者作品]C++程序设计语言(特别版)(英文影印版)C++语言的设计和演化[按需印刷]C++程序设计语言(特别版)译者:裘宗燕知名译者,翻译严谨,喜与读者交流。
  裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。
已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999)[同作者作品]计算机基础教程(上下)(文科类)(裘宗燕等)数据结构——C++与面向对象的途径数据结构--C++与面向对象的途径(修订版)目录出版者的话专家指导委员会中文版序译者序序第2版序第1版序导论第1章致读者31.1本书的结构31.1.1例子和参考41.1.2练习51.1.3有关实现的注记51.2学习c++61.3c++的设计71.3.1效率和结构81.3.2哲学注记91.4历史注记91.5c++的使用111.6c和c++12.1.6.1给c程序员的建议131.6.2给c++程序员的建议131.7有关在c++里编程的思考141.8忠告151.9参考文献16第2章c++概览192.1为什么是c++192.2程序设计范型192.3过程式程序设计202.3.1变量和算术212.3.2检测和循环222.3.3指针和数组232.4模块程序设计232.4.1分别编译242.4.2异常处理252.5数据抽象262.5.1定义类型的模块272.5.2用户定义类型282.5.3具体类型292.5.4抽象类型312.5.
2018/11/14 3:03:41 695KB C++ 程序设计语言 特别版 课后习题
1
指南Antmove-小程序转换器,基于支付宝/微信小程序转换为多端小程序,让小程序跨平台开发变得简单。
一键实现小程序转换迁徙,不再为重复开发而烦恼。
特性简单易使用,一键转换配套详细的编译时日志/运行时日志工具编译生成代码可读性强,可二次编程二次编译支持组件转换支持文档安装VsCode扩展安装在vscode扩展中搜索Antmove下载安装Antmovevscode转换插件实现一键转换。
命令行安装我们推荐使用npm或yarn的方式进行开发,不只可在开发环境轻松调试,也可放心地在生产环境打包部署使用,享受整个生态圈和工具链带来的诸多好处。
全局安装$npminstallantmove-g或$yarnglobaladdantmove本地安装$npminstallantmove--save或$yarna
2015/8/10 7:03:26 29.28MB 微信 小程序
1
MinGW,是MinimalistGNUforWindows的缩写。
它是一个可自在使用和自在发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(CRuntime)库。
MinGW是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(CRuntime)库(MSVCRT.DLL),该库在所有的NTOS上有效,在所有的Windows95发行版以上的WindowsOS有效,使用基本运行时,你可以使用GCC写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的C运行时(CRuntime)扩展,与基本运行时相结合,就可以有充分的权利既使用CRT(CRuntime)又使用WindowsAPI功能。
2016/6/5 12:14:18 918KB mingw 64
1
最近给单位做了一个业务下单系统,由于在全球几个国家都有业务办事处,所以下单系统做的是多语言界面的我实现多语言是利用了ASP.NET2.0的资源文件,其实据我所知除了资源文件的方式,在数据库里面建多个表中进行一个区域文化映射,也是解决国际化的一种方式(关于这种方式感兴味的朋友可以自己试试)现在我把实现国际化用到的相关知识总结如下:在总结全球化知识前,先来了解一个名词:表达式语法表达式语法格式:它是ASP.NET2.0新增了一种声明性表达式语法,可在分析页之前将值替换到页中.ASP.NET表达式是基于运行时计算的信息设置控件属性的一种声明性方式.ASP.NET表达式主要应用在:连接字符串,应用程序设置,资源文件等地方.ASP.NET表达式的基本语法如下:其实实现是比较简单的,只需要下面几个步骤1.创建全局资源表2.在session中存放表示当前的culture的变量,如“en-us”,"zh-cn"3.创建所有页面的基类PageBase,覆盖InitializeCulture函数4.页面上的文本值,表达式语法赋值
2021/2/16 20:34:19 9KB .Net源码-其它源码
1
1.领域:matlab,SVD,EVD,GMD以及SIC算法2.内容:【提供操作视频】大规模MIMO预编码算法matlab仿真,包括SVD,EVD,GMD以及SIC等3.用处:用于SVD,EVD,GMD以及SIC算法编程学习4.指向人群:本硕博等教研学习使用5.运行留意事项:使用matlab2021a或者更高版本测试,运行里面的Runme_.m文件,不要直接运行子函数文件。
运行时留意matlab左侧的当前文件夹窗口必须是当前工程所在路径。
具体可观看提供的操作录像视频跟着操作。
2016/6/3 11:10:15 399KB 大规模MIMO 预编码算法 SVD EVD
1
matlab将的图片拼合代码运动的两视图结构如何运行:为了使该程序平稳运行,请确保您的Matlab版本具有计算机视觉工具箱。
result文件夹包含最终对象。
层模型显示在程序的末尾,但是您也可以在任何3D软件(例如Blender或Meshlab)中查看它。
为了用户的温馨,建议将背景颜色从黑色更改为较浅的颜色(例如绿色)。
要启动该程序,请运行文件main.m在运行时,将显示图像的关键和匹配功能以及最终生成的3D点云的图形。
该程序的主要步骤:解密本征矩阵文本文件。
提取并匹配两个图像的关键特征。
估计然后分解基本矩阵。
将匹配的点三角剖分成3D模型。
创建最终的PLY模型。
如何制作自己的模型:从相似但不同的视图中拍摄同一对象的两张图片。
建议水平方向。
使用Matlab工具箱校准相机,然后将生成的本征矩阵写入一个名为intrinsic.txt的文件中,该文件必须与两个图像放置在同一文件夹中。
在第4行上添加图像的尺寸。
将它们放在同一文件夹中,然后修改main.m以指向图像。
添加如下代码:Structure_from_Motion(image1Path,image
2019/3/7 21:16:22 14.42MB 系统开源
1
源代码+ppt+算法思维导图实验目的编写先来先服务算法,短进程优先调度算法,时间片轮转算法。
给出程序中使用的数据结构及符号说明给出程序流程图和源程序,源程序中要附有详细的正文输入:时间片,五个进程的进程名、到达时间、服务时间输出:打印程序运行时的初值和运行结果,要求如下:(1)选中运行进程的名;
(2)计算平均周转时间和带权平均周转时间。
总结收获体会及对该题解的改进意见和见解
2019/7/27 16:52:01 14.72MB 操作系统 进程调度 c语言
1
VisualStudio2019功能(1)输入一个逻辑页面访问序列和随机产生逻辑页面访问序列,由四个线程同时完成每个算法;
//(2)能够设定驻留内存页面的个数;
(3)能够随机输入存取的逻辑页面的页号序列;
(4)能够随机产生存取的逻辑页面的页号序列;
//(5)能够设定页号序列中逻辑页面个数和范围;
(6)提供良好图形界面,同时能够展现四个算法运行的结果;
(7)给出每种页面置换算法每个页面的存取时间;
(8)能够将每次的实验输入和实验结果存储起来,下次运行时或以后可查询;
(9)完成多次不同设置的实验,总结实验数据,看看能得出什么结论。
2021/8/9 12:30:28 111.38MB C++ 操作系统 置换算法 MFC
1
共 359 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡