首页 理论教育 Matlab离散系统应用指南

Matlab离散系统应用指南

时间:2023-06-27 理论教育 版权反馈
【摘要】:Matlab在离散控制系统中起着重要作用。无论将连续系统离散化、离散控制系统的离散输出响应、连续输出响应、离散控制系统设计等方面,都可以用Matlab研究,得出形象化结果,有利于加深对离散控制系统分析和设计方法的理解。下面,举若干实例,介绍Matlab方法在离散控制系统中的应用。连续系统离散化,在Matlab中应用c2dm函数。图7-53 开环离散控制系统解 先用解析求G用Matlab可以很方便求得上述结果。图7-55 闭环离散控制系统解 由可绘制输出响应如图7-56所示。

Matlab离散系统应用指南

Matlab在离散控制系统中起着重要作用。无论将连续系统离散化、离散控制系统的离散输出响应、连续输出响应、离散控制系统设计等方面,都可以用Matlab研究,得出形象化结果,有利于加深对离散控制系统分析和设计方法的理解。下面,举若干实例,介绍Matlab方法在离散控制系统中的应用。连续系统离散化,在Matlab中应用c2dm函数。它的一般格式为

例7-34 已知开环离散控制系统结构如图7-53所示,求开环脉冲传递函数。采样周期T=1s。

图7-53 开环离散控制系统

解 先用解析求G(z)

用Matlab可以很方便求得上述结果。Matlab程序如下

%This script converts the transfer function

%G(s)=1/s(s+1)to a discrete-time system

% with a sampling period of T=1 sec

num=[1];den=[1,1,0];

T=1

[numZ,denZ]=c2dm(num,den,T‘,zoh’);

printsys(numZ,denZ,‘Z’)

打印结果

用Matlab亦很方便求系统的输出响应,只不过此时需运用dstep函数、climpulse函数。

假定离散系统如图7-54所示。输入为单位阶跃,可用dstep函数求输出响应。

图7-54 开环离散系统

例7-35 已知离散系统结构如图7-55所示,采样系统的输入为单位阶跃,采样周期T=1s,求输出响应。

图7-55 闭环离散控制系统

解 由

可绘制输出响应如图7-56所示。

图7-56 闭环离散控制系统单位阶跃响应

如果用Matlab的dstep函数,可很快得到离散输出y*(t)和连续输出结果y(t),如图7-57和图7-58所示。

%This script gene rather the unit step response,y(kt),

% for the sampled data system given in example

num=[00.3680.264];den=[1-10.632];

dstep(num,den)

% This script computes the continuous-time unit

%step response for the system in example

numg=[1];deng=[110];

[nd,dd]=pade(1,2)

numd=dd-nd;

dend=conv([10],dd);

[numdm,dendm]=minreal(numd,dend);

图7-57 离散输出结果(www.xing528.com)

[n1,d1]=series(numdm,dendm,numg,deng);

[num,den]=cloop(nl,dl);

t=[0∶0.1∶20];

step(num,den,t)

图7-58 连续输出

例7-36 已知

希望绘制连续系统的脉冲响应,以及T=1,0.1,0.01s时离散控制系统脉冲响应。

解 由于系统过渡过程是在时间趋于∞后才结束,为此,绘制脉冲响应的横坐标,终端时间Tf=13。Matlab程序如下

%Samplingex

%The effect of sampling time on the discrete-time

%impulse response resulting from discretizing a

%continuous-time system

num=10* [10.22]

den=conv([10.51],[110]);

clf

subplot(2,2,1)

Tf=13;

t=[0∶0.1∶Tf];

impulse(num,den,t)

M =1;

whilem<=3,

Ts=1/10(m-1);

subplot(2,2,1+m)

[numd,dend]=c2dm(num,den,Ts);

[y,x]=dimpulse(numd,dend,Tf/Ts);

t1=[0∶Ts∶Tf-Ts];

stairs(tl,y/Ts)

xlabel(‘Timelsre(s)’)

ylabel(‘Amplitude’)

图7-59 连续系统和离散控制系统的脉冲响应

m=m+1;

end

subplot(1,1,1)

图7-59绘制了该系统的脉冲响应。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈