基于matlab的智能pid控制器的设计与仿真

基于matlab的智能pid控制器的设计与仿真

ID:872412

大小:1.16 MB

页数:33页

时间:2017-09-22

上传者:^_^
基于matlab的智能pid控制器的设计与仿真_第1页
基于matlab的智能pid控制器的设计与仿真_第2页
基于matlab的智能pid控制器的设计与仿真_第3页
基于matlab的智能pid控制器的设计与仿真_第4页
基于matlab的智能pid控制器的设计与仿真_第5页
资源描述:

《基于matlab的智能pid控制器的设计与仿真》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

引言PID控制器以其结构简单、稳定性好、工作可靠、调整方便等优点被广泛应用于工业控制系统,但现代工业控制系统越来越复杂,被控对象往往表现出时滞、非线性、时变性,控制要求越来越高,传统的PID控制器难以满足现代工业控制的需求,智能型PID控制器呈现出广阔的发展空间。模糊PID控制器是模糊控制器和PID控制器的有效结合,它兼具模糊控制和PID控制的优点;动词PID控制器是在模糊PID控制器的基础上实现了控制规则“动词化”,对模糊PID控制进行了一些改进。目前动词PID控制器用于实际的工业控制系统还不多,本文的研究也仅处于软件仿真阶段。 1.PID控制器1.1PID控制器的概念[1]1.1.1PID控制原理PID控制器是一种线性闭环控制器,它根据给定输入值rin(t)与实际输出值yout(t)构成控制偏差(1.1)PID的控制信号u(t)由errot(t)及其对时间的积分、微分三部分联合作用产生:(1.2)PID控制器最终理想的控制效果是errot(t)=0,即yout(t)=rin(t)。将控制器写成传递函数的形式:(1.3)式中,kp――比例系数,TI――积分时间常数,TD――微分时间常数;统一用比例系数表示,ki为积分比例系数,kd为微分比例系数: 1.1.2PID三个环节的作用比例、微分、积分各个环节的作用:(1)kp:减小系统的误差,加快系统的响应速度。(2)ki:消除系统的静态误差,决定积分作用的强弱。(3)kd:抵制偏差信号的变化趋势,对偏差进行提前预报,减少调节时间。1.2PID控制器的种类PID控制器有传统PID控制器、模糊PID控制器、专家PID控制器、以及动词PID控制器等几类。1.2.1传统PID控制器PID控制器的参数整定是控制系统设计的核心。图1.1中的PID控制器表示的就是传统PID控制器,其kp、ki、kd三个参数在控制过程中不会自动发生变化,操作人员只能根据控制对象的特性在系统开始工作时选择最优的三个参数。但仅靠一组参数还不能满足系统的要求,在控制过程中一般还要手动对参数进行修改,由此造成了极大的不方便。工业中实际应用的PID控制器不会只用传统的PID控制策略。1.2.2智能PID控制器模糊PID控制器、专家PID控制器、以及动词PID控制器都是智能PID控制器,它们在传统PID控制器的基础上实现了很多改进。模糊PID控制器和动词PID控制器都是PID参数自整定型控制器;而专家PID根据专家经验库,可能调整PID参数,或者直接影响输出电压u。本文主要对模糊PID控制器和动词PID控制器进行研究比较,详细介绍见后面的章节。 2.模糊PID控制器模糊PID控制器全称应该叫做“模糊参数自适应(自整定)PID控制器”。图2.1表示其系统组成。顾名思义,模糊PID控制器的三个参数是能够在线调整、实时改变的。这是模糊PID控制器在传统PID控制器的基础上实现的重大改进。2.1模糊控制规则[1]2.1.1控制原理自适应控制应用现代控制理论,以对象特性为基础,在线辨识对象特征参数,实时改变控制策略。在控制过程中各种信号量不易定量表示,因此需要模糊理论来解决问题。自适应模糊PID控制器以误差e和误差变化ec作为输入,找到输出的三个PID参数与e和ec之间的模糊关系。在运行中不断检测e和ec,利用模糊控制规则在线对PID参数进行修改,以满足不同e和ec对控制参数的不同要求,而使被控对象有良好的动、静态性能。2.1.2模糊规则误差e、误差变化率ec,以及∆K的模糊子集均为{NB,NM,NS,ZO,PS,PM,PB},分别代表{负大、负中、负小、零、正小、正中、正大}。模糊控制规则具有如下形式:If(eisNB)and(ecisNB)then(kpisPB)and(kiisNB)and(kdisPS)。由于e和ec都有7个子集元素,总共有49种自由组合,因此模糊控制总共有49条这样形式的规则。kp、ki、kd三个参数整定的模糊控制规则表如表2.1。 kp的模糊控制规则表∆KpecNBNMNSZOPSPMPBeNBZOZONMNMNMNBNBNMPSZONSNMNMNMNBNSPSPSZONSNSNMNMZOPMPMPSZONSNMNMPSPMPMPMPSZONSNSPMPBPBPMPSPSZONSPBPBPBPMPMPSZOZOki的模糊控制规则表∆KiecNBNMNSZOPSPMPBeNBNBNBNMNMNSZOZONMNBNBNMNSNSZOZONSNBNMNSNSZOPSPSZONMNMNSZOPSPMPMPSNMNSZOPSPSPMPBPMZOZOPSPSPMPBPBPBZOZOPSPMPMPBPBkd的模糊控制规则表∆KdecNBNMNSZOPSPMPBeNBPBPMPMPMPSPSPBNMPBNSPSPSPSPSPBNSZOZOZOZOZOZOZOZOZONSNSNSNSNSZOPSZONSNMNMNSNSZOPMPSNSNBNMNMNSZOPBPSNSNBNBNBNMPS表2.1:模糊控制规则表 2.2模糊控制规则的实现2.2.1隶属度[1]在模糊控制规则表中,各个元素子集都是用字母表示的,而在控制过程中,模糊判决器的输入和输出都是一些数值,因此需要在数值和各个语言变量之间建立联系。各个语言变量都表示一定的范围,这种范围的覆盖面可以用隶属度来表示。隶属度函数有多种形状,有正态分布的,有等腰梯形的,最常用的是三角形,如图2.2所示。每个语言变量表示的范围可能有所交叉,但除了几个特殊点,一个具体数值隶属于各个字母符号的程度是不一样的。图2.2:隶属度模糊合成推理根据隶属度和模糊控制规则来修正PID参数:2.2.2模糊推理[2]模糊判决器读取e和ec的具体数值,进行模糊推理,然后输出三个K的具体数值,有很多算法。这里介绍一种强度转移法。所谓强度转移法,就是当控制系统有精确值输入时,精确值在条件语句的前件中所得到的语言变量转移到后件的语言变量值去,从而得到推理结果的过程。以kp的推理为例。步骤为:(1)前件强度的求取为了简化而清晰地说明推理过程,我们假设误差e(k)及其变化率ec(k)分别最多对应2个语言变量值,设e(k)的两个语言变量值为A1、A2,且对模糊变量A1、A2的隶属度为uA1(e)、uA2(e),ec(k)的两个语言变量值为B1、B2,且对这两个模糊变量的隶属度为uB1(ec)、uB2(ec),控制规则如下: ife(k)isA1andec(k)isB1thenkpisC1ife(k)isA1andec(k)isB2thenkpisC2ife(k)isA2andec(k)isB1thenkpisC3ife(k)isA2andec(k)isB2thenkpisC4从以上4条规则中,可产生出模糊推理的前件强度为:u1=uA1(e)∧uB1(ec)u2=uA1(e)∧uB2(ec)u3=uA2(e)∧uB1(ec)u4=uA2(e)∧uB2(ec)(2)后件强度的求取由于在强度转移法中,是把精确值对前件的作用强度转移到后件中去,并作为后件模糊量kpi的隶属度,因此,依前件强度可得后件强度为:uC1(kp1)=u1uC2(kp2)=u2uC3(kp3)=u3uC4(kp4)=u4(3)精确值kp的求取:根据kp的语言变量值和隶属度的解析表达式求出kp1、kp2、kp3、kp4。它们分别为C1、C2、C3和C4在隶属度为u1、u2、u3和u4时的推理结果元素,则利用重心法可求得:(2.1)当误差e(k)和误差变化率ec(k)具有多个语言变量值时,其推导过程与上述过程相似。模糊推理中,在求解前件强度和后件强度时,对e,ec以及PID三个参数的描述,都是用名词来表示。这些名词不能互相包含,因此模糊控制的49条规则各不相同,缺一不可。 3动词PID控制器3.1动词控制规则3.1.1模糊规则的动词化动词PID控制器的系统组成大部分与模糊PID控制器相似,在控制规则方面,动词PID控制器相比模糊PID控制器做了改进。对e,ec以及PID三个参数的描述,由名词变成动词。动词反映的是参数的变化趋势,这样一来,不同的名词组合,可以用相同的动词来表示。计算动词规则是对模糊规则进行提取,浓缩。把相同的变化趋势合并,可以减少规则数目。通过简化,用7条计算动词规则就可以涵盖49条模糊控制规则,应用于控制系统的各个阶段。3.1.2动词规则[4]动词种类繁多,为了规范化,方便地描述计算动词规则,可以只用一个动词(become)加名词和副词参数来替换所有动词。采用become[adverb](noun1,noun2)的形式。比如“jump”可以表示成becomefast(current,biggerthancurrent),stayhigh可以表示成become(high,high)等等。参数不一样,become所表示的动词效果就不一样。7条计算动词规则如下:其中Z、S、M、B分别代表zero、small、medium、big。(1)If(|e|become(Z,Z))then(kpbecome(S,B),kibecome(B,S),kdbecome(S,B))(2)If(|e|become(B,M))then(kpbecomefast(B,S),kibecomefast(B,S),kdbecomefast(S,B))(3)If(|e|become(M,S))then(kpbecome(B,S),kibecome(B,S),kdbecome(S,B))(4)If(|e|become(S,Z))then(kpbecomeslow(B,S),kibecomeslow(B,S),kdbecomeslow(S,B))(5)If(|e|become(Z,S))then(kpbecomeslow(S,B),kibecomeslow(S,B),kdbecomeslow(B,S))(6)If(|e|become(S,M))then(kpbecome(S,B),kibecome(S,B),kdbecome(B,S))(7)If(|e|become(M,B))then(kpbecomefast(S,B),kibecomefast(S,B),kdbecomefast(B,S))3.2动词相似度在控制过程中,e的变化大部分时间并不是完全等同于上述的某一个规则中的前件条件;但反过来说,任一时刻,肯定能在上述七条规则的前件条件中中,找到一个和e的变化趋势最相似的become。 用“动词相似度(similarities)”来恒量各个动词之间的关系。动词相似度是一个数值,取值范围[0,1],相似度越接近1表示这两个动词相似的程度越大,相似度越接近0则表示越不相像。在动词控制规则里,可以把前件条件里的7个动词定义为7个标准动词,控制过程中观察到的动词都和这些标准动词做比较。动词推理的输出也定义成几个标准输出动词。3.2.1基于进化函数的动词相似度的计算[4]上一节提到,所有动词都可以用Become来进行规范化。在计算动词相似度之前,首先定义Become的进化函数:(3.1)其离散时间形式为(假设Tw=wTs):(3.2)become(state1,state2)的时间跨度取Tw,x(t)是观察到的波形,一个被观察的动词的进化函数:(3.3)t是当前时间,观察动词是从过去某个时间开始的。计算动词进化函数的构造需要依赖以下两个因素:名词中心和物理语义学的动词中心。现在来求“observed”这个动词和become(state1,state2)的相似度,首先把become(state1,state2)的开始时间定在(t−Tw)时刻。求动词的相似度首先将Tw分成state1和state2两个区间,再按以下几个步骤进行运算。1)在前半个区间求出a1和b1 (3.4)2)在后半个区间求出a2和b2:(3.5)3)平衡因子e(3.6)4)在整个Tw范围内求相似度:(3.7)对观察到的动词取不同的隶属度,分两个区间分别与标准进化函数进行“∧”和“∨”运算,不同的计算动词规则的相似度的求取中,用来与标准进化函数进行“∧”和“∨”运算的被观察动词的进化函数是不一样的,运算的结果进行积分,积分相当于求面积。将两个窗口“∧”的面积相加,“∨”的面积也相加,相似度是“∧”的总面积与“∨”的总面积之比。这个比值越大,说明观察动词与标准动词的相似度越大。比如,取state1=big,state2=medium,把观察动词的µbig、µmedium与标准进化函数进行“∧”、“∨”、积分、加法、除法运算之后,比值与其他规则的计算结果相比最大,则说明被观察动词与become(big,medium)最相似。3.2.2简化的动词相似度[5]一个动词可以表示成Become(offset,offset+),即上一时刻位于offset位置,现在变化了。一个观察到的动词与Become(offset,offset+)求相似度,可分为两部分,一部分是变化趋势的相似度,另一部分是起始位置的相似度。3.2.2.1变化趋势的相似度一个观察到的动词与“增大”这个动词的相似度可以表示成:(3.8) 式中,∆x是一个运动对象相邻两个时间点上的位移差,即变化量;∆0是设定的一个标准变化量;K在计算中是一个常量,在不同的场合可以取不同的值。∆0取0.5,K取6时,画出不同的观察动词与"增大0.5"的相似度。如图3.2。这种动词相似度的求法适合于计算动词的(2)~(7)号控制规则,不同的规则对应不同的∆0和K,求“增大”的相似度时,K×∆x的前面需要一个负号,求“减小”的相似度时,不用负号。但这个算法不适合于求与“eBecome(Zero,Zero)”的相似度,因为当estayZero时,其∆0为0,而在式3.8中,∆0是一个分母,所以与这条规则相对应的动词相似度的求解采用另外一种算法。(3.9)图3.2:动词与"增大0.5"的相似度K取5时,观察到的不同动词与"stayZero"的相似度如图3.3。 图3.3:动词与"stayZero"的相似度3.2.2.2起始位置的相似度观察到的动词的起始位置为offsetobserved,定义标准动词的起始位置为offset0,计算起始位置的相似度我采用如下算法:(3.10)p取正偶数。当K=10,p=2,offset0=0.8(假设起始位置为big)时,画出不同的起始位置与起始位置为big的相似度。如图3.4。图3.4:起始位置与big的相似度 起始位置的相似度与模糊隶属度函数有相似之处。3.3动词控制规则的实现[4]计算动词规则的推理建立在动词相似度的基础上,在控制过程中,观察控制误差e的变化趋势,求出e和7个标准动词的相似度。控制器的输入和输出都是动词形式。控制规则是这样的:If(ebecome0i)Then(∆kVi),输出的动词Vy是7个标准输出动词Vi(i=1~7)以相似度为权的加权平均量。(3.11)公式的形式与模糊推理强度转移法中重心法(式2.1)的形式有相似之处。这种加权平均的算法符合控制需求,e的变化和哪个规则中的前件条件最相似,控制输出就和那个规则的K的变化最相近。在求出∆k之后,PID三个参数的修正方式为:Knext=Kcurrent+∆k。4用Simulink进行PID控制仿真4.1炉温控制简介4.1.1背景随着工业的快速发展,钢铁的需求量越来越大。而对于生产钢铁的最重要的一环——高炉——的要求也越来越高。 在钢铁的冶炼的过程中,越来越多地使用交流电弧炉设备,温度控制系统的性能直接影响到钢铁的质量,所以炉温控制占据重要的位置。PID控制是温度控制系统中一种典型的控制方式,是在温度控制中应用最广泛、最基本的一种控制方式。随着科学技术的发展,各行各业对温度控制精度的要求越来越高,经典PID在某些场合已经不能满足要求。因此,智能PID控制的引入时精密温度控制系统的发展趋势。为了改善电弧炉系统恒温控制质量的现状,研制具有快速响应的、经济性好的、适合国情的恒温控制装置具有十分重要的意义。4.1.2系统函数高炉温度控制系统具有非线性、时变性、滞后性等特性。根据实际测量,被控对象近似一阶惯性加滞后模型:(4.1)4.2Simulink简介[3]Simulink是个交互式动态系统建模、仿真和分析图形环境,是一个进行基于模型的嵌入式系统开发的基础开发环境。Simulink可以针对控制系统等进行系统建模、仿真、分析等工作。Simulink提供了一个建立控制系统方框图,并对系统进行模拟仿真的环境。在Mablab6.5的命令主窗口中单击File→New→Model,即可打开如图4.1所示的Simulink模型编辑窗口。在Simulink模型编辑窗口中单击View→Librarybrowser,即可打开如图4.2所示的Simulink库浏览窗口。根据控制系统的结构,用户可以从模型库中选择所需要的各种模块,按要求连接、修改各模块的参数,建立系统模型。图4.1:simulink模型编辑窗口 图4.2:simulink库浏览器4.3传统PID控制Simulink仿真4.3.1建立系统模型在模型库中,从Simulink库Continuous子库中选择Derivative、Integrator、TransferFcn、TransportDelay模块,从MathOperations子库中选择Gain、Sum模块,Sinks子库中选择Scope,Sources子库中选择Step,放到模型编辑窗口。各个模块的属性都可通过双击该模块进行更改。按图4.1更改各模块属性,连线,就建立了一个传统PID控制系统模型。其中Step阶跃信号幅值为1,TransportDelay为208秒。在模型编辑器中选择“startsimulink”,就可以开始进行仿真。仿真波形可以双击scope进行观察。4.3.2调试过程及结果参数整定过程:(1)令ki和kd为0,调整kp。若kp太小,则控制结果无法向原定的控制目标靠近,kp增大,响应曲线开始出现振荡。如果振荡的振幅呈增大趋势,系统将无法达到稳定。所以应该调整kp,使响应看起来是一条振幅越来越小的曲线。(2)观察振荡趋向的平衡位置,ki为0时,一般会存在静态误差。ki从0开始增大,调整ki,使响应曲线保持在控制目标上下振荡。由于ki也加强了控制作用,所以kp应该基于第(1)步调出的值再往小调。一般通过合适的ki把振荡的平衡位置修正之后,不必再调ki了。(3)调整kd。kd能抑制响应曲线上下振荡的振幅,但kd过大,反而降低响应速度。最后对kp和ki进行联合微调。对式4.1所示的加热电源的温度的传统PID控制进行参数调整,我调整得效果最好的一组参数已标在图4.1中,即kp=18,ki=0.015,kd=1000。温度变化波形如图4.3。大约3000秒控制达到稳定,超调量30%。 Simulink的Scope中的响应曲线原本是黑色背景,黄色曲线。为了便于浏览,本人做了一些反色的处理,后面的图4.5也进行了同样的处理,不再重复说明。图4.3:传统PID仿真4.4模糊PID控制Simulink仿真4.4.1在Matlab中建立模糊判决器4.4.1.1用FISEditor建立模糊判决器[3]在Matlab主窗口中输入fuzzy,弹出FISEditor,这是一个新建的空白的FIS,如图2.3所示。解模糊算法默认是Mamdani法,如果要改变算法,Matlab提供的另一种算法为Sugeno。在新建FIS时,点击FileNewFISSugeno即可。图2.3:FISEditor点击EditAddvariableinput(或output),添加判决器的输入和输出,我们使用的模糊PID判决器是2个输入3个输出。把这5个变量(variable)的名字(Name)改成e、ec、kp、ki和kd。双击任一个variable,弹出MembershipFunction Editor,可以设定这个variable的取值范围(range)。如图2.4所示。新建的variable默认只有3个子集,在MembershipFunctionEditor中点击EditAddMFs,添加子集,加到7个。按照模糊隶属度设定每个子集的名字(Name)、形状(Type)和覆盖范围(Params)。添加规则:在FISEditor中点击EditRules,弹出RuleEditor。如图2.5所示。新建的模糊判决器有0条规则,按照模糊控制规则表,使用RuleEditor底部的“添加规则(Addrule)”和“修改规则(Changerule)”按钮设定模糊控制的49条规则。先添加条数,再按规则修改。最后将该FIS保存,在FISEditor中点击FileExportToDisk,保存为fuzzpid.fis。图2.4:MembershipFunctionEditor图2.5:RuleEditor 4.4.1.2用Matlab程序生成模糊判决器[1]用Matlab程序语言也能生成和上一节一模一样的fuzzpid.fis。a=newfis(’fuzzpid’);建立一个新的FIS,取名fuzzpid。escale=1;a=addvar(a,’input’,’e’,[-3*escale,3*escale]);添加variablea=addmf(a,’input’,1,’NB’,’zmf’,[-3*escale,-1*escale]);本行往下共7行分别添加MFsa=addmf(a,’input’,1,’NM’,’trimf’,[-3*escale,-2*escale,0]);a=addmf(a,’input’,1,’NS’,’trimf’,[-3*escale,-1*escale,1*escale]);a=addmf(a,’input’,1,’Z’,’trimf’,[-2*escale,0,2*escale]);a=addmf(a,’input’,1,’PS’,’trimf’,[-1*escale,1*escale,3*escale]);a=addmf(a,’input’,1,’PM’,’trimf’,[0,2*escale,3*escale]);a=addmf(a,’input’,1,’PB’,’smf’,[1*escale,3*escale]);这几行代码添加了e这个variable,作为input,range为[-3,3],e有7个子集,Name、Type和Params各不相同。ec、kp、ki、kd的添加方式完全类似,只需更改scale和input(output),“addmf(a,’input’,1⋯⋯”中的“1”依次改为2、3、4、5。个人感觉这样子生成FIS比用FISEdit还快。FISEdit虽然有友好的用户界面,但每个variable、每个mfs、49条规则都要一一输入;而上述程序具有通用性,比如e的range变为[-30,30],只需要将escale赋值为10即可。ec、kp、ki、kd的scale的更改完全类似。rulelist=[1171511;1271311;。。。。。。。。。。7617511;7717711];(↑总共49行)a=addrule(a,rulelist);这几十行代码实现49条模糊控制规则的添加。每一行代表一条规则,由前5个数字来完成对规则的描述。数值1~7按顺序代表从NB到PB7个子集,5个数字的位置对应e、ec、kp、ki、kd。比如,第一行前5个数字为:1-1-7-1-5,代表NB-NB-PB-NB-PS,其对应的模糊规则为: If(eisNB)and(ecisNB)then(kpisPB)and(kiisNB)and(kdisPS)。这个rulelist可以完全按照模糊控制规则,用数字代表7个字母符号列出来的。这个rulelist也是通用的。a=setfis(a,’DefuzzMethod’,’mom’);解模糊的算法设定为Mandani,也可以改为Sugeno。writefis(a,’fuzzpid’);a=readfis(’fuzzpid’);这样子就生成了一个和上一小节完全一模一样的fuzzpid.fis。4.4.1.3模糊判决器的使用这个模糊判决模块,可以作为一个模块嵌入到Simulink模型编辑窗口当中,在本章中可以看到其用法。这个模块还能被Matlab编程语言调用,在第5章用Matlab程序进行模糊PID控制仿真的时候会用到。4.4.2建立系统模型模糊PID控制系统最核心的部分是模糊判决器,这个判决器可以作为一个模块放入到simulink模型编辑器中,在Matlable主窗口中输入fuzzy,弹出FISEditor,点击File→Export→ToWorkspace,把这个判决器添加到工作空间。然后在simulink模型编辑器中,按图4.4从库中选择模块,更改参数,连线,这样建立起模糊PID控制系统模型。从图中可以清楚地看出模糊控制对P、I、D三个参数的调整作用。比如PID控制中的微分环节的输出ud=(Kd0+∆kd)×ec,而在这个系统模型中,ud=Kd0×ec+∆kd×ec,与PID控制理论是一致的。图4.4:模糊PID控制系统模型 图4.5:模糊PID仿真结果4.4.2调试模糊PID控制需要调整的参数包括PID三个初始值,以及模糊判决器2个输入3个输出的论域。传统PID调出的三个参数对模糊PID的三个初始参数有一定的参考价值。仿真的控制目标是1,故设置e和ec的论域均为[-1.5,1.5];模糊判决器的输出是∆K,是对三个初始参数进行调整,所以∆K的论域大小应该与对应的K数量级相当或较小。如果∆K论域数量级明显超过对应的K的初始值,那初始值的设定就没什么意义了。设置∆kp论域为[-0.15,0.15],∆ki论域为[-0.003,0.003],∆kd论域为[-500,500]。每次改变论域,模糊判决器就发生改变。在Matlab6.5中进行仿真时,每次都必须在FISEditor中重新打开这个模糊判决器,重新将其导入工作空间,Simulink才能使用最新修改的模糊判决器来进行仿真。这个系统的模糊PID控制的仿真结果,没有实现对传统PID控制的改进。本人尝试着对三个PID初始参数以及5个论域进行调整,但能得到的最佳组合就是上述的数值。按上述数值得到的仿真曲线与传统PID控制相比,超调减少,但控制系统达到的稳定时间要长些,如图4.5所示。4.5关于动词PID控制Simulink仿真的一点说明模糊控制理论已经问世数十年,在Matlab中已经集成了模糊判决器的模型,可以对模糊判决器进行修改,嵌入到Simulink模型编辑器中,进行模糊控制的仿真。动词PID控制器目前还未大面积推广,Matlab中没有相应的集成模块,因此没有进行动词PID控制的Simulink仿真。动词PID控制并不是无法用Simulink进行仿真,只是难度比较高,工作量比较大,本人没有进行研究, 这里只简要介绍解决方法。Simulink模型编辑器里面除了可以放置Matlab已经定义的模块,还可以放置用户自定义的模块。在库浏览器Simulink库User-DefinedFunction子库中,选S-Function,拖放到模型编辑器中。这是一个空白的模块,用户需要用Matlab程序语言编写一个文件,程序里面描述用户需要定义的模块的功能。比如,在程序中编写计算动词PID动词推理过程,然后保存为VerbPID.m。在Simulink模型编辑器中,双击S-Function模块,填写S-FunctionName为VerbPID.m。S-FunctionParameters的填写与m文件中的变量定义有关。写好动词推理S-Function程序,在模型编辑器中设置好S-Function模块的属性,就实现了动词推理算法嵌入到Simulink仿真中。4.6本章小结本章简要介绍电弧炉炉温控制系统以及Simulink仿真软件。用Simulink对该炉温进行传统PID和模糊PID控制的仿真,由于动词PID推理模块嵌入到Simulink中工作量比较大,本章没有对其进行仿真,只是提出了一些解决思路。传统PID和模糊PID的仿真结果比较相似,模糊PID没有对传统PID控制效果进行明显的改良。5用Matlab编写程序进行各种PID控制仿真本章用Matlab编写程序,对控制对象进行传统PID、模糊PID、动词PID控制仿真。被控对象仍然是第4章所用过的炉温控制系统。系统函数:(5.1)5.1仿真程序流程图三个Matlab仿真程序的结构组成都列于图5.1。程序开始设定控制目标r,对被控对象的输入信号u、以及kp、ki、kd三个参数进行初始化,然后进入循环。由u作用于被控对象,对象的输出为yout,控制误差e=r-yout,误差变化率ec用e的差分表示,误差的积累用表示。如果是传统PID控制器,因为PID三个参数不变,所以直接用加法求出新的控制信号u,进行下一轮循环。 图5.1流程图智能PID控制器在求出e和ec之后,通过e和ec计算出∆kp、∆ki和∆kd,修正3个参数,然后再进行加法求出u,进入下一个循环。模糊PID控制和动词PID控制仿真程序的不同在于修正3个PID参数的过程。模糊PID控制器通过查找模糊规则表,然后K=K0+∆K;而动词规则分别求出e的动态与七个标准动词的相似度,∆k是七个输出动词在相似度上的加权平均,然后修正参数:Knext=Kcurrent+∆k.做完预设的循环次数后,每一仿真时刻的yout、kp、ki、kd都有记录下来,此时画出这四个变量随时间变化的曲线,以供研究比较。5.2关键环节的算法图5.1已经描述了仿真程序的大纲,其中一些加法、减法、乘法、累加的环节,非常容易理解。只有两个环节的算法比较复杂。一个是由e和ec怎样计算出∆kp、∆ki和∆kd。针对模糊和动词控制规则,有相应的计算方法,在前面已经介绍。另外一个比较复杂的环节是:如何由控制电压u得到输出yout。本文仿真通过用ode45求解微分方程的方法来完成。由于选取的控制对象具有时滞,在写微分方程时要对系统函数里时滞的部分进行近似,所以用到一个“PADE”指令,下面分别介绍。 5.2.1ode45求解微分方程[7]仿真程序中ode45的用法如下:TSPAN=Ts*k:simuStep:Ts*(k+1);[t,x]=ode45(’dynsys’,TSPAN,x0);Ts是采样时间,simuStep=Ts/4;k是循环控制量,TSPAN把两次采样的时间间隔分成5个点。’dynsys’是一个文件名,dynsys.m文件里保存着描述被控对象特征的微分方程,这些微分方程以状态空间的形式给出,其中包含了输入u的影响。x˙=Ax+Bu(5.2)x是状态向量(列向量)。TSPAN是ode45解微分方程组的几个时间点,x0是第一个时间点上系统的状态向量。这样进行ode45运算的结果,产生了5个t和5个x。t是一维的,也就是5个时间点。x的维数与系统的阶数相当。系统的输出yout是x的几个分量以及输入u的线性组合。y=Cx+Du(5.3)A,B,C,D是一些矩阵。在已知系统的传递函数的情况下,在Matlab主窗口中输入[A,B,C,D]=tf2ss([num],[den])即可得到这4个矩阵。[num]和[den]是系统函数的分子和分母。5.2.2对延时的近似处理对无时滞的系统进行仿真时,直接用tf2ss写出微分方程,再写进dynsys.m文件,在主程序里循环调用ode45函数即可进行仿真。本文选用的被控对象具有208秒的延迟。无法直接根据系统函数写出微分方程。我采用的解决方法是,先把e−τs用Matlab指令“[NUM,DEN]=PADE(τ,N)“近似成一个N阶的不带指数的系统函数(N越大近似越精确)。再和原来系统函数中非时滞的部分相乘,得到总的系统函数,然后用TF2SS写出微分方程。针对上面的系统,在Matlab中输入“[NUM,DEN]=PADE(208,1)”得到NUM=[-10.0096],DEN=[10.0096],即用代替,则:(5.4) 5.3传统PID控制仿真5.3.1调整过程及结果仿真程序的编写遵循图5.1的上、中部分。设置PID三个参数,并进行调节。PID参数的选取,在第4.3.2小节已经提过。先令ki=0,kd=0,找到一个kp;然后ki从0开始增大,kp适当减小,ki增大到能消除静态误差就行了,不必一直调大。最后调kd,再对kp、kd进行联合调整。调节三个参数,观察在传统PID控制下误差e的变化情况。误差e的变化如图5.2所示。当Kp=80、Ki=0.01、Kd=800时,误差变化如图所示。本文后面要拿智能PID控制的效果来和传统PID控制做比较,为了统一标准,智能PID控制结果都和传统PID来做对比。在响应时间差不多的情况下,看智能PID对超调和振荡的控制效果如何。在这里传统PID控制超调量为15%。图5.2:传统PID控制误差e变化 图5.3:传统PID仿真结果5.3.2关于两种不同仿真方法的说明用编程语言仿真时得到的一组参数和用Simulink仿真时得到的一组参数有些差距。这个控制对象本身带有208秒的时滞,控制达到稳定需要几千秒的时间。程序是用循环来做的,我选取Ts=20秒,k=0~400,仿真4000秒只需要200次循环。为了减少每次仿真程序运行的时间,只能这样。而Simulink里面计算精度比较高,取样时间不同导致仿真方法调试出来的参数不同,但在数量级上是一致的。误差刚开始是1,这是我写程序时没有采用延时的近似处理,这样更与实际情况贴合,图5.2、图5.3可以反映出实际情况5.4模糊PID控制仿真5.4.1模糊推理源代码分析模糊PID控制,首先设置一组初始PID参数。在仿真过程中,时时检测控制误差e(k)及其变化率ec(k),保存到两个变量中。在每次循环里:e_1=e(k+1);ec_1=e(k+1)-e(k);然后调用第2.3节建立的那个模糊判决器: k_pid=evalfis([e_1,ec_1],a);k_pid就是模糊判决器的输出,是一个三维的列向量,这三个数就是∆kp、∆ki和∆kd。然后对PID三个初始的参数进行修正。Kp=Kp0+k_pid(1);Ki=Ki0+k_pid(2);Kd=Kd0+k_pid(3);这样就完成了参数的自整定,因为程序是循环在执行的,所以参数的整定也是循环在做的。5.4.2参数调整及仿真结果图5.4:模糊PID仿真结果图5.5:模糊PID的误差变化 图5.6:kp、ki、kd自适应曲线从图5.4与图5.3比较中可以看出,在响应时间差不多的情况下,模糊PID比传统PID超调有所减小,超调量大概5%。kp、ki、kd的自整定曲线如图5.5。由以上图形,可以知道:(1)模糊PID控制所得到的结果和传统的很接近。 (2)模糊PID在调整3个参量的时候有一个调整的空间,因此利用模糊PID进行控制时,得到参数会比用传统PID方法来的更快。(3)曲线开始略微上翘,是由于程序对延迟模块采用了一阶近似产生的误差。5.5动词PID控制仿真动词PID控制中,动词规则的实现是建立在动词相似度的基础上,因此动词PID控制的仿真程序中,观察误差e的变化趋势,求e的变化与7条规则前件条件的相似度的部分,即用求相似度算法的动词PID控制的仿真程序,进行调试。相似度算法有两种方法,本文用基于进化函数求相似度的方法进行仿真分析。另一种方法是基于简化的动词相似度的控制算法,与第一种算法结果类似,本为就不在阐述。5.5.1基于进化函数求相似度的动词PID控制的仿真调试动词PID的仿真程序中,需要整定的参数更多了。同样要设置PID三个初始参数,还要设置参数调整的幅度:Kpscale、Kdscale和Kiscale。求相似度时要对一段时间内标准动词和观察动词的进化函数进行∧、∨运算并积分,由于仿真采用离散形式,所以一段时间的积分转换成几个点的累加,因此要设置累加的点的个数,在程序里建立一个变量mw=10。动词PID的参数整定与模糊PID不同,Knext=Kcurrent+△K。为了避免能量过剩导致控制进入振荡的非稳定状态,还要设置PID三个参数变化的上下限。另外,△K反映了K下一步的变化趋势,而在动词规则里,K的变化还有速度之差别,become[adverb](noun1,noun2)中的adverb可以是slow或者fast,缺省是normally。所以再建立两个变量,beta_fast(biggerthan1)和beta_slow(between(0,1)),再根据需要进行调整,缺省的beta是1。5.5.1.1程序模块及其仿真(1)基于动词规则的模糊隶属度仿真程序如下:en=e/abs(e(1));enabs=abs(en);muB=max(0,1+(enabs-1)-abs(enabs-1));muM=max(0,1+(enabs-0.5)-3*abs(enabs-0.5));muS=max(0,1-4*(enabs-0.25));muZ=max(0,1-4*(enabs));(2)动词相似度的求取(以动词become(big;medium)为例):Ab=0; Bb=0;n=round(rmw/2);forj=1:nEb(j)=1-0.5(j/n);endAm=0;Bm=0;forj=n:rmwEm(j)=0.5+0.5*(j-n)/n;Am=Am+min(Em(j),muM(bprt+j));Bm=Bm+max(Em(j),muM(bprt+j));endsb=Ab/(Bb+Bm);sm=Am/(Bb+Bm);Balance=2*min(sb,sm);s2(k+1)=(Ab+Am)/(Bb+Bm)*Balance;其中:①E(j)=1-0.5*(j/n)和E(j)=0.5+0.5*(j/n)是描述动词的一个进化函数,选取了一个比较简单的形式,②S2是所得到的计算动词相似度。将所用的动词和7条动词规则的动词进行类似的计算,就可以算出7个动词相似度。分别为S1、S2、S3、……S7。(3)解动词化经过动词推理过后,可以通过解动词化求得3个参数,下面以Kp为例来说明参数的求取:(a)求取Kp的变化量:Kp_rate=S1(k+1)*DKpS2B+S2(k+1)*beta_fast*DKpB2S+S3(k+1)*DKpB2S+S4(k+1)*beta_slow*DKpB2S+S5(k+1)*beta_slow*DKpS2B+S6(k+1)*DKpS2B+S7(k+1)*beta_fast*DKpS2B;其中:①DKpB2S和DKpS2B是Kp的两种变化形式。这里分别取为:DKpS2B=0.05,DKpB2S=-0.05。②beta_slow和beta_fast是副词的两种方式,这里也为常数:beta_slow=0.5;beta_fast=2。(b)求取Kp:Kp=Kp+Kp_rate;Kp=max(Kplow;Kp);Kp=min(Kpup;Kp); 其中:Kplow和Kpup是Kp的上下限,取值在传统PID所得结果的一定范围内。程序通过对这每个参数的上下限进行调节,使系统达到比较好的效果。(4)参数调整及仿真结果通过参数调节,当Kpup=60;Kplow=100;Kdup=600;Kdlow=100;Gilow=11;Giup=12时,系统性能仿真结果:图5.7:动词PID仿真结果图5.8:动词PID误差e的变化 图5.9:kp、ki、kd的自适应曲线将动词所得结果(如图5.3)和传统PID与模糊规则所得的结果进行对比:(1)该系统动词控制PID没有超调,这对于实际操作当中是非常重要的。(2)由3个PID控制器仿真结果可以看到,动词PID控制器在误差从小减少到0的时候,动词PID的效果最好,由于规则的优化,除了没有超调以外,稳定时间也有一定程度减少。5.6小结 本章用Matlab编写程序进行三类PID控制的仿真,在系统稳定时间相当的情况下,比较各类控制器的超调情况。传统PID控制超调较大,模糊PID控制稍微减小了超调;基于进化函数的动词PID控制,有效地减小了超调,控制曲线平滑,达到稳定时间短。各类智能型PID控制器的仿真之后,都有给出其PID三个参数变化的曲线,这些参数的变化是符合控制规律的,参数能根据控制误差的变化做出相应的调整,这就是智能型PID控制器最主要的特征,这些参数的自整定是非常有意义的。结论本文主要研究了传统PID控制器、模糊PID控制器以及动词PID控制器的控制原理,对这几种PID控制的控制效果进行仿真和比较分析。本文的仿真与实际工业控制系统相比,有很多局限性。工业控制系统的复杂性包括非线性、时变性、时滞等,有些工业控制系统甚至无法给出其传递函数。本文选用的控制对象,是一个二阶的系统函数,带上时滞,只体现了众多控制复杂性中的一种。本文的仿真基础是有一个确定的系统传递函数,因此控制对象非线性、时变性的模拟难度较高。本人之前做过一些复杂性较低的控制对象的仿真,即一个确定的系统函数,没有时滞性、时变性、非线性。那几个控制对象的控制仿真,我得到的结论是一样的:传统PID控制效果已十分优秀,智能PID控制无法对控制效果再进行改进,智能PID控制器没有显示出其优势。但我们不能否认智能PID控制器的先进性,因为他们确实已经在实际工业控制中得到了大量应用。只能说自己进行的仿真局限性较大,不能证明智能型PID控制器的先进性。如果我们的仿真能够模拟出控制对象的时滞性、时变性、非线性、系统传递函数的不确定性,应该能看出智能PID控制器的优势。第五章的仿真结果,智能型PID控制器对传统PID控制进行了改进,其PID三个参数按照控制规律,根据误差的变化进行自整定。虽然从控制误差的变化曲线上看,对传统PID控制的改进并不多,但是从各参数的修正过程来看,确实体现了智能控制对参数的要求。不足的是,在本文的仿真当中,除了SIMULINK是系统的真实仿真,用程序编写的都利用了延迟函数的近似,所以仿真并不是非常精确。除此之外,炉温控制系统的动词PID控制仅仅限于理论阶段,离实际控制系统还有一定差距,因此以后还要对实际的工业流程进一步研究,才能使理论的东西应用到实际工业生产中去。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈 芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭