第六节MATLAB控制系统工具箱.ppt

上传人:b****1 文档编号:1095723 上传时间:2022-10-16 格式:PPT 页数:50 大小:701.50KB
下载 相关 举报
第六节MATLAB控制系统工具箱.ppt_第1页
第1页 / 共50页
第六节MATLAB控制系统工具箱.ppt_第2页
第2页 / 共50页
第六节MATLAB控制系统工具箱.ppt_第3页
第3页 / 共50页
第六节MATLAB控制系统工具箱.ppt_第4页
第4页 / 共50页
第六节MATLAB控制系统工具箱.ppt_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

第六节MATLAB控制系统工具箱.ppt

《第六节MATLAB控制系统工具箱.ppt》由会员分享,可在线阅读,更多相关《第六节MATLAB控制系统工具箱.ppt(50页珍藏版)》请在冰豆网上搜索。

第六节MATLAB控制系统工具箱.ppt

第六节控制系统工具箱,6.1控制系统工具箱概述6.2主要构成函数,6.1控制系统工具箱概述,MATLAB6.X中的控制系统工具箱(控制系统工具箱)为线性时不变系统(LTI)的建模和分析提供了丰富的函数和工具,既支持连续和离散系统,也能处理SISO和MIMO系统。

并且,用户可以将多个LTI模型放在同一个数组中统一进行计算和分析。

控制系统工具箱查看方式:

1、在命令窗口中输入:

helpcontrol2、选择help菜单项MATLABhelp项打开MATLAB帮助找到ControlSystemToolbox(控制系统工具箱),MATLAB6.X支持的LTI模型,传递函数模型(TF),如零极点-增益模型(ZPK),如状态空间模型(SS),如频率响应数据模型(FRD),连续与离散系统的关系示意图,各种线性时不变(LTI)系统之间的转换关系。

6.2连续系统主要函数,tf创建或转换系统的传递函数模型zpk创建或转换零极点增益模型ss创建或转换连续系统状态空间模型frd创建FRD(频率响应)模型tfdata获取传递函数中的数据ssdata获取状态空间模型中的数据zpkdata获取零极点增益模型中的数据frdata获取FRD模型中的数据impulse绘制系统的脉冲响应曲线step绘制系统的阶跃响应曲线lsim绘制系统在任意输入信号下响应曲线,主要函数,nyquist绘制nyquist图bode绘制bode图nichols绘制nichols图freqslaplace变换频率响应(s-域)pole得到极点zero得到零点residue留数运算class判断模型的类型,1.创建系统的传递函数模型tf,连续SISO系统的传递函数为:

可以采用两种方法创建SISO传递函数模型。

一种使用tf命令,一种直接引用Laplace变量s的多项式。

使用tf命令的方法是h=tf(num,den)其中,行向量num和den分别是多项式n(s)和d(s)的系数。

注意这里的多项式是按照s的降幂排列的。

举例:

使用tf命令,例如,如果某个SISO系统的传递函数是h(s)=s/(s2+2s+10)则可以通过下面的命令来创建该系统的传递函数模型:

h=tf(10,1210)MATLAB的输出结果为s-s2+2s+10h是一个TF对象,存放传递函数的分子分母多项式数据,引用Laplace变量s的多项式,也可以按照通常习惯用s的多项式来直接表示SISO系统的传递函数。

首先将s定义为Laplace算子:

s=tf(s);然后输入s的多项表达式。

例如,输入H=s/(s2+2*s+10);将产生与h=tf(10,1210)相同的系统模型。

2.创建零极点-增益模型zpk,连续SISO系统的零极点-增益模型的一般形式为:

调用语句:

1、sys=zpk(Z,P,K)连续系统的ZPK模型2、sys=zpk(Z,P,K,Ts)离散系统的ZPK模型其中:

Z为零点向量P为极点向量K为增益Ts为采样时间参数,举例:

例如,如果某个SISO系统的传递函数是h(s)=4*(s+1)/(s2+7s+10)则可以通过下面的命令来创建该系统的零极点模型:

参数值获取:

Z=-1;P=-2-5;K=4;调用语句:

sys=zpk(Z,P,K)调用结果:

Zero/pole/gain:

4(s+1)-(s+2)(s+5),3.创建连续系统状态空间模型ss,状态空间模型是采用线性微分或差分方程来描述系统的动态行为。

连续时间系统具有如下的一般形式使用ss命令创建系统的状态空间模型的调用格式为sys=ss(A,B,C,D),例:

系统微分方程:

其中y为输出,u为输入。

令:

则:

即:

在MATLAB中创建下面系统的状态空间模型:

输入sys=ss(01;-5-2,0;3,01,0)创建的系统状态空间模型为,举例:

a=x1x2x101.00000x2-5.00000-2.00000b=u1x10x23.00000,c=x1x2y101.00000d=u1y10,4.创建FRD模型frd,如果无法直接建立研究对象的传递函数或状态空间模型,而只知道该系统在某些频率处的频率响应值,仍然可以采用frd命令创建该系统的频率响应模型。

frd命令的调用格式是sys=frd(response,frequencies,units)其中frequencies是由不同频率值构成长为N的实数向量,response是与这些频率值对应复数形式频率响应值nuits是频率单位,缺省值rad/s,也可取Hz。

举例:

w=0:

0.1:

3;y=sin(w)+i*cos(w);a=frd(y,w),各模型之间的相互转换,s=tf(s)a=(s+1)/(s2-2*s+1);freq=logspace(1,2);%101102之间生成50个点b=zpk(a)%tf-zpkc=ss(a)%tf-ssd=tf(b)%zpk-tfe=ss(b)%zpk-ssf=zpk(c)%ss-zpkg=tf(c)%ss-tfh=frd(a,freq)%tf-frdI=frd(b,freq)%zpk-frdj=frd(c,freq)%ss-frd,5、获取模型参数,tfdata获取传递函数中的数据应用:

num,den=tfdata(sys)结果用cell保存num,den=tfdata(sys,v)结果用向量保存举例:

s=tf(s)a=(s+1)/(s2-2*s+1);1.num,den=tfdata(a)结果为num=1*3doubleden=1*3double需要调用语句celldisp(num)查看num的值2.num,den=tfdata(a,v)num=011den=1-21,获取模型参数,ssdata获取状态空间模型中的数据应用:

A,B,C,D=ssdata(sys)结果直接显示A,B,C,D=ssdata(sys,cell)结果用cell保存举例:

s=tf(s)a=(s+1)/(s2-2*s+1);1.A,B,C,D=ssdata(a)结果为A=B=C=D=2.A,B,C,D=ssdata(a,cell)需要调用语句celldisp(A)查看A的值,获取模型参数,zpkdata获取零极点增益模型中的数据应用:

Z,P,K=zpkdata(sys)结果用cell保存Z,P,K=zpkdata(sys,v)结果用向量保存举例:

s=tf(s)a=(s+1)/(s2-2*s+1);1.Z,P,K=zpkdata(a)结果为Z=-1P=2*1doubleK=1需要调用语句celldisp(P)查看P的值2.Z,P,K=zpkdata(a,v)Z=-1P=1;1K=1,获取模型参数,frdata获取FRD模型中的数据应用:

resp,freq=frdata(sys)举例:

freq=logspace(1,2,2);resp=.05*(freq).*exp(i*2*freq);sys=frd(resp,freq);resp,freq=frdata(sys,v),frdata只能用于获取FRD模型中的数据tfdata()zpkdata()ssdata()可用于获取除FRD模型外的其他所有模型数据,串联,并联,反馈G1=tf(1,11);G2=tf(1,12);串联:

G3=G1*G2Transferfunction:

1-s2+3s+2并联:

G4=G1+G2Transferfunction:

2s+3-s2+3s+2,反馈:

函数feedback(G,H,sign)sign=1为正反馈sign=1为负反馈G=tf(1,11);H=tf(1,10);sys=feedback(G,H,-1)Transferfunction:

s-s2+s+1,G(s),H(s),时域响应单位脉冲响应:

impulse();单位阶跃响应:

step();任意输入响应:

lsim();用法:

以step()为例:

1.step(sys),sys为传递函数,执行结果为画单位阶跃响应曲线。

如:

系统的单位阶跃响应G=tf(1,111);step(G),6.绘制典型信号下的响应曲线,G=tf(1,111);t=0:

0.01:

15;step(G,t),调用方法:

y=step(sys,t)其中,y为单位阶跃响应的值。

如:

G=tf(1,111);t=0:

0.01:

15;y=step(G,t);如果想看阶跃响应曲线可以plot()函数画。

plot(t,y),任意输入响应:

lsim()lsim(sys,u,t)其中u为输入,t为时间。

如单位斜坡响应:

t=0:

0.01:

10;u=t;G=tf(1,111);lsim(G,u,t),7.绘制专用图形,nyquist绘制nyquist图,又称极坐标图以G(jw)的实部和虚部分别作为横坐标和纵坐标绘制图形用法:

nyquist(sys)举例:

s=tf(s)a=(s+1)/(s2-2*s+1);nyquist(a),根轨迹画法函数:

rlocus()例:

开环传递函数:

G=tf(11,210);rlocus(G)axisequal,7.绘制专用图形,零度根轨迹:

例:

单位正反馈开环传递函数:

G=tf(-1-2,1586);rlocus(G),频率特性曲线幅相频率特性曲线函数nyquist()例:

G=tf(4,114);nyquist(G)axisequal,我,

(2)伯德图函数bode()Bode(G),我,(3)尼科尔斯图函数:

nichols()nichols(G),我,8.其他函数,ole获得极点pole(sys)zero获得零点zero(sys)class获得模型类型class(sys)举例:

s=tf(s)a=(s+1)/(s2-2*s+1);pole(a)ans=1;1zero(a)ans=-1class(a)ans=tf,传递函数:

绘制幅频特性图和相频特性图:

a=10.41;b=0.20.31;w=logspace(-1,1);freqs(b,a,w),传递函数:

绘制幅频特性图和相频特性图:

a=114;b=4;w=logspace(-1,2);freqs(b,a,w),6.(附加)编写函数把输入的方阵A用高斯消去法变成上三角矩阵。

B=gaus(A)A为输入的矩阵,B为输出的上三角矩阵高斯消去法:

第二行减第一行,第三行减第一行的2倍,第三行减第二行,functionB=gaus(A)%高斯消去法n,m=size(A);ifn=merror(A不是方阵);endj=1;%j为矩阵列数whilejnfori=j+1:

n%i为矩阵行数ifA(j,j)=0j=n;disp(对角线元素为零)break;endA(i,:

)=A(i,:

)-(A(i,j)/A(j,j)*A(j,:

);endj=j+1;endB=A;,A=112;133;241;B=gaus(A)B=11202100-4A=112;133;B=gaus(A)?

Errorusing=gausA不是方阵,A=112;223;245;B=gaus(A)对角线元素为零B=11200-1021,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1