文档库 最新最全的文档下载
当前位置:文档库 › matlab里对控制系统

matlab里对控制系统

matlab里对控制系统
matlab里对控制系统

在matlab里对控制系统分析时,不论是LSI(适合用Z变换分析)系统还是LTI(linear time invariant)(适合S变换分析)系统。都相差无几,只是调用函数略有不同。下面的列表包括了实施变换的重要命令。

residue(n, d) 计算多项式之比n(s)/d(s)的部分分式展开

lsim(SYS, u) 计算/绘制系统SYS对输入向量u的响应

step(SYS) 计算/绘制系统SYS的阶跃响应

impulse(SYS) 计算/绘制系统SYS的冲击响应

pzmap(n, d) 计算/绘制系统SYS的零极点图

residuez(n, d) 计算多项式之比n(z)/d(z)的部分分式展开,写成z-1的函数

dlsim(n, d, u) 计算系统函数为n(z)/d(z)的系统对输入向量u的时间响应

dstep(n, d) 计算系统函数为n(z)/d(z)的系统的阶跃响应

dimpulse(n, d) 计算系统函数为n(z)/d(z)的系统的冲击响应

zplane(z, p) 由极点零点向量p和z绘制零极点图

这些命令中很多都是对LTI系统的一些说明有效的。其中一个说明是关于传递函数的,"SYS"由"TF(num, den)"代替,"num"和"den"分别是系统函数分子分母的系数向量。对于以多项式之比的方式给定的连续或离散时间系统的系统函数,计算和绘制频率响应由几种有用的命令。bode(n, d) 绘制一个CT系统的波德图,系统函数是多项式比n(s)/d(s)

freqs(n, d) 计算系统函数为n(s)/d(s)的一个CT系统的频率响应

freqz(n, d) 计算系统函数为n(z)/d(z)的一个DT系统的频率响应

应用举例

假设要对一个LTI系统进行分析,系统的传递函数如下:

5s

H(s) = --------------- (在这里如果把s改成z,就成了LSI系统了。分析方法一样,调用函数参看前边的介绍)

s2 + 2s +101

clc,clear;

num = [5 0]; %Define numerator polynomial

den = [1 2 101]; %Define denominator polynomial

t = linspace(0, 10, 401); %Define a time vector

u = cos(2*pi*t); %Compute the cosine input function

figure(1);

[y, x] = lsim(num, den, u, t); %Compute the cosine input function

plot(t, y, 'r', t, u, 'b'); %Plot the output in red and the input in blue

xlabel('Time(s)');

ylabel('Amplitude');

figure(2);

dlsim(num,den,u);%Compute the cosine input function as LSI

参考资料均来自百度引擎,希望各位版友遇到问题不要盲目发问。要多搜索,我对控制系统分析也只是略知门径。里边一些理论知识也至今未搞明白,matlab只是一个分析工具,会使用并不代表你就弄懂了其中的原理。所以建议专门做这个方向的版友先打好基础,有了基础再使用分析工具才会得心应手、以不变应万变!

2 关于Z变换

Z变换(Z-transformation)

对离散序列进行的一种数学变换。常用以求线性时不变差分方程的解。它在离散时间系统中的地位,如同拉普拉斯变换在连续时间系统中的地位。这一方法( 即离散时间信号的Z变换)已成为分析线性时不变离散时间系统问题的重要工具。在数字信号处理、计算机控制系统等领域有广泛的应用。

离散时间序列x(n) 的Z变换定义为X(z)=x(n)z-n ,式中z=e,σ为实变数,ω为实变量,j=,所以z是一个幅度为eб,相位为ω的复变量。x(n)和X(z)构成一个Z变换时。Z变换有如下性质:线性、移位、时域卷积、求和、频移、调制、微分以及乘an 。这些性质对于解决实际问题非常有用。已知Z变换X(z)求对应的离散时间序列称为Z变换的逆变换。

1 TF2SS 传递函数转换到状态空间表达式[A,B,C,D] = TF2SS(NUM,DEN) 分子

NUM=[bm,bm-1,…,b1,b0],分母DEN=[1,an-1,an-2,…,a1,a0]

2 ZP2SS 零极点型传递函数转换到状态空间表达式[A,B,C,D] = ZP2SS(Z,P,K)

3 SS2TF 状态空间表达式转换到传递函数 [NUM,DEN] = SS2TF(A,B,C,D,iu) 即求第iu个输入信号对输出y(t)的传递函数,即:SS2TF的调用返回值为W(S)的分子多项式的系数矩阵NUM和分母多项式的系数向量DEN。

4 SS2ZP .状态空间表达式到零极点形式的传递函数的转换[Z,P,K] = SS2ZP(A,B,C,D,iu)

5 TF2ZP 一般传递函数转换到零极点型传递函数 [Z,P,K] = TF2ZP(NUM,DEN)

6 ZP2TF 零极点型传递函数转换到一般传递函数[NUM,DEN] = ZP2TF(Z,P,K)

7 SS2SS 状态空间表达式的线性变换 [A1,B1,C1,D1]=ss2ss(A,B,C,D,T) 其中T为变换矩阵。注意变换方程为:X1=TX,而不是常见的X=TX1。所以要与用户习惯的变换方程一致,我们必须用T的逆代入上式,即:[A1,B1,C1,D1]=ss2ss(A,B,C,D,inv(T))

8 CANON 求状态空间表达式的对角标准型[As,Bs,Cs,Ds,Ts]=canon(A,B,C,D,'mod') 其中Ts 为变换矩阵,注意变换方程为:Xs=TsX。

9 CTRB 计算系统的可控判别矩阵M M=ctrb(A,B)

10 OBSV 计算系统的可观判别矩阵N N=obsv(A,C)

11 IMPULSE 求系统的单位脉冲响应 [y,x]=impulse(A,B,C,D,in,t) [y,x]=impulse(num,den,t)

12 STEP 求系统的单位阶跃响应[y,x]=step(A,B,C,D,in,t) [y,x]=step(num,den,t)

13 LSIM 求系统对任意输入函数u(t)的响应[y,x]=lsim(A,B,C,D,u,t) [y,x]=lsim(num,den,u,t)

14 C2D 连续系统状态方程转换为离散状态方程,T为采样周期[G,H]=c2d(A,B,T) 相关的函数还有D2C,D2D。

15 LYAP 求解如下形式的李雅普诺夫方程:所以求解用户习惯的李雅普诺夫方程,我们必须用A的转置A’代入,即:P=lyap(A’,Q)

16 BODE 绘制系统的伯德图[mag,phase]=bode(num,den,w)

17 NIQUIST 绘制系统的奈奎斯特图[re,im]=nyquist(num,den,w)

18 PLOT 绘图函数plot(X,Y,’str’)可以用不同颜色、不同符号绘制曲线,其中’str’可以是下列三组选项的任意组合。y -----yellow . ------point - -----solid m ----magenta o------circle :

-----dotted c -----cyan x------x-mark -. ----dashdot r ------red + ----plus -- ----dashed g ----green *

----star b ----blue s ---square w ---white d ---diamond k ----black v ---triangle (down) ^ -----triangle (up) < ----triangle (left) > ----triangle (right) p ----pentagram h ----hexagram

相关文档