控制系统建模与仿真-基于MATLABSimulink的分析与实现(第2版)课件 第7-11讲 MATLAB在PID控制器中的应用-MATLAB的建模应用_第1页
控制系统建模与仿真-基于MATLABSimulink的分析与实现(第2版)课件 第7-11讲 MATLAB在PID控制器中的应用-MATLAB的建模应用_第2页
控制系统建模与仿真-基于MATLABSimulink的分析与实现(第2版)课件 第7-11讲 MATLAB在PID控制器中的应用-MATLAB的建模应用_第3页
控制系统建模与仿真-基于MATLABSimulink的分析与实现(第2版)课件 第7-11讲 MATLAB在PID控制器中的应用-MATLAB的建模应用_第4页
控制系统建模与仿真-基于MATLABSimulink的分析与实现(第2版)课件 第7-11讲 MATLAB在PID控制器中的应用-MATLAB的建模应用_第5页
已阅读5页,还剩298页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7讲MATLAB在PID控制器中的应用什么是PID控制系统?试凑法整定PID控制参数工程法整定PID控制参数控制器参数整定方法的比较使用Smith预估器设计PID控制器参数主讲内容控制系统控制质量决定因素:被控对象的动态特性。PID被控对象给定值r被调量yeu一、什么是PID控制系统?整定的实质:通过选择控制器参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,实现最佳的控制效果整定的前提条件:设计方案合理,仪表选择得当,安装正确1、PID控制系统组成+

ruey

+++e(t)=r(t)-y(t)-KpedPID控制包括三个环节:比例、积分、微分环节,对应的参数分别为Kp、Ki、Kd,这三个环节在控制系统中起到不同的作用。它具有原理简单,适应性强,鲁棒性强等优点,是最广泛应用的基本控制方式。2、PID控制

拉式变换:3、PID控制器的输出-输入关系式中:

Kp—比例系数,Td—微分时间常数Kd—微分系数Ti—积分时间常数Ki—积分系数

写成传递函数形式:系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。(1)比例调节器作用4、PID控制器的作用(2)积分调节器作用使系统消除稳态误差,提高无差度。有误差积分调节就作用直至无差积分调节停止。积分调节输出一常值。积分作用的强弱取决与积分时间常数,Ti越小积分作用越强。反之Ti大则积分作用弱。加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。(3)微分调节器作用微分作用反映系统偏差信号的变化率,当输入没有变化时,微分作用输出为零。它能预见偏差变化的趋势,具有超前的控制作用。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调和调节时间。微分作用对噪声干扰有放大作用,对系统抗干扰不利。微分作用不能单独使用,需要组成PD或PID控制器。工程整定法是在理论基础上通过实践总结出来的,它通过不复杂的实验,迅速获得调节器的近似最佳整定参数。由于方法简单,计算方便,而且容易掌握,所得参数虽然不是最佳,但是实用,能解决一般性问题,所以在工程上得到广泛应用。主要有:经验试凑法动态特性参数法衰减曲线法临界比例度法二、试凑法整定控制器参数工程人员在长期生产实践中总结出来经验,先确定一组控制器参数,并将系统投运,然后人为加入干扰(改变设定值)观察过渡过程曲线,并改变相应的控制参数,进行反复试凑,直到获得满意的控制质量为止。在凑试时,可参考参数对系统控制过程的影响趋势进行改变参数。PID参数调节顺序是:先比例再积分后微分。看曲线调参数,从调节品质的曲线逐步找到最佳参数,基本原则为:1、经验试凑法(1)确定比例增益Kp时,首先置成纯比例调节。将Kp由0逐渐加大直至系统出现振荡;再反过来将Kp逐渐减小,直至系统振荡消失,记录此时的Kp,设定时取该值的60%~70%即可。(2)确定积分时间常数Ti

时,待Kp确定后,先设定一个较大的Ti,逐渐减小直至系统出现振荡。再反过来将逐渐加大直至系统振荡消失。记录此时的Ti,设定时取该Ti值的150%~180%即可。(3)确定微分时间常数Kd

时,一般取0即可。若要设定可与确定Kp

和Ti的方法相同,取不振荡时的30%即可。遵循先比例-积分-微分,看曲线调参数,从调节品质的曲线逐步找到最佳参数。PID参数的作用为:1)增加Kp,系统的响应速度加快,稳定变成差。2)积分主要是消除稳态误差。积分时间越小,响应速度越快,过大会产生积分饱和,引起出现较大的超调。3)微分有超前作用,增加Kd使抗干扰性变差。2、PID参数调节原则根据不同被控对象:工程实践中总结的经验数据表如下:被调量特点流量温度对象有较大滞后,常用微分压力对象的滞后不大,不用微分液位允许有静态差,不用积分和微分3、不同被控对象PID参数范围针对PID控制器传递函数,设置采样周期T=0.01,添加控制器参数

Kp=1.8,Ki=1.5,Kd=0.5,分析控制器的输出结果。设输入为r,输出为y,误差为e,控制器输出为u,位置式PID算式为:例14、试凑PID参数设计clear;clc;T=0.01;%设置采样周期Kp=1.8;Ki=1.5;Kd=0.5;%设置PID参数t=0:T:20;%0~20秒e=0;u=0;y=0;%初始化变量r=ones(1,length(t));%系统输入ierror=0;%积分误差derror=0;%微分误差pre_error=0;%前一次误差fori=2:length(t)%PID控制循环e(i)=r(i)-y(i-1);%误差

ierror=ierror+e(i)*T;%积分误差

derror=(e(i)-pre_error)/T;%微分误差u(i)=Kp*e(i)+Ki*ierror+Kd*derror;%PID控制计算y(i)=y(i-1)+T*u(i);%系统模拟

pre_error=e(i);%记录前一次误差endplot(t,y,t,r);gridon;xlabel('时间(s)');ylabel('输出幅值');legend('控制输出','控制输入');结果对于二阶系统传递函数:要求加入PID控制参数,系统的动态特性参数,超调量Mp<=10%,稳态时间ts<=2s(稳态误差为2%情况下)时,求系统的Kp,Ki和Kd参数。使用试凑法设计PID控制器例2clc;Gp=tf(100,[130]);flag=1;forKp=0.1:0.1:10ifflag==0break;endforKi=10:-0.1:1ifflag==0break;endforKd=0.1:0.1:0.5Gc=tf([Kd,Kp,Ki],[1,0]);G=feedback(Gp*Gc,1);[y,t]=step(G);C=dcgain(G);[Y,k]=max(y);p=100*(Y-C)/C;i=length(t);while(y(i)>0.98*C)&(y(i)<1.02*C);i=i-1;endts=t(i)ifabs(Mp)<=0.1&ts<=2flag=0;disp(['Kp=',num2str(Kp)]);disp(['Ki=',num2str(Ki)]);disp(['Kd=',num2str(Kd)]);breakelsedisp(['Searchforfailure!']);endendendendG2=feedback(Gp,1);step(G);holdon;step(G2)结果Kp=0.6;Ki=1.7;Kd=0.5工程整定法是在理论基础上通过实践总结出来的,它通过不复杂的实验,迅速获得调节器的近似最佳整定参数。由于方法简单,计算方便,而且容易掌握,所得参数虽然不是最佳,但是实用,能解决一般性问题,所以在工程上得到广泛应用。主要有:动态特性参数法衰减曲线法稳定边界法(临界比例度法)三、工程法整定控制器参数它是以被控对象控制通道的阶跃响应为根据,通过一些经验公式求取的开环整定法,见图:调节器调节阀被控对象变送器X(t)y(t)1、动态特性参数法在调节阀端输入阶跃信号,测量变送器的输出信号。根据曲线测量求出动态特性参数。即:X(t)近似传递函数:对象有自平衡能力时的整定计算公式如表所示。PPIPIDTdTiPID参数计算Tty(t)BOK(1)使用Ziegler-Nichols整定PID控制器(z-n法)PPIPIDTdTi0.8T0.81T+0.19τ0.025TPID参数计算对PD调节器的比例度和微分时间常数为:使用Ziegler-Nichols整定PID参数。分别使用simulink仿真设计两种方法完成添加P、PI、PID及未加校正的的仿真,并进行对比。因为τ/T=0.33,需要按照表τ/T>0.2计算参数,即:设一级液位被控对象传递函数为:P控制例3PI控制PID控制

Kp=1.42Kp=2.55Ti=0.8*30=24Ki=Kp/Ti=1.42/24=0.06Ki=Kp/Ti=2.55/26.2=0.1Td=0.25*T=0.025*30=0.75Kd=Kp*Td=2.55*0.75=1.91K=2;T=30;L=10;s=tf('s');Gz=K/(T*s+1);[np,dp]=pade(L,2);%得到2阶传递函数中exp(-T*s)延迟环节分子分母系数Gy=tf(np,dp);G=Gz*Gy;PKp=T/(K*L)%计算并显示P控制器step(feedback(PKp*G,1)),holdonPIKp=0.9*T/(K*L);%计算并显示PI控制器PITi=3.33*L;PIGc=PIKp*(1+1/(PITi*s))step(feedback(PIGc*G,1)),holdonPIDKp=1.2*T/(K*L);%计算并显示PID控制器PIDTi=2*L;PIDTd=0.5*L;PIDGc=PIDKp*(1+1/(PIDTi*s)+PIDTd*s/((PIDTd/10)*s+1))step(feedback(PIDGc*G,1)),holdon[PIDKp,PIDTi,PIDTd]%PID控制中Kp、Ti、Td参数gtext('P');gtext('PI');gtext('PID');程序代码说明:pade()函数是有理近似方法函数,它的调用格式为:[num,den]=pade(T,n)或[A,B,C,D]=pade(T,n)其中T为延迟时间常数,n为要求拟合的阶数上述程序运行后,得到的P、PI、PID控制器分别是PKp、PIGc、PIDGc,即,PKp=1.5,式中,PID控制器的参数为:Kp=1.8,Ti=20,Td=5.0,则PID控制器的直观表达式为在P、PI、PID控制器作用下,分别对应的阶跃响应曲线如图。

过程控制动态特性参数法,是在广义对象用一阶惯性加延迟近似提出的。即:P控制

PI控制2、柯恩-库恩整定法(Cohen-Coon)PID控制表5柯恩-库恩公式参数计算被控对象的数学模型由二个惯性环节串接组成,如下图。使用柯恩-库恩公式计算PID参数并进行仿真。(1)由于柯恩-库恩公式针对的是一阶惯性加延迟的系统,先建立该系统仿真模型,根据阶跃响应曲线等价为一阶系统。例4(2)在仿真结果曲线上任意取t1和t2两个点,求y(t1)和y(t2)的值。也可在稳定值的0.632和0.393出截取,即:t0.632=2*0.632=1.264和t0.393=2*0.393=0.79取值,即:

T=2(t0.632-t0.393)τ=2t0.393-t0.632T=1.5(t0.632-t0.283)τ=t0.632-t0.283T=0.67(t0.85-t0.35)τ=1.3t0.35-0.29t0.85也可取下列值求得

计算,其被控对象的参数可得其传递函数从上图中可取t1和t2为(4)将二个递函数的阶跃响应曲线对比比较把G0(s)和G(s)二个系统建立仿真模型,从阶跃响应曲线对比图中看出,可将二阶系统用一阶加延迟环节系统等价。仿真模型仿真结果(5)用G0(s)参数带入柯恩库恩公式(表5),计算PID参数:Kp=2.53Ti=0.354Td=0.05,根据公式:计算得:Ki=Kp/Ti=2.53/0.354=7.1Kd=Kp*Td=2.53*0.05=0.13(6)将参数代入,建立仿真模型得出阶跃响应曲线仿真结果曲线如下此时得到的超调量约22%,稳态时间0.9s,超调量有些偏大。(7)为了减少超调,减少Kp(取Kp=2),又为了使系统的超调不致于增大比例调节的增益过大,可增加一点积分时间常数Ti=0.6但这将牺牲一点稳态控制精度;微分时间常数Td不变仿真结果如下:此时超调量约10%,稳态时间基本不变。衰减曲线法是采用某衰减比(4:1或10:1)时设定的,是基于先把调节器置成纯比例控制系统试验所得到,再把比例带由大变小,加扰动观察响应过程,直到出现4:1或10:1过程为止。此时的比例带称衰减比例带,两个波峰之间的时间即为4:1或10:1衰减周期,根据获得的两个参数,可算出调节器的最佳整定参数值,见下表。3、衰减曲线法整定(阻尼振荡法)PPIPIDTdTi表4:1衰减曲线法参数整定计算公式Tsyt振荡周期41具体整定步骤为:在闭合系统中,把积分时间常数置最大微分时间常数置零Td=0,比例带置最大,重复加入扰动并把调节比例带由大到小,使之输出曲线出现4:1衰减,记录下此时的比例带和振荡周期,。PPIPIDTdTi表10:1衰减曲线法参数整定计算公式y(t)在闭合系统中,把积分时间常数置最大微分时间常数置零Td=0,比例带置最大,重复加入扰动并把调节比例带由大到小,使之输出曲线出现10:1衰减,记录下此时的比例带和振荡周期,Tr

。使用10:1衰减曲线法整定【例3】系统PID参数。(2)确定产生10:1的K值。仿真中试凑,当K=2.7时系统的衰减比为10:1得到此时的Tr=0.42s(3)代入表7计算公式,得到:Kp=3.375Ti=0.504Td=0.168(1)首先只加入比例环节例5(4)将Kp=3.375,Ti=0.5,Td=0.168建立仿真模型,可以得到响应曲线如图此时超调量约1%,稳态时间约0.4s。可以看出,该方法整定的参数获得了较好控制效果。控制规律比例度δ(%)积分时间Ti(min)微分时间Td(min)P2δkPI2.2δk0.85TkPD1.8δk0.1TkPID1.67δk0.5Tk0.125Tk4、稳定边界法(临界比例度)0tTky临界周期δK称为临界比例度表8衰减曲线稳定边界法整定计算公式整定步骤(1)系统闭环;(2)Ti最大、Td最小(没有积分、微分作用);(3)比例度δ放到100%(K=1),由大往小逐渐改变,每改变一次,通过设定值的改变给控制系统施加阶跃干扰,观察输出y的变化;(4)若y衰减振荡,则继续减小δ;若y发散振荡,则应增大δ;(5)当y出现等幅振荡(临界振荡),此时δK称为临界比例度,振荡周期Tk称为临界周期。临界比例度法优点:应用简单缺点:有些实际系统不允许进行等幅振荡测试,另外,对象也必须二阶以上系统,或是一阶加纯滞后的对象,否则,不能出现振荡。

已知飞轮升降系统模型对象:使用临界比例度法整定参数。(1)把调节器置成纯比例控制系统,搭建仿真模型,试凑比例带参数,直至使曲线出现等幅振荡。例6测得临界比例度和临界振荡周期为:δK=0.7;

Tk=95.2s(2)代入表8计算PID参数

δ=1.67×δK=1.67×0.7=1.17Ti=0.5×TK=0.5×95.2=47.6sTd=0.125×TK=0.125×95.2=11.9s为了仿真方便,计算Kp,Ki和Kd:Kp=1/δ=1/1.17=0.85Ki=Kp/Ti=0.85/47.6=0.018Kd=Kp×Td=0.85×11.9=10.11(3)将计算PID参数带入仿真模型,查看仿真结果:仿真结果从图中看出,曲线超调过大,稳态时间过长,需继续调节PID参数以得到好的阶跃响应曲线。(4)适当调整参数,当Kp=0.7;ki=0.02;kd=10时,显示结果:此时Mp<10%,较之前大大缩短,曲线效果比较好(1)经验法:简单可靠,能够应用于各种控制系统,特别适合扰动频繁,记录曲线不太规则的控制系统;缺点是需反复凑试,花费时间长.同时,由于经验法是靠经验来整定的,是一种“看曲线,调参数”的整定方法,适合现场经验较丰富、技术水平较高的使用。(2)动态特性参数法:是是必须将对象等价为一阶惯性加延迟环节传递函数才能使用的整定方法。此方法理论性相对较强,适应性也较广,并为调节器参数的最优整定提供了可能。四、控制器参数整定方法的比较(3)衰减曲线法:可以不知道系统的传递函数,实验实验即可实现。它适用于各种控制系统,但反应时间很短的流量控制系统,及反应时间很长的温度控制系统。但对于外界干扰作用频繁的控制系统,由于很难得到衰减曲线,难于确定衰减比例度和衰减周期,而导致无法应用。(4)临界比例度法:可以不知道系统的传递函数,实验实验即可实现。简便而易于判断,整定质量还比较好,适用于一般的温度、压力、流量和液位控制系统;但工艺生产约束条件不允许出现等幅振荡的系统不适用。五、使用Smith预估器设计PID控制器参数若被控对象的传递函数为G0(s)e-τs,其中G0(s)为除去纯滞后部分对象的特性,控制器的传递函数为Gc(s),预估补偿器的传递函数为Gs(s),则Smith预估器控制原理如图所示。Smith预估器控制仿真框图

例7使用Smith预估器重新设计被控对象的控制系统,要求:(1)使用动态特性参数法设计PID控制器基础上,加入Smith预估器,比较Smith预估器和PID控制的效果,并绘制两种控制的阶跃响应曲线。(2)根据Smith预估器得到的结论,使用动态特性参数法计算PID控制参数,重新编写成程序。程序命令:K=22;T=50;tau=20;G1=tf(K,[T,1]);[n1,d1]=pade(tau,2);G2=tf(n1,d1);Gp=G1*G2;Kp=(tau/T+0.88)/(2.6*K*(tau/T-0.15));Ti=0.81*T+0.19*tau;Td=0.25*TGc=tf([Kp*Ti*Td,Kp*Ti,Kp],[Ti,0]);%计算PID控制器传递函数disp(['Kp=',num2str(Kp),'Ti=',num2str(Ti),'Td=',num2str(Td)]);G11=feedback(G1*Gc,1);G12=G11*G2;G22=feedback(Gp*Gc,1);subplot(1,2,1);step(G12);subplot(1,2,2);step(G22);结果:Kp=0.08951Ti=44.3Td=12.5二种方法的响应曲线如图:工业自动化生产中,一般认为纯延迟时间τ与时间常数T之比大于0.3则认为该过程是具有大延迟的工艺过程。第8讲MATLAB在状态空间分析中的应用主讲内容一、

极点配置的概念二、系统的可控性与可观测性三、极点配置与状态反馈四、最优二次型设计一、

极点配置的概念1、什么是极点配置

对线性定常系统,系统的稳定性和各种性能指标,主要是由闭环系统的极点位置所决定的。极点配置方法就是把系统的闭环极点配置到希望的极点位置上,使得闭环系统的极点位于s平面上所期望的值,从而获得良好的性能指标。线性系统的动态性能,如系统稳定性,时域分析中的超调量、过渡时间等指标,主要取决于系统的极点位置。因此,作为系统性能指标的一种形式,往往是给定一组期望极点,或者根据时域指标转换成一组等价的期望极点。极点配置问题,就是通过选择反馈增益矩阵,将闭环系统的极点恰好配置在根平面上所期望的位置,以获得所希望的动态性能。对于SISO系统来说,极点配置问题描述如下:设控制系统的状态方程模型为:2、状态空间模型式中:u—系统的控制输入向量;X—系统的状态向量;Y—系统的输出向量A—控制对象状态矩阵B—控制矩阵;C—输出矩阵;当引入状态反馈后,系统的控制信号为,这里是系统外部的输入;是行向量,称为反馈矩阵;此时闭环系统状态方程模型为:

加入状态反馈增益阵K=[k0,k1…..kn-1],可求得对的闭环状态方程表达式

状态反馈系数矩阵二、系统的可控性与可观测性1、可控性系统可控性指的是控制作用对被控系统的状态和输出进行控制的可能性。2、可观测性可观测性反映由能直接测量的输入输出的量测值来确定反映系统内部动态特性的状态的可能性。状态状态状态可控性反映输入u(t)对状态x(t)的控制能力。状态可观测性反映系统外部可直接或间接测量的输出y(t)来确定或反映系统状态的能力。三、极点配置与状态反馈1、极点配置必要条件控制系统中对动态性能的要求可通过设计一组希望的闭环极点(主导极点)来实现。如果把一个n阶系统中的n个状态变量作为系统的反馈信号,在系统可控的条件下,就能实现对系统极点的任意配置。

由于线性定常系统的特征多项式为实系数多项式,因此考虑到问题的可解性,对期望的极点的选择应注意下列问题:(1)对于

n阶系统,必须给出n个期望的极点;(2)期望极点必须是实数或成对出现的共轭复数;(3)期望极点必须体现对闭环系统性能品质指标要求完全可控的充分必要条件:状态阵A满秩,即:对矩阵A的所有的特征值λi=[i=1,2,3……n]

其中:n为矩阵A的维数。也称为系统的可控性判别阵。

2、用MATLAB进行极点配置的步骤(1)检查系统的可控性,当时系统可控;在MATLAB中可用B=rank(ctrb(A,b))实现;(2)由希望的闭环极点得到希望的闭环特征方程,确定系统矩阵A的特征多项式系数,在MATLAB中,可用poly函数实现;可控性判别Matlab函数如下:functionm=controllble(A,B)ctrl=rank(ctrb(A,B));n=length(A);ifn==ctrldisp(‘系统可控‘)else

disp(‘系统不可控‘)end(3)确定变换矩阵T,T=B*w,B为能控性判别矩阵,在MATLAB中可用ctrb(a,b)实现,w在MATLAB中可用hankel()函数来实现。(4)用引入反馈系数后的特征方程与希望的特征方程对比,确定期望特征多项式系数(5)求增益矩阵K的系数:(6)确定输入变换器L状态反馈极点配置:通过状态反馈矩阵K的选取,使闭环系统的极点,即A-BK的特征值恰好处于所希望的一组给定闭环极点的位置上。

此时,状态反馈律u=-Kx+v/L作用下的闭环系统如图所示:

系统状态反馈后,需要输入变换器1/L进行配准,配准后的控制阵B1=L.*B,L取值为极点配置(状态阵A1=A-BK)后传递函数s=0的值,以消除极点配置后的稳态误差,即:L的取值是加入状态反馈系数矩阵后的传递函数转换成多项式传递函数,再令s为零,即:程序命令:[num1,den1]=ss2tf(A-B*K,B,C,D);L=polyval(den1,0)/polyval(num1,0)MATLAB可以用polyval()函数取函数某零点的值得到,相应的实现程序如下:(1)acker函数:功能:SISO极点配置格式:K=acker(a,b,p)%只适用于SISO系统说明:acker函数利用Ackermann公式计算反馈增益矩阵K,使采用全反馈的单输入系统具有指定的闭环极点,即(2)place函数功能:MIMO极点配置格式:K=place(A,B,p)[K,prec,message]=place(A,B,p)

3、acker函数和place函数

MATLAB工具箱提供了place和acker函数进行极点配置设计,可直接采用这两个函数进行设计。说明:place函数利用Ackermann公式计算反馈增益矩阵K,使采用全反馈的多输入多输出系统具有指定的闭环极点,即[K,prec,message]=place(A,B,p)同时返回系统闭环极点与希望极点p的接近程度prec。prec中的每个量的值为匹配的位数。如果系统闭环极点的实际极点偏离希望极点10%以上,则message将给出警告信息。观测器极点为重根时,提示出错信息,place()命令不适于进行极点为重根的极点配置,对于有重根的情况可直接用acker()命令计算。设系统的传递函数为:

试设计状态反馈控制器,使闭环系统的极点为

P=[-2,-10,-10]。例1:程序代码:(法一)

num=[10];den=conv([10],conv([11],[12]));[A,B,C,D]=tf2ss(num,den)Nctr=rank(ctrb(A,B));n=length(A);ifn==Nctr

disp('该系统是可控的');p=[-2-10-10];K=acker(A,B,p)%使用place函数出错,因为p有重根else

message('系统是不可控的,无法进行极点配置')endeig(A-B*K)结果该系统是可控的K=19138200ans=-10.0000-10.0000-2.0000num=[10];den=conv([10],conv([11],[12]));[A,B,C,D]=tf2ss(num,den)Nctr=rank(ctrb(A,B));n=length(A);ifn==Nctr

disp('该系统是可控的');fq=poly([-2,-10,-10])%计算配置极点的特征多项式thta=polyvalm(fq,A)k=[001]*inv(ctrb(A,B))*thatelse

message('系统是不可控的,无法进行极点配置')endeig(A-B*K)程序代码:(法二)已知系统的传递函数为:希望极点为,试设计状态反馈矩阵K。程序代码:num=[1];den=[118720];[A,B,C,D]=tf2ss(num,den);Nctr=rank(ctrb(A,B));n=length(A);ifn==Nctrdisp('该系统是可控的');p=[-2+2j-2-2j-10];K=place(A,B,p)elsemessage('系统是不可控的,无法进行极点配置')end例2:

结果:

该系统是可控的K=-4-2480ans=-10.0000+0.0000i-2.0000+2.0000i-2.0000-2.0000ieig(A-B*K)%计算特征值4、系统可观测系统能设计状态观测器的前提条件是系统必须可观,在设计状态观测器前必须判断系统的可观性,判断系统可观性程序如下:functionm=observable(a,c)obsvb=rank(obsv(a,c));n=size(a,1);ifn==obsvbdisp(['系统是可观测的!'])elsedisp(['系统是不可观测的!'])end若线性系统为:给定观测器极点为,计算观测器反馈矩阵G例3:A=[01;-2-3];B=[0;1];C=[20];D=0Nobsv=rank(obsv(A,C));n=length(A);ifn==Nobsvdisp('该系统是可观测的');p=[-10-10];G=acker(A',C',p)elsemessage('系统是不可观测的,无法进行极点配置')end程序代码(法一)结果G=8.500023.5000A=[01;-2-3];B=[0;1];C=[20];D=0Nobsv=rank(obsv(A,C));n=length(A);ifn==Nobsvdisp('该系统是可观测的');fq=poly([-10-10])%计算配置极点的特征多项式pthi=polyvalm(fq,A)G=[01]*inv(obsv(A‘,C))*pthielse???message('系统是不可观测的,无法进行极点配置')end程序代码(法二)由观测器的状态方程可以看到,观测器的系数矩阵的(A-GC)计算是状态反馈矩阵(A-BK)的转置计算,即观测器方程的对偶系统的状态反馈,因此MATLAB函数place()和acker()同样可以用于状态观测器反馈矩阵G的计算。结论:C=[100]y=cx

已知系统状态方程,若期望特征值为p=[-2+2j,-2-2j,-10],判断系统是否可控?若完全可控,求状态增益矩阵K。判断系统是否可观测?若完全能观测,求观测矩阵G。例4:程序代码:A=[010;001;-1-5-6];B=[0;0;1];C=[100];Nctr=rank(ctrb(A,B));Nobsv=rank(obsv(A,C));n=length(A);ifn==Nctrdisp('该系统是可控的');p=[-2+2j-2-2j-10];K=acker(A,B,p)ifn==Nobsvdisp('该系统是可观测的');G=acker(A',C',p)elsedisp('该系统是不可观测的');endelsedisp('该系统是不可控的');disp('该系统也是不可观测的')end结果:该系统是可控的K=[79438]该系统是可观测的G=[8-569]设受控系统的传递函数为:用状态反馈将闭环系统极点配置为设计实现上述反馈的全维观测器,设其极点为(-10,-10)。例5:程序代码:num=[1];den=conv([10],[16]);[A,B,C,D]=tf2ss(num,den);Nctr=rank(ctrb(A,B));Nobsv=rank(obsv(A,C));n=length(A);ifNctr==n&Nobsv==ndisp('该系统是可控的,也是可观测的');p1=[-4+6i-4-6i];p2=[-10-10];K=acker(A,B,p1)G=acker(A',C',p2)elsemessage(‘系统不可控,无法进行极点配置和计算观测阵')end结果:该系统是可控的,也是可观测的K=252G=1614已知单倒立摆系统摆长为,重量为m的摆用铰链安装在质量为M的小车上,小车受执行电机操纵,在水平方向施加控制力u,相对参考系产生位移x,重力加速度为g,当摆角为θ时,保持保持在垂直位置,列出系统的状态空间表达式为:设M=1Kg,m=0.1Kg,L=1m,g=9.8m/s2,用状态反馈配置系统极点,运用全维状态观测器实现状态反馈。例6:程序代码:M=1;m=0.1;l=1;g=9.8A=[0100;00-(m*g/M)0;0001;00(M+m)*g/(M*l)0];B=[0;1/M;0;-(1/M*l)];C=[1000];Nctr=rank(ctrb(A,B));Nobsv=rank(obsv(A,C));n=length(A);ifNctr==n&Nobsv==ndisp('该系统是可控的,也是可观测的');p=[-1-2-1+j-1-j]p2=[-2-3-2+j-2-j]K=acker(A,B,p)G=acker(A',C',p2)'elsemessage('系统是不可控的,无法运用全维状态观测器')endK=-0.4082-1.0204-21.1882-6.0204G=9.000041.7800-149.0000-490.1922结果给定一个n阶线性控制对象,其状态方程是

寻求最优控制u(t),使系统能够满足某种最优的要求,最简单地方法是引入线性二次型(LinearQuadratic,简称LQ)最优控制。四、最优二次型设计1、连续系统的LQ调节器设计格式:[K,P,E]=lqr(A,B,Q,R)[K,P,E]=lqr(A,B,Q,R,N)说明:A为系统的状态矩阵;B为系统的输出矩,阵;Q为给定的半正定实对称常数矩阵;R为给定的正定实对称常数矩阵;K为最优反馈增益矩阵;P为对应Riccati方程的唯一正定解。(若矩阵A-BK是稳定矩阵,则总有正定解P存在);E为矩阵A-BK的闭环特征值。设计线性二次型最优控制器关键是选择加权矩阵Q。一般说来,Q选择的越大,系统达到稳态所需的时间越短,当然,还要实际的系统允许。基于最小值原理的线性二次型最优控制,通过求解代数Riccati方程,得到的状态反馈控制律K,可以使系统的各状态获得渐近稳定特性。它的不足之处在于,加权矩阵Q、R的值与系统响应性能之间的关系是定性的,往往不能一次得到满意的结果,需要多次调整它们的值得到满意的系统响应性能。已知系统状态方程为:R=1,求最优二次型解。例7:程序代码:A=[010;001;-35-27-9];B=[0;0;1];Q=eye(3);R=1;[k,p,e]=lqr(A,B,Q,R)

结果:k= 0.01430.11070.0676p= 4.26252.49570.01432.49572.81500.11070.01430.11070.0676e= -5.0958+0.0000i-1.9859+1.7110i-1.9859-1.7110i得出最优反馈增益矩阵k,闭环特征值e和Riccati方程的正定矩阵解。采用输入反馈,系统的性能指标为:R=1设计LQ最优控制器,计算最优状态反馈矩阵K=[k1,k2,k3],并对闭环系统进行单位阶跃仿真。例8:A=[0,1,0;1,0,1;-5,-14,-19];B=[0,0,1]';C=[1,0,0];D=0;Q=diag([1,1,1]);R=1;G0=ss(A,B,C,D);p=eig(A)figure(1);step(G0)K=lqr(A,B,Q,R)k1=K(1);Ac=A-B*K;p1=eig(Ac)Bc=B*k1;G=ss(Ac,Bc,C,D);figure(2);step(G);程序代码:控制前后的单位阶跃响应曲线如图结论:从控制前系统的特征值看出,系统有个右极点,是不稳定的。经最优输出反馈后系统稳定,闭环系统阶跃响应曲线没有超调量,稳态时间也比较小。

某倒立单摆系统如图所示,其状态方程为:例9:其中:

小车的质量为M=0.5kg,摆长倒立单摆的质量m=0.2Kg

小车的摩擦系数b=0.1N/m

倒立单摆的惯量为I=0.006Kgm2

小车的坐标为x,倒立单摆的垂直角度、。使用最优的规则设计线性二次型最优控制器,要求:(1)、输出量x和的过渡过程时间小于2s。(2)、输出量的上升时间小于0.5s(3)、输出量的超调显小于20oclear;clc;M=0.5;m=0.2;b=0.1;i=0.006;g=9.8;l=0.3;p=i*(M+m)+M*m*l^2;A=[0100;0-(i+m*l^2)*b/p(m^2*g*l^2)/p0;0001;0-(m*l*b)/pm*g*l*(M+m)/p0];B=[0;(i+m*l^2)/p;0;m*l/p];C=[1000;0010];D=[0;0];p=eig(A)G0=ss(A,B,C,D);figure(1);step(G0)Q=[1000;0000;0010;0001];R=1;K=lqr(A,B,Q,R)Ac=A-B*K;p1=eig(Ac)G1=ss(Ac,B,C,D);figure(2);step(G1)程序代码:p=05.5651-0.1428-5.6041结果系统系统的特征值有一个右半平面的极点,因此不稳定,必须加入校正装置。添加最优控制器后,系统的特征值:p1=-8.2782+0.0000i-3.8096+0.0000i-0.8428+0.8380i-0.8428-0.8380i系统稳定。结果:从系统的阶跃响应曲线中可以看到,系统超调量基本满足要求,但一方面系统的稳态值与期望相差很远(小车坐标的响应曲线稳态值为负值),另一方面过渡过程时间和上升时间都很大,必须重新校正。方法就是加大加权矩阵Q的值。结论:MATLAB的工具箱中提供了Kalman()函数来求解系统的Kalman滤波器。其调用格式为:对于一个给定系统sys,噪声协方差Q,R,N函数返回一个Kalman滤波器的状态空间模型kest,其滤波器反馈增益为L,状态估计误差的协方差为P。

2、Kalman滤波器MATLAB实现

Kalman滤波器就是最优观测器,能够抑制或滤掉噪声对系统的干扰和影响。利用Kalman滤波器对系统进行最优控制是非常有效的。

已知系统的状态方程为:用Q=0.001、R=0.1,设计Kalman滤波器的增益矩阵与估计误差的协方差。例10:clc;A=[-1,0,1;1,0,0;-3,7,-2];B=[6,1,1]';C=[0,0,1];D=0;G=ss(A,B,C,D);Q=0.001;R=0.1;[kest,L,P]=kalman(S,Q,R)结果:L=1.01501.20561.8469P=0.06800.07220.10150.07220.08250.12060.10150.12060.1847程序代码:3、基于全维状态观测器的调节器(1)reg函数控制系统工具箱中的函数reg(),用来设计基于全维状态观测器的调节器。命令格式:

Gc=reg(G,K,L)其中G为受控系统的状态空间表示,K表示状态反馈的行向量,L表示全维状态观测器的列向量。Gc为基于全维状态观测器的调节器的状态空间表示。(2)LQG最优控制器的实现LQG最优控制器是由系统的最优反馈增益K和Kalman滤波器构成如图:借助MATLAB工具箱函数reg()来实现LQG最优控制。函数调用格式为:[A,B,C,D]=reg(sys,K,L)

其中,sys为系统状态空间模型,K为用函数lqr()等设计的最优反馈增益,L为滤波器反馈增益,[A,B,C,D]为LQG调节器的状态空间模型。设系统的传递函数框图所示。取加权矩阵,R1=1,以及噪声矩阵Q2=1,R2=1,Q1为:设计Kalman滤波器,对系统进行LQG最优控制,画出校正前后的系统闭环的单位阶跃响应曲线

例11:p=[-2,-1,0];z=[];k=7;G=zpk(z,p,k)G1=feedback(G,1);[a,b,c,d]=zp2ss(z,p,k)s1=ss(a,b,c,d);q1=[10,0,0;0,1,0;0,0,1];r1=1;K=lqr(a,b,q1,r1);q2=1;r2=1;[kest,L,P]=kalman(s1,q2,r2);

[af,bf,cf,df]=reg(a,b,c,d,K,L);sf=ss(af,bf,cf,df);sys=feedback(G,sf);[num,den]=tfdata(sys,'v');KL=polyval(den,0)/polyval(num,0)[A,B,C,D]=tf2ss(num,den);B1=KL.*B;sys1=ss(A,B1,C,D)t=0:0.1:10;step(G1,sys1,t);程序代码:结果:最优控制前后单位阶跃响应曲线如图所示。可以看出,最优控制后,系统的动态指标得到了很大改善。第9讲

simulink在自动控制理论中的仿真主讲内容Simulink操作基础仿真模块编辑二阶及高阶系统阶跃响应仿真稳定与不稳定系统的仿真校正环节系统仿真PID控制系统仿真非线性系统仿真状态反馈仿真

一、Simulink操作基础Simulink是MATLAB的重要组成部分,提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能。1、Simulink的启动在MATLAB的命令窗口输入“simulink”或单击MATLAB主窗口工具栏上的Simulink命令按钮即可启动Simulink。Simulink启动后会显示Simulink模块库浏览器(SimulinkLibraryBrowser)窗口。1、操作界面打开文件新建文件打开案例文件单击建立文件,即可打开Simulink库浏览窗口。它由标题、功能菜单和编辑窗口部分组成。功能菜单编辑窗口仿真模块库选项卡标题2、Simulink的基本模块库打开模型库119(1)常用的标准模块库信号源模块库(Sources);接收模块库(Sinks);数学运算模块库(Math);连续系统模块库(Continuous);离散系统模块库(Discrete);函数与表模块库(Functions&Tables);非线性系统模块库(Nonlinear);信号与系统模块库(Signals&Systems);子系统模块库(Subsystems)。用鼠标的左键双击各个标准模块库的图标,便可打开相应的标准模块库,在各标准模块库中均包含一些相应的标准模块。(2)信号源模块库(Sources)(3)接收模块库(Sinks)连续系统模块库(Continuous)(4)数学运算模块库(MathOperations)3、打开案例文件4、保存和退出模型创建完成后,从模型编辑窗口的File菜单项中选择“Save”、“SaveAs”命令或按工具栏的保存按钮。可以以模型文件的格式(扩展名为.mdl)存入磁盘。如果要对一个已经存在的模型文件进行编辑修改,需要打开该模型文件,其方法是,在MATLAB命令窗口直接输入模型文件名或在File菜单中选择“Open”命令也可在操作界面直接选择最近打开的文件单击。均可打开已经存在的模型文件。退出:关闭所有模型编辑窗口和模块库浏览器窗口即可完成。二、模块编辑在打开的模块库中直接使用鼠标拖拽到模型编辑器即可进行编辑。如图:单击仿真双击示波器几乎所有模块的参数都允许用户进行设置,只要双击模块或在模块上按鼠标右键并在弹出的快捷菜单中选择相应模块的参数设置命令就会弹出模块参数对话框。例如双击传递函数模块:1、

模块的参数和属性设置2、示波器设置打开样式(1)选择显示属性(2)显示器修改结果(3)使用标尺

使用标尺可以量测曲线各点的横坐标时间和纵坐标幅度数值。设置方法单击工具栏“标尺”,如图:130(1)复制打开正在编辑的模型编辑窗口,将光标定位于要复制的模块上,按下鼠标右键选择“Copy”,在编辑的模型编辑窗口中适当位置右击下的“Paste”,若同一模块在同一窗口中复制了一次以上,它们会自动在模块名字末加进次序号,以资区别。(2)移动打开正在编辑的模型编辑窗口,将光标定位于要移动的模块上,直接拖到鼠标到指定位置,或按下鼠标右键选择“Cut”,在编辑的模型编辑窗口中适当位置右击下的“Paste”。3、模块操作131(3)模块的删除按Delete或Backspace键即可以删除所选定的一个或多个模块。(4)模块的旋转首先用鼠标选中要旋转处理的模块,右击选择“Rotate&Flip”下的“Clockwish”或按“Ctrl+R”命令,此时,模块顺时针方向旋转90度。选择“Rotate&Flip”下的“FlipBlock”接线翻转180度。(5)模块间的连接线模块间的连接线是从某模块的输出端(三角符号)出发直指另一模块的输入口(大于符号)的有向线段,删除连线,先用鼠标单击选定该连段,按Delete键,可删除连线。。(6)模块名字的修改模块名字字符串表示,修改时用鼠标单击所选标题,输入新的标题(中西文均可)然后用鼠标单击窗口中的任一地方,修改工作完成。模块名字的字体、字形和大小也可通过选择菜单命令如图。(7)用MATLAB命令运行Simulink模块

使用sim命令在命令窗口就可以方便地对模型分析和仿真。语法格式:[t,x,y]=sim(‘mymodel’,timespan,options,ut)或[t,x,y1,y2,…]=sim(‘mymodel’,timespan,options,ut)说明:“mymodel”为模型名;timespan是仿真时间区间,可以是[t0,tn]表示起始时间和终止时间;options为模型控制参数;ut为外部输入向量。timespan、options和ut参数都可省略,系统自动配置参数。

在命令框中运行建立的二阶系统的阶跃响应模型为“mymodel”,则:[t,x,y]=sim(‘mymodel’,[0,15]);plot(t,x(:,2));gridon;例1说明:t为时间列向量;x为状态变量;y为输出信号,每列对应一路输出信号,如图:三、二阶及高阶系统阶跃响应仿真

研究二阶系统标准传递函数二个重要参数,即:阻尼比及自由振荡频率变化对阶跃响应的影响。针对标准传递函数:令自由振荡频率ωn=10时,构成闭环系统,在“TransferFcn”修改参数,分别取ζ=0,0.707,1,2时,连接各模块。1、标准二阶系统传递函数2、不同阻尼比的模型搭建3、仿真结果ζ=0.7ζ=0ζ=1ζ=24、不同自由振荡频率下的模型搭建5、仿真结果ωn=1ωn=2ωn=3四、稳定与不稳定系统的仿真1、已知开环传递函数:使用Simulink进行闭环系统仿真,说明系统的稳定性。例2由开环传递函数搭建闭环系统仿真如图:根据仿真结果看出,系统是稳定的。已知开环传递函数:使用Simulink进行闭环系统仿真,说明系统的稳定性。例3由开环传递函数搭建闭环系统仿真如图:根据仿真结果看出,系统是不稳定的。

C=[0010]D=0

-1000A=00-2-20001330-21B=200已知状态空间矩阵,判断系统的稳定性。分别使用MATLAB命令和Simulink输出阶跃响应曲线并判定稳定性例4输入参数:由状态空间传递函数,搭建闭环系统仿真如图:A=[-1000;00-2-2;0001;330-2];B=[1;2;0;0];C=[0010];D=[0];根据仿真结果看出,系统是稳定的。

C=[0010]D=0

1000A=00-2-20001330-21B=200已知状态空间矩阵,判断系统的稳定性。分别使用MATLAB命令和Simulink输出阶跃响应曲线并判定稳定性例5输入参数:由状态空间传递函数,搭建闭环系统仿真如图:A=[1000;00-2-2;0001;330-2];B=[1;2;0;0];C=[0010];D=[0];根据仿真结果看出,系统是不稳定的。根据系统增益判定系统稳定性已知连续系统的开环传递函数:(1)当k=5时,进行阶跃系统仿真判定系统的稳定性。(2)当k=50时,进行阶跃系统仿真判定系统的稳定性。课堂作业五、校正系统仿真

例6按照给定传递函数,建立校正前后仿真模型:校正前从图中观测校正前超调量达到80%,在稳态误差2%情况下,稳态时间为4.93s。校正后超调量达到27%,稳态时间为0.1s,校正后结果

例7校正前校正后从图上看出:滞后校正前超调量达到41.6%,稳态时间4s,校正后超调量为16%,稳态时间0.23s结果155控制系统控制质量决定因素:被控对象的动态特性。PID被控对象给定值r被调量yeu六、PID控制系统仿真整定的实质:通过选择控制器参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,实现最佳的控制效果整定的前提条件:设计方案合理,仪表选择得当,安装正确1、PID控制系统组成使用试凑参数法。使用simulink仿真完成添加P、PI、PID及未加校正的的仿真,并在一张图上进行对比。设一级液位被控对象传递函数为:例5PI控制PID控制Kp=1.42Kp=2.55Ki=0.06Ki=0.1Kd=1.91P控制Kp=1.57搭建仿真模型PID仿真结果比较PID控制PI控制P控制未控制被控对象如图所示,试凑法整定PID参数,并对P、PI、PID参数进行比较。课堂练习:七、非线性相平面分析与校正设计1、二阶系统的相平面分析根据二阶系统标准传递函数:

,令自由振荡频率ωn=10,分析阻尼比ξ=0,0<ξ<1,-1<ξ<0,三种情况下的相平面并进行分析。例6(1)无阻尼时设置“step”的“StepTime”为0,“Finalvalue”为3v,示波器输出结果:结论:无阻尼时输出为等幅振荡曲线设置“XYGraph”显示范围:X:[-11],Y:[-44],输出相平面如图:结论:无阻尼时相平面为同心椭圆形(2)欠阻尼时选择ξ=0.15搭建仿真模型,参数选择同(1):示波器输出及相平面输出结果如图:(3)负阻尼时选择ξ=-0.15搭建仿真模型,参数选择同(1):示波器输出及相平面输出结果如图:2、非线性校正设计

对于发散振荡的三阶随动系统,加入饱和非线性进行校正,减少稳态时间,使得系统快速达到稳定。(1)针对三阶随动不稳定系统搭建的仿真:例7示波器输出及相平面输出结果如图:(1)针对三阶随动不稳定系统,加入饱和非线性搭建的仿真:示波器输出及相平面输出结果如图:系统稳定的基础上,加入速度反馈:示波器输出及相平面输出结果如图:八、状态反馈仿真

已知闭环系统框图如图9.71所示,若期望特征值为p=[-1+j,-1-j,-9],判断该系统是否可控?若完全可控,求状态增益矩阵K的值,并要求:(1)编程计算增益矩阵K,增益系数L。(2)由设计的反馈增益,建立仿真;(3)对比分析状态反馈前后的动态特性参数。例8clc;num=10;den=conv([1,0],conv([1,2],[1,3]));G0=tf(num,den);G1=feedback(G0,1);[num1,den1]=tfdata(G1,'v');[A,B,C,D]=tf2ss(num1,den1);Nctr=rank(ctrb(A,B));n=length(A);ifn==Nctrdisp('该系统是可控的');p=[-1+j-1-j-9];K=place(A,B,p)[num2,den2]=ss2tf(A-B*K,B,C,D);L=polyval(den2,0)/polyval(num2,0)编程计算反馈增益矩阵及结果:

K=6.000014.00008.0000,L=1.8000,根据计算的状态反馈增益K及L值,构造的仿真模型如图:原系统加入状态反馈后原闭环系统阶跃响应校正后加入状态反馈控制阶跃响应结果:结论:对比仿真极点配置结果看出,状态反馈未加入极点配置前,阶跃响应的超调量为37%,稳态时间4.53s,峰值时间2.27s,稳态误差为0;加入极点配置的阶跃响应的超调量为4%,稳态时间为9.08s,峰值时间2.95s,稳态误差为0,可见,加入极点配置后的超调量及稳态时间有很大变化,峰值时间稍有延迟。

第10讲

App界面设计一、图形用户界面设计概述二、组件及属性三、句柄及回调函数的使用四、UI设计案例五、App应用设计六、菜单设计七、对话框设计主讲内容一、图形用户界面设计概述1、MATLAB图形用户界面(GUI)

图形界面中各对象关系有:图形根对象框架窗口对象坐标系对象UImenu对象UIcontrol对象文本对象图片对象曲面对象线条对象影像对象Uicontestmenu对象

创建App界面的组件库分为常用、容器、图窗工具和仪器组件。单击【新建】菜单中的“APP”

或在命令行中键入

“appdesigner”即可启动App设计界面

构建App时,可使用按钮、复选框、树和下拉列表等标准组件,也可使用仪表、指示灯、旋钮和开关等仪器组件,复现仪表面板的外观和操作。2、App(Designer)App界面设计菜单设计对话框设计3、启动方式系统提供的模板5、组件的使用序号控件对象控件名称说明1HTMLApp.HTML网页嵌入到App中2下拉框App.DropDown创建下拉框3切换按钮组App.ButtonGroup2创建切换按钮4列表框App.ListBox创建列表框5单选按钮组App.ButtonGroup创建单选按钮组6图像App.Image添加图片7坐标区App.UIAxes创建UI绘图坐标区8复选框App.CheckBox创建复选框9微调器App.Spinner创建微调器10按钮App.Button创建按钮11文本区域App.TextArea创建文本区域12日期选择器App.DatePicker创建日期13

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论