300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > MATLAB绘制开环单位阶跃响应 利用matlab由开环传递函数求闭环传递函数并求其单位冲击

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

时间:2024-03-02 06:27:20

相关推荐

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

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

利用matlab 由开环传递函数求闭环传递函数并求其单位冲击和阶跃响应 例:设有一个系统的开环传递函数如下函数,并绘制输出阶跃响应曲线和脉冲响应曲线解: 编程(见:\work\CT_tch\resp_2_0522 ) clear all; close all; %%%%%%%%%%%%%% a0 = [0 0 0 0 0.8 ]; % a0: 开环传递函数分子多项式系数 b1 = [1 0 ] ; % s b2 = [0.3 1 ] ; % b3 = [0.5 0.7 1] ; % (0.5 s2 + 0.7s + 1) b0 = conv(b1,conv(b2,b3)); % b0: 开环传递函数分母多项式系数 %%%% 闭环传递函数 aa = a0 ; % aa:闭环传递函数分子多项式系数 bb = b0 + a0; % bb:闭环传递函数分子多项式系数 disp ( System Closed Loop Transfer Function is : ) aa bb %%%% 计算:阶跃响应 t = 0 : 0.1 : 20 y = step (aa, bb, t); % 阶跃响应 %%%% 绘制:阶跃响应 figure(1) plot(t ,y) ; title( 阶跃响应 ); % 标题:阶跃响应 xlabel( 时间 /s ); % 横坐标 ylabel( 幅值 ); % 纵坐标 grid; % Íø¸ñ %%%% 计算:脉冲响应 figure(2) yy = impulse (aa, bb, t); % 标题:脉冲响应plot(t, yy); title( 脉冲响应 ); xlabel( 时间/s ); ylabel( 幅值 ); grid; % 网格 %%%% 绘制:脉冲响应 wt = logspace (-1,1); % 对数空间(¨0.1, 10) [mag,phase] = bode (a0 ,b0 ,wt); % 计算:Bode 中的幅值和相位 [ Gm,Pm,Wcg,Wcm] = margin(a0,b0); % 计算:稳定裕度 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*log10(mag); % 20*log(mag),dB semilogx(wt,amp); title ( 对数幅值-频率图 ); xlabel ( 频率 / rad ); ylabel ( 幅值 / dB ); grid; subplot (212); % 相位-频率图 semilogx(wt,phase); title ( 相位-频率图 ); xlabel ( 频率/ rad ); ylabel ( 相位/ degree ); grid;运行该程序可得系统的单位阶跃和脉冲响应曲线如下,图 1 系统的单位阶跃响应曲线图 2 系统的脉冲响应曲线系统的Bode图如下,图3 系统的Bode图

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。