• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

控制系统在matlab中的函数简介

人工智能 合工大机器人实验室 3072次浏览 0个评论

传递函数

控制系统在matlab中的函数简介

num=[b1 b2 b3 …… bm+1]

den=[a1 a2 a3 …… an+1]

传递函数表示:

sys=tf(num, den)

  零极点表示(分子是零点z,分母是极点p):

ss=zpk(sys)

  相互转化:

[z,p,k]=tf2zp(num,den)

[num,den]=zp2tf(z,p,k)

 部分分式展开:

[r,p,k]=residue(num.den)

 

系统串、并联、反馈计算

串联:sys=series(sys1,sys2)

并联:sys=parallel(sys1,sys2)

反馈:sys=feedback(sys1,sys2,-1)

单位反馈:ys=cloop(sys1,-1)0

 

时域分析

阶跃函数、脉冲函数

  [y,x]=step(sys,t)  or [y,x]=step[sys]

  Step/impolse/

加t,选定仿真的时间,不加,系统自动选择。

  [y,x]=lsim(sys,u,t)

    Gensig 对Lsim产生输入信号

Stepfun 产生单位阶跃输入

 

频域分析

频率响应曲线的绘制:

[m,p]=bode(num,den,w);  or [m,p]=bode(num,den)

[m,p]=nyquist(num,den,w);  or [m,p]=nyquist(num,den)

w为频率点构成的向量,该向量最好由logspace()函数生成

 幅值裕量和相位裕量

[Gm,Pm,wcg,wcp]=margin(num,den)

 其他常用频域分析函数

bode———–频率响应伯德图

nyquist——–频率响应奈奎斯特图

nichols——–频率响应尼柯尔斯图

freqresp——求取频率响应数据

margin——–幅值裕度和相位裕度

pzmap——–零极点图

 

系统稳定分析

[z,p]=tf2zp(num,den)—–求零极点

pzmap(num,den)———-画出零极点

ii=find(real(p)>0)———–极点有正实部则系统不稳定

 

>> s1=tf([40],[0.005,0.15,1,0])

>> nyquist(s1)

>> bode(s1)

>> [Gm,Pm,Wcg,Wcp]=margin(s1)

 

根轨迹

rlocus(num,den)  or  rlocus(A,B,C,D)

例如:

G(s)=K/s(s+2)(s+5);

num=[1]

den1=[1 2 0]

den2=[1 5]

den=conv(den1,den2)

rlocus(num,den)

v=[-10 10 -10 10]

[k,p]=rlocfind(num,den)

 

Z变换与反变换

例如:将x(kx)=kT的z变换

syms k T

x=k*T

X=ztrans(x)

例如:求Y(z)=z/(z-1)的z反变换

syms z

Y=z/(z-1)

y=iztrans(Y)

 

连续函数的离散化

sysD=c2d(sysC,Ts,method)

sysC可以为:

sysC=tf(num,den) or sysC=zpk(z,p,k) or sysC=ss(A,B,C,D)

    method可以为:

‘zoj’———–零阶保持器法

‘foh’———-一阶保持器法

‘imp’———冲激响应不变法

‘tustin’——双线性变换法

‘prewarp’–带有预校正的双线性变换法

‘matched’–零极点匹配法

 Ts为采样周期取值;


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明控制系统在matlab中的函数简介
喜欢 (0)

您必须 登录 才能发表评论!

加载中……