第节matlab在自动控制原理PPT课件.ppt

第节matlab在自动控制原理PPT课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 matlab在自动控制中应用 在MATLAB的Control System Toolbox(控制系统工具箱)中提供了许多仿真函数与模块,用于控制系统的仿真和分析。本章着重介绍控制系统的模型、时域分析方法和频域分析方法等内容。 1、step()函数的用法 y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,可以由t=0:step:end产生。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。 [y,x,t]=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu用来指明输入变量的序号。x为系统返回的状态轨迹。 [y,x,t]=step(num,den):此时时间向量t由系统模型的特性自动生成,对传递函数模型,状态变量x返回为空矩阵。 在MATLAB的控制系统工具箱中提供了求取单位阶跃响应的函数step()和冲激响应的函数impulse() 。 2 控制系统的时域分析 如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式,自动输出响应曲线: step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu); 线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d) clc;clear;close all %开环传递函数描述 num=[20]; den=[1 8 36 40 0]; %求闭环传递函数 [numc,denc]=cloop(num,den); %绘制闭环系统的阶跃响应曲线 t=0:0.1:10; y=step(numc,denc,t); [y1,x,t1]=step(numc,denc); %对于传递函数调用,状态变量x返回为空矩阵 plot(t,y,'r:',t1,y1) title('the step responce') xlabel('time-sec') %求稳态值 disp('系统稳态值dc为:') dc=dcgain(numc,denc) 源程序 运行窗口 >> 系统稳态值dc为: dc = 1 2、impulse()函数的用法 求取脉冲激励响应的调用方法与step()函数基本一致。 y=impulse(num,den,t);[y,x,t]=impulse(num,den);[y,x,t]=impulse(A,B,C,D,iu,t) impulse(num,den);impulse(num,den,t) impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t) clc;clear;% 系统模型建立 num=3;den=conv([1 1+3i],[1 1-3i]); % 求系统的单位阶跃响应 [y,x,t]=step(num,den); % 求响应的稳态值 finalvalue=dcgain(num,den) % 求响应的峰值及对应的下标 [yss,n]=max(y); % 计算超调量及峰值时间 percentovershoot=100*(yss-finalvalue)/finalvalue timetopeak=t(n) 例:已知系统G(s)=3/(s+1+3i)(s+1-3i)计算系统在阶跃输入时的峰值时间、超调量、调整时间等系统瞬态性能指标(稳态误差允许正负2%) % 计算上升时间 n=1; while y(n)<0.1*finalvalue n=n+1; end m=1; while y(m)<0.9*finalvalue m=m+1; end risetime=t(m)-t(n) % 计算调整时间 k=length(t); while (y(k)>0.98*finalvalue)&(y(k)<1.02*finalvalue) k=k-1; end settlingtime=t(k) 运行结果 finalvalue = 0.3000 percentovershoot = 35.0914 timetopeak = 1.0491 risetime = 0.4417 settlingtime = 3.5337 >> 2.2 控制系统的根轨迹分析方法 pzmap:绘制线性系统的零极点图; rlocus:求系统根轨迹。 rlocfind:计算给定一组根的根轨迹增益。 sgrid:在连续系统根轨迹图和零极点图中绘制出阻尼系数和自然频率栅格。 根轨迹图绘制: rlocus() rlocus(num,den) 或rlocus

文档评论(0)

131****5901 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体成都禄辰新动科技文化有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MAACQANX1E

1亿VIP精品文档

相关文档