MATLAB教程及实训2版教学教程曹弋8节

上传人:E**** 文档编号:90313889 上传时间:2019-06-11 格式:PPT 页数:45 大小:507KB
返回 下载 相关 举报
MATLAB教程及实训2版教学教程曹弋8节_第1页
第1页 / 共45页
MATLAB教程及实训2版教学教程曹弋8节_第2页
第2页 / 共45页
MATLAB教程及实训2版教学教程曹弋8节_第3页
第3页 / 共45页
MATLAB教程及实训2版教学教程曹弋8节_第4页
第4页 / 共45页
MATLAB教程及实训2版教学教程曹弋8节_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《MATLAB教程及实训2版教学教程曹弋8节》由会员分享,可在线阅读,更多相关《MATLAB教程及实训2版教学教程曹弋8节(45页珍藏版)》请在金锄头文库上搜索。

1、第8章 线性控制系统的分析,8.1 控制系统的数学模型 8.2 时域分析的MATLAB实现 8.3 频域分析的MATLAB实现 8.4 根轨迹分析的MATLAB实现 8.5 稳定性分析的MATLAB实现 8.6 稳态误差分析的MATLAB实现 8.7状态分析的MATLAB实现 8.8线性定常系统分析与设计的图形工具 8.9综合实例介绍,8.1 控制系统的数学模型 8.1.1 创建系统的模型并相互转换,1. 传递函数模型 sys=tf(num,den,Ts) %由分子分母得出传递函数 sys=tf(num,den,Ts,Property1,v1,Porperty2,v2,) %创建传递函数并设置

2、属性,例8-1 创建连续二阶系统,已知传递函数模型为 num1=5; den1=1 2 2; sys1=tf(num1,den1) %创建传递函数, sys1t=tf(num1,den1,inputdelay,2) %创建带延迟环节的传递函数, num2=0.5 0; den2=1 -1.5 0.5; sys2=tf(num2,den2,-1) %创建脉冲传递函数,2. 零极点增益模型 G=zpk(z,p,k,Ts) %由零点、极点和增益创建模型 G=zpk(z,p,k,Property1,v1,Porperty2,v2,) %创建模型并设置属性 例:创建 z=-0.5; p=-0.1+j -

3、0.1-j; k=2; G=zpk(z,p,k) %创建zpk模型,3. 状态方程模型 G=ss(a,b,c,d,Ts) %由a、b、c、d参数创建模型 G=ss(a,b,c,d,Ts,Property1,v1,Porperty2,v2,) %创建模型并设置属性,4. 模型的转换 5. 连续系统与离散系统模型的转换 MATLAB控制工具箱提供了c2d、d2c和d2d函数实现连续系统和离散系统的相互转换。,例8-3 创建连续系统的零极点增益模型,并转换为传递函数和状态空间模型,零极点增益模型为 z=-0.5; p=-0.1+j -0.1-j; k=2; G=zpk(z,p,k) %创建zpk模型

4、 num,den=zp2tf(z,p,k); G11=tf(num,den) %转换为传递函数模型,8.1.2 系统的模型参数,2. 获取模型的参数 (1)获取模型参数的函数 tfdata、zpkdata和ssdata、dssdata函数分别用来获取传递函数模型、零极点增益模型和状态方程模型的参数,这些函数名都是在创建模型的函数名后面加“data”。 (2)获取模型尺寸的函数 n=ndims(sys) %获取模型的维数 d=size(sys,n) %获取模型的参数 d=size(sys,order) %获取模型的阶数,3. 使用get和set函数 (1)set函数 set(sys,proper

5、ty1,value1,property2,value2,) %设置系统属性 (2)get函数 value=get(sys,property) %获取当前系统的属性,8.1.3系统模型的连接和简化,1. 串联环节 G=series(G1,G2,outputs1,inputs1) 也可以直接使用G=G1*G2 2. 并联环节 G=parallel(G1,G2,in1,in2,out1,out2) 也可以直接使用: G=G1+G2,u(t),3. 反馈环节 G=feedback(G1,G2,feedin,feedout,sign) %计算反馈模型 说明:G1和G2模型必须都是连续系统或采样周期相同的

6、离散系统;sign表示反馈符号,当sign省略或=-1时为负反馈;feedin和feedout分别是G2的输入端口和G1的输出端口,可省略,当省略时G1与G2端口正好对应连接。,4. 复杂模型的连接 (1)对框图中的每个环节进行编号并建立它们的对象模型,环节是指一条单独的通路; (2)建立无连接的状态空间模型,使用append函数实现,append的命令格式如下: G=append(G1,G2,G3,) (3)写出系统的联接矩阵Q Q是联接矩阵,第一列是各环节的编号,其后各列是与该环节连接的输入通路编号,如果是负连接则加负号; (4)列出系统总的输入和输出端的编号,使用inputs列出输入端编

7、号,outputs列出输出端的编号; (5)使用connect函数生成组合后系统的状态空间模型,connect函数的命令格式为: Sys=connect(G,Q,inputs,outputs),例8-7 根据图8-6所示的模型结构框图计算模型的总传递函数,其中R1=1,R2=2,C1=3,C2=4。,练习,(1)有8条通路即8个环节,写出每个环节的传递函数模型; r1=1;r2=2;c1=3;c2=4; G1=1/r1; G2=tf(1,c1 0); G3=1; G4=-1; G5=1/r2; G6=tf(1,c2 0); G7=-1; G8=-1;,(2)建立无连接的状态空间模型; G=ap

8、pend(G1,G2,G3,G4,G5,G6,G7,G8) (3)写出系统的联接矩阵Q; Q=1 4 0 %通路1的输入是通路4 2 1 7 %通路2的输入是通路1和7 3 2 0 4 2 0 5 3 8 6 5 0 7 5 0 8 6 0; (4)列出系统总的输入和输出端的编号; inputs=1; outputs=6; (5)使用connect函数生成组合后系统的状态空间模型; Sys=connect(G,Q,inputs,outputs),8.1.4 将Simulink模型结构图转化为系统模型,MATLAB提供了linmod和linmod2函数命令将Simulink模型转换为数学模型。

9、例8-8 根据图8-6的模型结构框图在Simulink环境中创建系统模型,使用函数命令转化为传递函数。 r1=1;r2=2;c1=3;c2=4; A,B,C,D=linmod(ex8_8); %将mdl模型转换为状态空间模型 num,den=ss2tf(A,B,C,D); sys=tf(num,den),8.2 时域分析的MATLAB实现 8.2.1 使用拉氏变换和逆变换计算时域响应,例8-9 使用拉氏变换和逆变换计算输入信号为阶跃信号和脉冲信号的系统输出响应,已知系统的传递函数为 。 syms s t; rs=laplace(heaviside(t); %阶跃信号 fs=1/(0.5*s2+

10、s+1); cs=rs*fs; ct=ilaplace(cs) %阶跃响应表达式 ct = -exp(-t)*cos(t)-exp(-t)*sin(t)+1,8.2.2 线性系统的时域分析,1. 阶跃响应 step(G, T) %绘制系统G的阶跃响应曲线 y,t,x=step(G, T) %得出系统G的阶跃响应数据 2. 脉冲响应 系统的脉冲响应使用impulse函数命令绘制,命令格式与step函数相同。 3. 斜坡响应和加速度响应 斜坡响应=阶跃响应*1/s 加速度响应=阶跃响应*1/s2,例8-10 使用step和impulse函数绘制系统的阶跃响应和脉冲响应,已知系统的传递函数为 num

11、=1; den=0.5 1 1; G=tf(num,den) Transfer function: 1 - 0.5 s2 + s + 1 subplot(211); step(G) %绘制阶跃响应 subplot(212); impulse(G) %绘制脉冲响应,4. 任意输入响应 lsim(G,U,T) %绘制系统G的任意响应曲线 y,t,x=lsim(G,U,T) %得出系统G的任意响应数据 5. 零输入响应 initial(G,x0, T) %绘制系统G的零输入响应曲线 y,t,x=initial(G,x0, T) %得出系统G的零输入响应的数据 6. 离散系统响应,例8-12 使用ls

12、im函数绘制正弦响应曲线,系统的传递函数为,绘制的曲线如图8-11所示。 t=0:0.1:10; u=sin(t); G=tf(1,2 1) Transfer function: 1 - 2 s + 1 lsim(G,u,t) %正弦响应,8.2.3 线性系统的结构参数与时域性能指标,1. 线性系统的结构参数 (1)pole和zero p=pole(G) %获得系统G的极点 z=zero(G) %得出系统G的零点 (2)pzmap pzmap(G) %绘制系统的零极点分布图 p,z=pzmap(G) %获得系统的零极点值 (3)damp wn,zeta,p=damp(G) %获得G的阻尼系数、

13、固有频率和极点 (4)sgrid sgrid(z,wn) %绘制s平面网格并指定z和wn,例8-15 获得系统的阻尼系数和固有频率,并绘制其s平面网格,系统的传递函数为。 num=1; den=1 1.414 1; G=tf(num,den); wn,z,p=damp(G) %获取阻尼系数和固有频率 pzmap(G);sgrid(z,wn),2. 时域分析的性能指标 在自动控制原理中,时域分析常用的系统性能指标有超调量p 、上升时间tr、峰值时间tp和过渡时间ts,通过性能指标来分析系统暂态性能的稳定性。 例: detap=exp(-pi*zeta/sqrt(1-zeta2)*100 %计算超

14、调量 tr=(pi-acos(zeta)/(wn*sqrt(1-zeta2) %计算上升时间,8.3 频域分析的MATLAB实现 8.3.1 线性系统的频域分析,1. 线性系统的幅频特性和相频特性 Gw=freqresp(G,w) %计算w处系统G的频率特性的实部和虚部 2. nyquist曲线 nyquist(G,w) %绘制系统G的nyquist曲线 3. bode图 bode(G,w) %绘制系统G的bode图 bode(G1,plotstyle1,G2,plotstyle2,w) %绘制多个系统bode图 mag,pha=bode(G,w) %得出w处的幅值和相角 4. nichols

15、图,例8-19 根据传递函数绘制系统的bode图和对数幅频特性曲线,已知系统的传递函数分别为 。 G=tf(10,conv(1 1,5 1 0); subplot(1,2,1); bode(G) %绘制系统的bode图 subplot(1,2,2); bodemag(G) %绘制对数幅频特性曲线,8.3.2 频域分析性能指标,1. 开环频率特性的相角域度和幅值域度 margin(G) %绘制bode图并标出幅值裕度和相角裕度 Gm,Pm,Wcg,Wcp=margin(G) %得出幅值裕度和相角裕度和相应的频率 例: Gm,Pm,Wcg,Wcp=margin(G) Gm = 0.1200 Pm = -38.7743 Wcg = 0.4472 Wcp = 1.1395,8.4 根轨迹分析的MATLAB实现 8.4.1 线性系统的根轨迹分析,1. 绘制根轨迹 rlocus(G) %绘制根轨迹 r,k=rlocus(G) %得出系统G的闭环极点r和增益k 2. 得出给定根的根轨迹增益 rlocfind函数可以获得根轨迹上给定根的增益和闭环根。 k,p=rlocfind(G) %得出根轨迹上某点的闭环极点和k,例8-22 分别绘制不同系统的根轨迹。已知系统开环传递函数为 ,G2的传递函数是将G1的分子增加零点-5。 num=1 ; den=conv(1,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号