利用matlab由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应.docx

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用matlab 由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应

并绘制输出阶跃响应曲线和脉冲响应曲线 解:

编程(见:\work\CT_tch\resp_2_20110522)

clear all;

close all;

%%%%%%%%%%%%%%

a0 = [00000.8];

bl = [10];

b2 = [0.3 1 ];

b3 = [0.5 0.7 1];

bO = conv(bl,conv(b2,b3)); % bO:开环传递函数分母多项式系数 %%%%闭环传递函数

aa = a0;

% aa :闭环传递函数分了多项式系数 bb = bO + aO; % bb :闭环传递函数分了多项式系数 disp ('System Closed Loop Transfer Function is :*)

aa

bb

%%%%计算:阶跃响应

t = 0:0.1 :20

y = step (aa, bb, t);

% 阶跃响应

%%%%绘制:阶跃响应

figure(l)

plot(t ,y);

title 。阶跃响

应); xlabelC

时间 /s');

ylabel(1S 值);

grid ; %%%%计算:

figure(2)

yy = impulse (aa, bb, t);

% 标题:脉冲响应

plot(t, yy); titlcC 脉冲响应); xlabelC 时间/s); ylabel(1S 值);

grid; %网格

%%%%绘制:脉冲响应

wt = logspace (-1,1); % 对数空间「0.1, 10)

例:设有一个系统的开环传递函数如下函数, 01 %aO:开环传递函数分子多项式系数 % s % % (0.5 s2 + 0.7s+ 1) %标题:阶跃响应 %横坐标 %纵坐标 % io,!! 脉冲响应

[mag,phase] = bode (a0 ,b0 ,wt); % 计算:Bode111的幅值和相位

[Gm,Pm,Wcg,Wcm] = margin(aO,bO); % 计算:稳定裕度disp ('System Gain Margin and its associated frequency are

Gm %模值稳定裕度

Wcg %幅值穿越频率,剪切频率,1/s

disp ('System Phase Margin and its associated frequency are : Pm %相位稳定裕度

Wcm % ■兀相位穿越频率,1/s

%%%%绘制:Bode图

figure(3)

Subplot (211); %对数幅值■频率图

amp = 20*logl0(mag); % 20*log(mag), dB

semilogx(wt,amp);

title C对数幅值■频率图);

xlabel C频率 / rad*); ylabel f 幅值 / dB);

grid;

subplot (212); %相位-频率图

semilogx(wt,phase);

title C相位-频率图);xlabel ('频率/ rad*); ylabel('相位/ degree*);

grid;

运行该程序可得系统的单位阶跃和脉冲响应曲线如下,

W 15

图1系统的单位阶跃响应曲线

系统的Bode图如F,

图2 系统的脉冲响应曲线

系统怕篦图幅频

系统伯律图相麹

:

-300

»

1

10

图3 系统的Bode图

相关文档
最新文档