如何对PID实现同步控制,什么样可以实现呢?
在工业控制中,PID控制(比例-积分-微分控制)得到了广泛的应用,这是因为PID控制具有以下优点:01不需要知道被控对象的数学模型。
实际上大多数工业对象准确的数学模型是无法获得的,对于这一类系统,使用PID控制可以得到比较满意的效果。据日本统计,目前PID及变型PID约占总控制回路数的90%左右。
02PID控制器具有典型的结构,程序设计简单,参数调整方便。
03有较强的灵活性和适应性,根据被控对象的具体情况,可以采用各种PID控制的变种和改进的控制方式,如PI、PD、带死区的PID、积分分离式PID、变速积分PID等。
随着智能控制技术的发展,PID控制与模糊控制、神经网络控制等现代控制方法相结合,可以实现PID控制器的参数自整定,使PID控制器具有经久不衰的生命力。
二,PLC实现PID控制的方法如图所示为采用PLC对模拟量实行PID控制的系统结构框图。
用PLC对模拟量进行PID控制时,可以采用以下几种方法:如图用PLC实现模拟量PID控制的系统结构框图使用PID过程控制模块。
这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户在使用时只需要设置一些参数,使用起来非常方便,一块模块可以控制几路甚至几十路闭环回路。
但是这种模块的价格昂贵,一般在大型控制系统中使用。如三菱的A系列、Q系列PLC的PID控制模块。
三,FX2N的PID指令PID指令的编号为FNC88,如图6-36所示源操作数[S1]、[S2]、[S3]和目标操作数[D]均为数据寄存器D,16位指令,占9个程序步。
[S1]和[S2]分别用来存放给定值SV和当前测量到的反馈值PV,[S3]~[S3]+6用来存放控制参数的值,运算结果MV存放在[D]中。源操作数[S3]占用从[S3]开始的25个数据寄存器。
如图PID指令PID指令是用来调用PID运算程序,在PID运算开始之前,应使用MOV指令将参数(见表6-3)设定值预先写入对应的数据寄存器中。如果使用有断电保持功能的数据寄存器,不需要重复写入。
如果目标操作数[D]有断电保持功能,应使用初始化脉冲M8002的常开触点将其复位。表6-3PID控制参数及设定ID指令可以同时多次使用,但是用于运算的[S3]、[D]的数据寄存器元件号不能重复。
PID指令可以在定。
谷歌人工智能写作项目:小发猫
什么是PID调节器,并举例说明P、I、D的调节作用。
PID调节器是一个在工业控制应用中常见的反馈回路部件,PID是以它的三种纠正算法而命名的深度神经网络参数个数,深度神经网络层数。这三种算法都是用加法调整被控制的数值。而实际上这些加法运算大部分变成了减法运算因为被加数总是负值。
以下是PID的调节作用举例:1.比例-来控制当前,误差值和一个负常数P(表示比例)相乘,然后和预定的值相加。P只是在控制器的输出和系统的误差成比例的时候成立。
这种控制器输出的变化与输入控制器的偏差成比例关系。比如说,一个电热器的控制器的比例尺范围是10°C,它的预定值是20°C。
那么它在10°C的时候会输出100%,在15°C的时候会输出50%,在19°C的时候输出10%,注意在误差是0的时候,控制器的输出也是0。
2.积分-来控制过去,误差值是过去一段时间的误差和,然后乘以一个负常数I,然后和预定值相加。I从过去的平均误差值来找到系统的输出结果和预定值的平均误差。
一个简单的比例系统会振荡,会在预定值的附近来回变化,因为系统无法消除多余的纠正。通过加上一个负的平均误差比例值,平均的系统误差值就会总是减少。所以,最终这个PID回路系统会在预定值定下来。
3.微分 -来控制将来,计算误差的一阶导,并和一个负常数D相乘,最后和预定值相加。这个导数的控制会对系统的改变作出反应。导数的结果越大,那么控制系统就对输出结果作出更快速的反应。
这个D参数也是PID被称为可预测的控制器的原因。D参数对减少控制器短期的改变很有帮助。一些实际中的速度缓慢的系统可以不需要D参数。
扩展资料:用更专业的话来讲,一个PID控制器可以被称作一个在频域系统的滤波器。这一点在计算它是否会最终达到稳定结果时很有用。
如果数值挑选不当,控制系统的输入值会反复振荡,这导致系统可能永远无法达到预设值。
小菜求学 PID 5
。
-sptr->Integral*sptr->LastError//E[k-1]项+sptr->Derivative*sptr->PrevError;//E[k-2]项//存储误差,用于下次计算sptr->PrevError=sptr->LastError;sptr->LastError=iError;//返回增量值return(iIncpid);}====================================================================================================自动控制算法的学习笔记(PID控制)待续2009-04-2811:13最近被逼无奈要搞ROBOCUP的路径规划,在控制上遇到这个经典的算法,故总结了书上以及网上的资料......1.PID调试步骤没有一种控制算法比PID调节规律更有效、更方便的了。
现在一些时髦点的调节器基本源自PID。甚至可以这样说:PID调节器是其它控制调节算法的基础。为什么PID应用如此广泛、又长久不衰?
因为PID解决了自动控制理论所要解决的最基本问题,既系统的稳定性、快速性和准确性。
调节PID的参数,可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在PID调节器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样系统阶跃响应的稳态误差就为零。
由于自动控制系统被控对象的千差万别,PID的参数也必须随之变化,以满足系统的性能要求。这就给使用者带来相当的麻烦,特别是对初学者。
下面简单介绍一下调试PID参数的一般步骤:1.负反馈自动控制理论也被称为负反馈控制理论。首先检查系统接线,确定系统的反馈为负反馈。
例如电机调速系统,输入信号为正,要求电机正转时,反馈信号也为正(PID算法时,误差=输入-反馈),同时电机转速越高,反馈信号越大。其余系统同此方法。
2.PID调试一般原则a.在输出不振荡时,增大比例增益P。b.在输出不振荡时,减小积分时间常数Ti。c.在输出不振荡时,增大微分时间常数Td。
3.一般步骤a.确定比例增益P确定比例增益P时,首先去掉PID的积分项和微分项,一般是令Ti=0、Td=0(具体见PID的参数设定说明),使PID为纯比例调节。
输入设定为系统允许的最大值的60%~70%,由0逐渐加大比例增益P,直至系统出现振荡;再反过来,从此时的比例增益P逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID的比例增益P为当前值的60%~70%。
比例增益P调试完成。b.确定积分时间常数Ti比例增益P确定后,设定一个较大的积分时间常数Ti的初值,然后逐渐减小Ti,直至系统出现振荡,之后在反过来,逐渐加大Ti,直至系统振荡消失。
记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。积分时间常数Ti调试完成。c.确定积分时间常数Td积分时间常数Td一般不用设定,为0即可。
若要设定,与确定P和Ti的方法相同,取不振荡时的30%。d.系统空载、带载联调,再对PID参数进行微调,直至满足要求。
2.PID控制简介目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。
智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。
控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。
比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。
目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(intelligentregulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。
有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。
可编程控制器(PLC)是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。
还有可以实现PID控制功能的控制器,如Rockwell的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。
1、开环控制系统开环控制系统(open-loopcontrolsystem)是指被控对象的输出(被控制量)对控制器(controller)的输出没有影响。
在这种控制系统中,不依赖将被控量反送回来以形成任何闭环回路。
2、闭环控制系统闭环控制系统(closed-loopcontrolsystem)的特点是系统被控对象的输出(被控制量)会反送回来影响控制器的输出,形成一个或多个闭环。
闭环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈(NegativeFeedback),若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又称负反馈控制系统。
闭环控制系统的例子很多。比如人就是一个具有负反馈的闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后作出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。
另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个闭环控制系统。
3、阶跃响应阶跃响应是指将一个阶跃输入(stepfunction)加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后﹐系统的期望输出与实际输出之差。
控制系统的性能可以用稳、准、快三个字来描述。
稳是指系统的稳定性(stability),一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的﹔准是指控制系统的准确性、控制精度,通常用稳态误差来(Steady-stateerror)描述,它表示系统输出稳态值与期望值之差﹔快是指控制系统响应的快速性,通常用上升时间来定量描述。
4、PID控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。
PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象﹐或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。
PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。比例(P)控制比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。
当仅有比例控制时系统输出存在稳态误差(Steady-stateerror)。比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。
比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。积分(I)控制在积分控制中,控制器的输出与输入误差信号的积分成正比关系。
对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。
为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。
这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。
反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。
微分(D)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。
其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。
解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。
这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。
微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。
在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。
微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。5、PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。
它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。
它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。
三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。
利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作﹔(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期﹔(3)在一定的控制度下通过公式计算得到PID控制器的参数。
3.PID控制器参数的工程整定,各种调节系统中PID参数经验数据以下可参照:温度T:P=20~60%,T=180~600s,D=3-180s压力P:P=30~70%,T=24~180s,液位L:P=20~80%,T=60~300s,流量L:P=40~100%,T=6~60s。
4.PID常用口诀:参数整定找最佳,从小到大顺序查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大湾,比例度盘往小扳曲线偏离回复慢,积分时间往下降曲线波动周期长,积分时间再加长曲线振荡频率快,先把微分降下来动差大来波动慢。
微分时间应加长理想曲线两个波,前高后低4比1一看二调多分析,调节质量不会低====================================================================================================很多兄弟姐妹来问关于PID控制器的情况,偶就结合自己的理解,尽可能浅显的讲述一下PID控制的概念和如何设计一个简单的PID控制器的设计。
其目的就是有兴趣朋友们可以跟这个设计一个简单的PID控制器所谓的控制首先分有反馈控制和无反馈控制,我们当然讨论的PID当然是有反馈控制了。
所谓的有反馈控制无非是要根据被控量的情况参与运算来决定操纵量的大小或者方向,那么到底如何根据被控两来决定操纵量的大小呢,唉,这就有很多分类了,所谓的高级的控制方式也就是“高级”在这个节骨眼上,有什么“自适应控制、模糊控制、预测控制、神经网络控制、专家智能控制”等等(至于到底这些控制方式有什么优点,唉,我只用过PID,别的也说不清楚,去抄书的话也没有说服力,关键是也懒的去抄。
那位老弟如果要作论文,可以在这里发挥一下,资料到处都是)。
但是就目前而言,在工业控制领域尤其是控制系统的底层,PID控制算法仍然独霸鳌头,占领着80%左右的市场份额,当然,这里所说的PID控制算法不是侠义上的固定PID,现在不是讲究多学科融合吗?
人们在PID控制规律中吸取了其他“高级”的控制规律的优点,出现了诸多的新颖的控制器如自校正PID、专家自适应PID、预估PID、模糊PID、神经网络PID、非线性PID等新型PID控制器。
至于所谓的变种的PID算法如什么“遇限削弱微分”微分先行,积分分离“bangbang+PID”等等,已经不算是什么高级的控制方式了作控制器的厂商大多都会或多等等或少的采取一些,至于是神经网络PID,模糊PID,自适应PID是如何实现的,我所知道的就是利用对应的控制算法,适时的调节PID的参数。
还是举个例子吧。
传统PID的算法公式是:⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]U(n)=⊿U(n)+U(n-1)e(n),e(n-1),e(n-2)就是历史上的三个设定值跟过程值之间的偏差了。
这是一个增量式的PID算式(如果有谁不明白什么式增量是算式,呵呵,可能以后会提到,偶的写作水平有限,不会组织内容,再说我是想到哪,写道哪,呵呵,见凉)。
所谓的新型PID控制器,就是根据e(n)的不同,利用那些先进的控制规律来适当的调整Kp,Ki,Ke。
至于怎么调整,呵呵,这就太罗嗦了,也不是这篇内容所该介绍的,(关键是我也不太清楚,呵呵,见笑),需要这些功能的大侠应该是我的前辈,还请指教哟。好了,现在正式介绍一下所谓的PID各个参数吧。
所谓的PID大家在大学期间都应该学过,就是比例(P)、积分(I)、微分(D)。
比例控制:就是对偏差进行控制,偏差一旦产生,控制器立即就发生作用即调节控制输出,使被控量朝着减小偏差的方向变化,偏差减小的速度取决于比例系数Kp,Kp越大偏差减小的越快,但是很容易引起振荡,尤其是在迟滞环节比较大的情况下,Kp减小,发生振荡的可能性减小但是调节速度变慢。
但单纯的比例控制存在静差不能消除的缺点。这里就需要积分控制。积分控制:实质上就是对偏差累积进行控制,直至偏差为零。
积分控制作用始终施加指向给定值的作用力,有利于消除静差,其效果不仅与偏差大小有关,而且还与偏差持续的时间有关。简单来说就是把偏差积累起来,一起算总帐。
微分控制:它能敏感出误差的变化趋势,可在误差信号出现之前就起到修正误差的作用,有利于提高输出响应的快速性,减小被控量的超调和增加系统的稳定性。
但微分作用很容易放大高频噪声,降低系统的信噪比,从而使系统抑制干扰的能力下降。因此,在实际应用中,应慎用微分控制,尤其是当你开始作实验时,不防将微分控制项去掉,看看行不行,呵呵,不行啊?
还是看看别的地方吧,肯定行的。行了,这三个参数说明白了,再来说说怎么确定这几个参数的数值吧。这几个参数的确定比较先进的方式是自整定,但是如果是开始涉及这部分还是先不要讲了,按照经验值吧。
估计大家用来控制温度比较多。大家按照这个规律来选吧。
Kp=100/PKi=kp*T/IKd=kp*D/T分别介绍一下各个参数的意义:T:计算周期,就是各多少时间计算一次⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)],单位是秒。
一般1秒或者0.5秒甚至5秒都行。P:比例带I:积分时间D:微分时间P、I、D跟kp,ki,kd有什么关系呢?
Kp=100/P,Ki=kp*T/IKd=kp*D/T然后就可以计算⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]算出来⊿U(n)之后再怎么办呢?
怎么把这一个数据跟控制输出联系在一起呢?说道这里我们先说说PID控制方式大体都有那些?其一为线形连续PID输出,也就是说,PID运算的结果以模拟电压,电流或者可控硅导通角的形式按比例输出。
其二为时间-比例PID输出,也就是说,事先定一个时间长度,T1,然后PID运算的结果就在控制周期内以ON-OFF的形式输出出来,比如你控制一个炉子的温度,用电热丝来加热,就可以控制电热丝的一个控制周期内通电占整个控制周期的比例来实现,电路上可以用继电器或者过零触发的方式来切断或者接通电热丝供电。
起三为位置比例PID,PID运算的结果主要是对应于调节阀的阀门开度。再回到前面,我们以第二种控制方式为例,计算出⊿U(n)后,一般首先将其归一化,也就是说除以你所要控制的温度的量程。
⊿U(n)0_1=⊿U(n)/(hh-ll)而时间比例PID输出对应的是“位置式PID运算”的结果所以呢,我们要讲结果累积起来,U(n)0_1+=⊿U(n)0_1然后将次结果换算成对应于控制周期的占空比。
来输出===========================================================================================PID控制的原理和特点。
神经网络自整定PID真的有效吗?我看图书馆的参考书上和知网论文上的方法,感觉推导过程都不对啊?
楼主的这个问题已经是六年前的问题了(今天2021年5月),不知道楼主现在还关注这个话题不?神经网络自整定PID肯定是有效的。
目前,神经网络自整定PID主要面临三个问题:一是初值选择的问题,不合理的初值很容易使闭环系统不稳定;二是神经网络自整定PID自身需要人为设定的参数较多,PID控制自身只需要三个人为设定参数,神经网络自整定PID则需要四个(三个初值和一个学习因子),这使得神经网络自整定PID比传统PID算法还要麻烦;三是缺乏完整的理论稳定性证明,神经网络自整定PID在线更新规则早已稳定,并且被广泛引用和应用,而基于神经网络自整定PID的闭环系统稳定性证明一直没有得到很好的解决,某种程度上,这限制了神经网络自整定PID的推广。
我个人也做了一些这样的研究,感兴趣的话可以参考我的一篇期刊论文。
Data-DrivenTrackingControlBasedonLMandPIDNeuralNetworkwithRelayFeedbackforDiscreteNonlinearSystems。
自动化控制中PID是什么意思。PID调试时除了设置比例、积分、微分外还要设置什么参数。能举个例子吗?
当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。
这个理论和应用自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统。PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器。
PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u(t)的关系为u(t)=kp(e(t)+1/TI∫e(t)dt+TD*de(t)/dt)式中积分的上下限分别是0和t因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数;TI为积分时间常数;TD为微分时间常数。
分为开环控制系统和闭环控制系统。
举例说明,恒压供水,在出水管道上安装检测元件,比如压力变送器,将压力信号转化为4~20mA电流信号输入变频器,在变频器设置好给定值,也就是你设定的压力,然后,变频器就根据给定值和反馈的电流值来调节输出的频率,调节电机转速,从而调节水压,使其在给定水压恒定输出。
要做毕业设计了!我就搞不清楚神经元控制器跟神经元PID控制器有啥区别呢?
s函数-神经网络PID
我毕设是这个研究好几天了终于有点头绪.虽然你是3年前发的我忍不住跟你分享一下.估计还会有人需要。我找了整整几天在网上找不到任何有用的资料等过几天答辩完了有新的理解会回来补充,就当造福后人了。
switchflag,case0[sys,x0,str,ts]=mdlInitializeSizes(nh);case3sys=mdlOutputs(t,x,u,nh,xite,alfa,KF1,KF2,wi,wo);case{1,2,4,9}sys=[];otherwiseerror(['Unhandledflag=',num2str(flag)]);endflag是标志位.不同的flag取值代表函数进行不同的运算,这里flag=0进行初始化运算,=3进行sys输出运算,其他的不运算。
function[sys,x0,str,ts]=mdlInitializeSizes(nh)sizes=simsizes;sizes.NumContStates=0;sizes.NumDiscStates=0;sizes.NumOutputs=4+7*nh;%dynamicallysized?
sizes.NumInputs=14*nh+7;%dynamicallysized?
sizes.DirFeedthrough=1;%hasdirectfeedthroughsizes.NumSampleTimes=1;sys=simsizes(sizes);str=[];x0=[];ts=[-10];这些是必要的参数设置,分别是连续参数为0,离散参数为0,输出个数4+7*nh,输入个数14*nh+7(不知道4和7是哪来的?
分别是输入参数和返回参数的数量),直接馈入(我也不知道是什么)为1,取样次数为1.设置完赋给sys输出。
str是没用的东西,x0是初始状态为空矩阵,这里你打错字了是ts=[T0],ts是一个1X2的向量,ts(1)是采样周期,ts(2)是偏移量。
wi_2=wi+reshape(u(8:7+4*nh),nh,4);wo_2=wo+reshape(u(8+4*nh:7+7*nh),3,nh);wi_1=wi+reshape(u(8+7*nh:7+11*nh),nh,4);wo_1=wo+reshape(u(8+11*nh:7+14*nh),3,nh);这个是学习网络的建立过程,具体我也不懂。
xx=[u(1)-u(2);u(1);u(1)+u(3)-2*u(2)];这句是增量式PID控制算法,应该是你说的PID部分,我也不太懂。程序部分我就知道这些。
还有我好久才查到的,nh代表神经元个数,xite是学习速率,alfa惯性系数。希望对再来看的人有帮助。