线性系统的时域分析及Matlab实现
实验二 利用MATLAB进行时域分析
实验二利用MATLAB进行时域分析本实验内容包含以下三个部分:基于MATLAB得线性系统稳定性分析、基于MATLAB得线性系统动态性能分析、与MATALB进行控制系统时域分析得一些其它实例。
一、基于MATLAB得线性系统稳定性分析线性系统稳定得充要条件就是系统得特征根均位于S平面得左半部分。
系统得零极点模型可以直接被用来判断系统得稳定性。
另外,MATLAB语言中提供了有关多项式得操作函数,也可以用于系统得分析与计算。
(1)直接求特征多项式得根设p为特征多项式得系数向量,则MATLAB函数roots()可以直接求出方程p=0在复数范围内得解v,该函数得调用格式为:v=roots(p) 例3、1 已知系统得特征多项式为:特征方程得解可由下面得MATLAB命令得出。
>> p=[1,0,3,2,1,1];v=roots(p)结果显示:v =0、3202 + 1、7042i0、3202 - 1、7042i-0、72090、0402 + 0、6780i0、0402 - 0、6780i利用多项式求根函数roots(),可以很方便得求出系统得零点与极点,然后根据零极点分析系统稳定性与其它性能。
(2)由根创建多项式如果已知多项式得因式分解式或特征根,可由MATLAB函数poly()直接得出特征多项式系数向量,其调用格式为:p=poly(v) 如上例中:v=[0、3202+1、7042i;0、3202-1、7042i;-0、7209;0、0402+0、6780i; 0、0402-0、6780i];>> p=poly(v)结果显示p =1、0000 0、0001 3、00002、0001 0、9998 0、9999由此可见,函数roots()与函数poly()就是互为逆运算得。
(3)多项式求值在MATLAB 中通过函数polyval()可以求得多项式在给定点得值,该函数得调用格式为: polyval(p,v)对于上例中得p值,求取多项式在x点得值,可输入如下命令:>> p=[1,0,3,2,1,1];x=1polyval(p,x)结果显示x =1ans =8(4)部分分式展开考虑下列传递函数:式中,但就是与中某些量可能为零。
《自动控制原理》实验2(线性系统时域响应分析)
实验二 线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。
二、基础知识及MATLAB 函数(一)基础知识时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,具有直观、准确的特点。
为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应和斜坡响应)。
本次实验从分析系统的性能指标出发,给出了在MATLAB 环境下获取系统时域响应和分析系统的动态性能和稳态性能的方法。
用MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以s 的降幂排列写为两个数组num 、den 。
由于控制系统分子的阶次m 一般小于其分母的阶次n ,所以num 中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。
1.用MATLAB 求控制系统的瞬态响应1)阶跃响应 求系统阶跃响应的指令有:step(num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随即绘出step(num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10)[y ,x]=step(num,den) 返回变量y 为输出向量,x 为状态向量在MATLAB 程序中,先定义num,den 数组,并调用上述指令,即可生成单位阶跃输入信号下的阶跃响应曲线图。
考虑下列系统:25425)()(2++=s s s R s C 该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s的降幂排列。
则MATLAB 的调用语句:num=[0 0 25]; %定义分子多项式 den=[1 4 25]; %定义分母多项式step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线grid %画网格标度线 xlabel(‘t/s’),ylabel(‘c(t)’) %给坐标轴加上说明 title(‘Unit -step Respinse of G(s)=25/(s^2+4s+25)’) %给图形加上标题名 则该单位阶跃响应曲线如图2-1所示:为了在图形屏幕上书写文本,可以用text 命令在图上的任何位置加标注。
基于MATLAB的线性时域分析
实践环节:
• (1)二阶系统分析 • 试验1 • 程序: • den=[1 2 10]; %系统旳分母多项式 • num=10; %系统旳分子多项式 • r=roots(den) %计算分母多项式旳根 • [w,z]=damp(den)%计算系统旳自然振荡频率w和阻尼比z • [y,x,t]=step(num,den); %阶跃响应 • finalvalue=dcgain(num,den) • [yss,n]=max(y)%计算峰值大小 • percentovershoot=100*(yss-finalvalue)/finalvalue% 计算超
间ts,并与理论值相比较。 • 2.试作出下列系统旳阶跃响应,并比较与原系统响应曲线旳差
别与特点,作出相应旳试验分析成果。 • (a)G1(s)=(2s+1)/(s2+2s+10),有系统零点情况。 • (b)G2(s)=(s2+0.5)/(s2+2s+10),分子、分母多项式
阶数相等。 • (c)G3(s)=s/(s2+2s+10),分子多项式零次项系数为零。 • 3、已知单位反馈开环系统传递函数。
• 3、已知单位反G(S )
100
(0.1S 1)(S 5)
•
(b)G(S )
50
S (0.1S 1)(S 5)
10(2S 1)
• (c)G(S ) S 2 (S 2 6S 100)
• 输入分别为r(t)=2t和时, 系统旳响应曲线,分析 稳态值与系统输入函数 旳关系
• (3)已知单位反馈开环系统传递函数。 • a=[0.1,1.5,5]; • b=100; • sys=tf(b,a); • b1=50; • a1=[0.1,1.5,5,0]; • sys1=tf(b1,a1); • b2=[0 0 0 20 10]; • a2=[1 6 100 0 0]; • sys2=tf(b2,a2); • t=0:1:100; • e1=2*t; • e2=2+2*t+t.*t; • subplot(2,3,1); • lsim(sys,e1,t); • subplot(2,3,2); • lsim(sys1,e1,t); • subplot(2,3,3); • lsim(sys2,e1,t); • subplot(2,3,4); • lsim(sys,e2,t); • subplot(2,3,5); • lsim(sys1,e2,t); • subplot(2,3,6); • lsim(sys2,e2,t); •
信号与线性系统分析(基于MATLAB的方法与实现)第九章
已知周期半波余弦信号与周期全波余弦信号的波形如图所示,用MATLAB编程求出它的傅立叶系数,绘出其直流、一次、二次、三次、四次及五次谐波叠加后的波形图,并将其与原周期信号的时域波形进行比较,观察周期信号的分解与合成过程。
% dm09101% 观察周期方波信号的分解与合成% m:傅里叶级数展开的项数display('Please input the value of m (傅里叶级数展开的项数)'); % 在命令窗口显示提示信息m = input('m = '); % 键盘输入傅里叶级数展开的项数t = -2*pi:0、01:2*pi; % 时域波形的时间范围-2π~2π,采样间隔0、01n = round(length(t)/4); % 根据周期方波信号的周期,计算1/2周期的数据点数f = cos(t)、*(t<(-3*pi/2))+cos(t)、*((t>(-pi/2))&(t<(pi/2)))+cos(t)、*(t>3*pi/2); %构造周期方波信号y = zeros(m+1,max(size(t)));y(m+1,:) = f';figure(1);plot(t/pi,y(m+1,:),'LineWidth',2); %绘制方波信号grid; %在图形中加入栅格axis([-2 2 -0、5 1、5]); %指定图形显示的横坐标范围与纵坐标范围title('周期信号'); %给显示的图形加上标题xlabel('单位pi','Fontsize', 8); %显示横坐标单位x = zeros(size(t));kk = '直流分量';pause;k=1;x = x+1/pi;y(1,:) = x; %计算各次谐波叠加与plot(t/pi,y(m+1,:),'LineWidth',2);hold on;plot(t/pi,y(1,:),'r','LineWidth',3); %绘制谐波叠加信号 hold off;grid;axis([-2 2 -0、5 1、5]);title(strcat(kk));xlabel('单位pi','Fontsize', 8);kk = strcat(kk,'与第',num2str(k));pause;k=k+1;x = x+0、5、*cos(t);y(2,:) = x; %计算各次谐波叠加与plot(t/pi,y(m+1,:),'LineWidth',2);hold on;plot(t/pi,y(2,:),'r','LineWidth',3); %绘制谐波叠加信号 hold off;grid;axis([-2 2 -0、5 1、5]);title(strcat(kk,'次谐波叠加'));xlabel('单位pi','Fontsize', 8);kk = strcat(kk,'、',num2str(k));pause;x = x+2/(3、*pi)、*cos(2、*t);y(3,:) = x; %计算各次谐波叠加与plot(t/pi,y(m+1,:),'LineWidth',2);hold on;plot(t/pi,y(3,:),'r','LineWidth',3); %绘制谐波叠加信号 hold off;grid;axis([-2 2 -0、5 1、5]);title(strcat(kk,'次谐波叠加'));xlabel('单位pi','Fontsize', 8);kk = strcat(kk,'、',num2str(k+2));pause;x = x-2/(15、*pi)、*cos(4、*t);y(4,:) = x; %计算各次谐波叠加与plot(t/pi,y(m+1,:),'LineWidth',2);hold on;plot(t/pi,y(4,:),'r','LineWidth',3); %绘制谐波叠加信号 hold off;grid;axis([-2 2 -0、5 1、5]);title(strcat(kk,'次谐波叠加'));xlabel('单位pi','Fontsize', 8);pause;plot(t/pi,y(1:m+1,:),'LineWidth',3);grid;axis([-2 2 -0、5 1、5]);title('各次谐波叠加波形');xlabel('单位pi','Fontsize', 8);% End-2-1.5-1-0.500.51 1.52-0.500.511.5周期信号单位pi-2-1.5-1-0.500.51 1.52-0.500.511.5直流分量单位pi-2-1.5-1-0.500.51 1.52-0.500.511.5直流分量和第1次谐波叠加单位pi-2-1.5-1-0.500.51 1.52-0.500.511.5直流分量和第1、2次谐波叠加单位pi-2-1.5-1-0.500.51 1.52-0.500.511.5直流分量和第1、2、4次谐波叠加单位pi-2-1.5-1-0.500.51 1.52-0.500.511.5各次谐波叠加波形单位pi% dm09201% 绘制周期信号的频谱特性 function CTFS_RP% 以周期矩形脉冲信号为例,计算其频谱特性% Nf:级数分解的谐波次数,由键盘输入% Nn:输出数据的准确位数% a0:直流项系数% an:第1,2,3,、、、次谐波余弦项展开系数% bn:第1,2,3,、、、次谐波正弦项展开系数% tao:周期矩形脉冲信号脉宽,由键盘输入% T:周期矩形脉冲信号周期,由键盘输入display('Please input the value of T, tao and Nf'); %命令窗口提示用户输入参数T = input('T = ');tao = input('tao = ');Nf = input('Nf = ');syms t n k x ; %定义符号变量Nn = 32; %输出数据的位数为32位an = zeros(Nf+1,1); %分配an系数数组bn = zeros(Nf+1,1); %分配bn系数数组x=(heaviside(t+tao/2)-heaviside(t-tao/2))*cos((pi/tao)*t); %构造一个周期的脉冲信号u(t+tao/2)-u(t-tao/2)A0 =2*int(x,t,-T/2,T/2)/T; %求出直流项a0As=2*int(x*cos(2*pi*n*t/T),t,-T/2,T/2)/T; %求出余弦项系数anBs=2*int(x*sin(2*pi*n*t/T),t,-T/2,T/2)/T; %求出正弦项系数bnan(1) = double(vpa(A0,Nn)); %获取参数组A0所对应的ASCII码数值数组for k=1:Nfan(k+1)=double(vpa(subs(As,n,k),Nn)); %获取参数组As所对应的ASCII码数值数组bn(k+1)=double(vpa(subs(Bs,n,k),Nn)); %获取参数组Bs所对应的ASCII码数值数组endcn = sqrt(an、*an+bn、*bn); %计算幅度谱t = -T*2:0、001:T*2;xx =(heaviside(t+tao/2)-heaviside(t-tao/2))、*cos((pi/tao)、*t);for kk=1:2xx=xx+(heaviside(t+tao/2+kk*T)-heaviside(t-tao/2+kk*T))、*cos((pi/tao)、*(t+kk*T))+(heaviside(t+tao/2-kk*T)-heaviside(t-tao/2-kk*T))、*cos((pi/tao)、*(t-kk*T)); %用pulstran函数生成矩形脉冲信号endsubplot(211); %将显示窗口分为3个子窗口,并指向第1个子窗口clear subplot;plot(t,xx); %绘制周期矩形脉冲信号axis([-T*2 T*2 0 1、1]); %指定坐标系范围%title('周期矩形脉冲信号','Fontsize',8); %标注标题s1 = strcat('周期矩形脉冲信号 T=',num2str(T),' Tao=',num2str(tao),'t');xlabel(s1,'Fontsize',8); %x轴标签subplot(212); %指向第2个子窗口k = 0:Nf;stem(k,cn); %绘制幅度谱hold on;plot(k,cn); %绘制幅度谱包络线xlabel('幅度谱 \omega','Fontsize',8);% EndPlease input the value of T, tao and Nf T = 2*pi tao = pi Nf = 30-10-55100.20.40.60.81周期矩形脉冲信号 T=6.2832 T ao=3.1416t幅度谱Please input the value of T, tao and Nf T = 2*pi tao = 2*pi Nf = 30-10-55100.20.40.60.81周期矩形脉冲信号 T=6.2832 T ao=6.2832t幅度谱 ωPlease input the value of T, tao and Nf T = 20*pi tao = pi Nf = 30-100-50501000.20.40.60.81周期矩形脉冲信号 T=62.8319 T ao=3.1416t幅度谱 ωPlease input the value of T, tao and Nf T = 20*pi tao = 4*pi Nf = 30-100-50501000.20.40.60.81周期矩形脉冲信号 T=62.8319 T ao=12.5664t幅度谱Please input the value of T, tao and Nf T = 200*pi tao = pi Nf = 30-1000-500050010000.51周期矩形脉冲信号 T=628.3185 T ao=3.1416t051015202530-3幅度谱。
自动控制原理实验教案省名师优质课赛课获奖课件市赛课一等奖课件
0.0478z 0.0464 G(z) z2 1.81z 0.9048
采样时间Ts=0.1s,试分析系统旳稳定性。
4、已知有一离散系统如图5.2所示,其中
G1 ( s)
K s(s 1)
。
设采样时间Ts=0.5s,利用根轨迹图,试分析要保持系
统稳定,增益系数K旳取值范围。
F (s)
1 esT s
产生传递函数:
10 ----------------s^2 + 2 s + 10
产生闭环传递函数:
10 ----------------s^2 + 2 s + 20
求闭环传递函 数旳极点
求开环和闭环传递函 数旳单位阶跃响应
绘制开环和闭环传递函数 旳单位阶跃响应波形图
试验一 线性系统时域分析
2、利用SIMULINK构建模型。
s 10 s2 2s 20
Y(s)
图3.1
试验三 线性系统旳综合校正
二、试验内容
2、有一制导控制系统如图3.2所示。其中飞行器等 效传函G(s)=23/(s+23),设PI控制器传函 为Gc(s)=Kp+Ki/s,现设计PI控制器,使得 系统加入PI控制器后到达下列要求:
(1)稳定时间不大于1秒(超调不大于2%)。
[mag,phase,w]=bode(sys)
[Gm,Pm,Wcg,Wcp]=margin(mag,phase,w)
figure (3) nyquist(sys)
绘制Nyquist图
Using the margin function。 Gm=gain margin Pm=phase margin Wcg=freq.for phase=-180 Wcp=freq.for gain=0db
自动控制原理-第3章
响应曲线如图3-2所示。图中
为输出的稳态值。
第三章 线性系统的时域分析 法
图 3-2 动态性能指标
第三章 线性系统的时域分析 法
动态性能指标通常有以下几种:
延迟时间td: 指响应曲线第一次达到稳态值的一半所需的时间
上升时间tr: 若阶跃响应不超过稳态值, 上升时间指响应曲线从 稳态值的10%上升到90%所需的时间; 对于有振荡的系统, 上升时 间定义为响应从零第一次上升到稳态值所需的时间。上升时间越 短, 响应速度越快。
可由下式确定: (3.8)
振荡次数N: 在0≤t≤ts内, 阶跃响应曲线穿越稳态值c(∞)次 一半称为振荡次数。
上述动态性能指标中, 常用的指标有tr、ts和σp。上升时间tr 价系统的响应速度; σp评价系统的运行平稳性或阻尼程度; ts是同
时反映响应速度和阻尼程度的综合性指标。 应当指出, 除简单的一 、二阶系统外, 要精确给出这些指标的解析表达式是很困难的。
中可以看出, 随着阻尼比ζ的减小, 阶跃响应的振荡程度加剧。 ζ =0时是等幅振荡, ζ≥1时是无振荡的单调上升曲线, 其中临界阻尼 对应的过渡过程时间最短。 在欠阻尼的状态下, 当0.4<ζ<0.8时过
渡过程时间比临界阻尼时更短, 而且振荡也不严重。 因此在 控制工程中, 除了那些不允许产生超调和振荡的情况外, 通常都希
第三章 线性系统的时域分析法 4. 脉冲函数 脉冲函数(见图3-1(d))的时域表达式为
(3.4)
式中,h称为脉冲宽度, 脉冲的面积为1。若对脉冲的宽度取趋于 零的极限, 则有
(3.5) 及
(3.6)
称此函数为理想脉冲函数, 又称δ函数(见图3-1(e))。
第三章 线性系统的时域分析 法
自动控制原理MATLAB分析与设计-仿真实验报告
兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电气工程与信息工程学院班级:电气工程及其自动化四班姓名:学号:时间:年月日电气工程与信息工程学院《自动控制原理》MATLAB 分析与设计仿真实验任务书(2014) 一、仿真实验内容及要求 1.MATLAB 软件要求学生通过课余时间自学掌握MATLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB 仿真集成环境Simulink 的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法∙ 对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;∙ 对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同控制器的作用;∙ 在MATLAB 环境下选择完成教材第三章习题3-30,并对结果进行分析; ∙ 在MATLAB 环境下完成英文讲义P153.E3.3;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足%5%,σ<3250,510s ss t ms d -≤<⨯等指标。
2)第四章 线性系统的根轨迹法∙ 在MATLAB 环境下完成英文讲义P157.E4.5; ∙ 利用MATLAB 绘制教材第四章习题4-5;∙ 在MATLAB 环境下选择完成教材第四章习题4-10及4-17,并对结果进行分析;∙ 在MATLAB 环境下选择完成教材第四章习题4-23,并对结果进行分析。
3)第五章 线性系统的频域分析法∙ 利用MATLAB 绘制本章作业中任意2个习题的频域特性曲线;4)第六章 线性系统的校正∙ 利用MATLAB 选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能;∙ 利用MATLAB 完成教材第六章习题6-22控制器的设计及验证;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,试采用PD控制并优化控制器参数,使系统性能满足给定的设计指标ms t s 150%,5%<<σ。
自动控制理论实验报告
实验五线性系统的时域分析一、实验目的1、学会使用MATLAB绘制控制系统的单位阶跃响应曲线;2、研究二阶控制系统中、对系统阶跃响应的影响3、掌握系统动态性能指标的获得方法及参数对系统动态性能的影响。
二、实验设备Pc机一台,MATLAB软件。
三、实验举例已知二阶控制系统:C(s)/R(s)=10/[s2+2s+10]求:系统的特征根 、wn 系统的单位阶跃响应曲线解:1、求该系统的特征根若已知系统的特征多项式D(),利用roots()函数可以求其特征根。
若已知系统的传递函数,可以利用eig()函数直接求出系统的特征根。
在MATLAB命令窗口提示符下键入:(符号表示回车)num=[10] 分子多项式系数den=[1 2 10] 分母多项式系数sys=tf(num,den);建立控制系统的传递函数模型eig(sys)求出系统的特征根屏幕显示得到系统的特征根为:ans = -1.0000 + 3.0000i ; -1.0000 - 3.0000i2、求系统的闭环根、和函数damp()可以直接计算出闭环根、和den=[1 2 10]damp(den) 计算出闭环根屏幕显示得到系统的闭环根、和Eigenvalue Damping Freq. (rad/s)-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000-1.00e+000 - 3.00e+000i 3.16e-001 3.16e+000 既系统闭环跟为一对共轭复根 -1+j3与-1-j3,阻尼比,无阻尼振荡频率 rad/s.3、求系统的单位阶跃响应曲线函数step()可以直接计算连续系统单位阶跃响应,其调用格式为:step(sys):对象sys可以是tf(),zpk()函数中任何一个建立的系统模型。
step(sys,t):t可以指定一个仿真终止时间。
在MATLAB命令窗口提示符下键入:(符号表示回车)num=[10] den=[1 2 10]step ( num , den ) 计算连续系统单位阶跃响应 grid 绘制坐标的网络屏幕显示系统的单位阶跃响应曲线: 从图中获得动态性能指标的值为:上升时间: 0.42 (s ) 峰值时间: 1.05 (s ) 超调量: 35% 调整时间: 3.54 (s )Step ResponseTim e (sec)A m p l i t u d e01234560.20.40.60.811.21.4System : sysSettling Tim e (sec): 3.54System : sysP eak am plitude: 1.35Overshoot (%): 35.1At tim e (sec): 1.05System : sysRise Tim e (sec): 0.427动态性能指标的获取方法:方法一:用鼠标点击响应曲线上相应的点,读出该点的坐标值,然后根据二阶系统动态性能指标的含义计算出动态性能指标的值。
自动控制原理_线性系统时域响应分析
武汉工程大学 实验报告专业 班号 组别 指导教师 姓名 学号 实验名称 线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、实验内容1.观察函数step( )和impulse( )的调用格式,假设系统的传递函数模型为146473)(2342++++++=s s s s s s s G 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。
2.对典型二阶系统2222)(nn n s s s G ωζωω++= 1)分别绘出)/(2s rad n =ω,ζ分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=0.25时的时域性能指标ss s p r p e t t t ,,,,σ。
2)绘制出当ζ=0.25, n ω分别取1,2,4,6时单位阶跃响应曲线,分析参数nω对系统的影响。
3.系统的特征方程式为010532234=++++s s s s ,试用两种判稳方式判别该系统的稳定性。
4.单位负反馈系统的开环模型为)256)(4)(2()(2++++=s s s s Ks G试用劳斯稳定判据判断系统的稳定性,并求出使得闭环系统稳定的K 值范围。
三、实验结果及分析1.观察函数step( )和impulse( )的调用格式,假设系统的传递函数模型为146473)(2342++++++=s s s s s s s G 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。
方法一:用step( )函数绘制系统阶跃响应曲线。
程序如下:num=[0 0 1 3 7]; den=[1 4 6 4 1]; t=0:0.1:10;step(num,den) gridxlabel('t/s'),ylabel('c(t)')title('Unit-step Response of G(s)=s^2+3s+7/(s^4+4s^3+6s^2+4s+1)')方法二:用impulse( )函数绘制系统阶跃响应曲线。
实验二用MATLAB实现线性系统的时域分析
实验二用MATLAB实现线性系统的时域分析线性系统是一种重要的数学模型,用于描述许多自然和工程系统的行为。
在实际应用中,对线性系统进行时域分析是非常重要的,以了解系统的稳定性、响应和性能特性。
MATLAB是一种功能强大的数学软件,被广泛用于线性系统的建模和分析。
首先,我们将介绍线性系统的时域分析的基本概念和方法。
然后,我们将学习如何使用MATLAB进行线性系统的时域分析,并通过具体的例子来演示。
时域分析是研究系统在时间上的响应,主要包括系统的因果性、稳定性、阶数、零极点分布、阻尼特性和幅频特性等。
其中,系统的因果性表示系统的输出只依赖于输入的过去和现在,与未来的输入无关;系统的稳定性表示系统的输出有界,不会无限增长或发散;系统的阶数表示系统差分方程的最高阶导数的次数。
在MATLAB中,线性系统可以用传输函数、状态空间或差分方程的形式表示。
传输函数是输入输出之间的比例关系,常用于分析系统的频率特性;状态空间是通过一组状态变量和状态方程描述系统的,可以用于分析系统的稳定性和阻尼特性;差分方程是通过相邻时刻的输入和输出之间的关系来描述系统的,可以用于分析系统的因果性和稳定性。
下面,我们以传输函数为例,介绍如何在MATLAB中进行线性系统的时域分析。
首先,我们需要定义传输函数。
MATLAB提供了tf函数来定义传输函数,其语法为:G = tf(num, den),其中num是传输函数的分子多项式的系数,den是传输函数的分母多项式的系数。
接下来,我们可以使用MATLAB中提供的各种函数和命令来进行时域分析。
例如,可以使用step函数来绘制系统的阶跃响应曲线,语法为:step(G);可以使用impulse函数来绘制系统的冲激响应曲线,语法为:impulse(G);可以使用initial函数来绘制系统的零状态响应曲线,语法为:initial(G, x0),其中x0是系统的初始状态。
此外,还可以使用MATLAB中的函数和命令来计算系统的阶数、零极点分布、频率响应等。
实验1 利用matlab进行系统的时域分析
实验1 利用matlab进行系统的时域分析一.实验目的:1.了解离散时间序列卷积和的matlab实现;2.利用卷积和求解系统的零状态响应;二.实验原理:1.连续时间系统零状态响应的求解连续时间LTI系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。
在MATLAB中,控制系统工具箱提供了一个用于求解零初始状态微分方程数值解的函数lsim。
其调用方式为y= lsim( sys,x,t)式中t表示计算系统响应的抽样点向量,x是系统输入信号向量,sys是连续时间LTI系统模型,用来表示微分方程、差分方程、状态方程。
在求解微分方程时,微分方程的连续时间LTI系统模型sys要借助tf函数获得,其调用方式为sys= tf(b,a)式中b和a分别为微分方程右端和左端各项的系数向量。
例如对3阶微分方程+++=+++可用a=[ a3, a2, a1, a0];b=[b3 ,b2, b1,b0]; sys=tf( b,a)获得连续时间LTI模型。
注意微分方程中为零的系数一定要写入向量a和b中。
【例2-1】描述某力学系统中物体位移y(t)与外力f(t)的关系为++y(t)=x(t)物体质量m=l kg,弹簧的弹性系数ks= 100 N/m,物体与地面的摩擦系数fd=2 N·s/m,系统的初始储能为零,若外力x(t)是振幅为10、周期为1的正弦信号,求物体的位移y(t)。
解:由已知条件,系统的输入信号为x(t)=10sin(2πt),系统的微分方程为++100y(t)=x(t)计算物体位移y(t)的MATLAB程序如下:%program2_1微分方程求解ts=0;te=5;dt=0.01;sys=tf([1],[1 2 100]);t=ts:dt:te;x=10*sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel('Time(sec)') ylabel('y(t)')Time(sec)y (t )图2-1系统的零状态响应2.连续时间系统冲激响应和阶跃响应的求解在MATLAB 中,求解系统冲激响应可应用控制系统工具箱提供的函数impulse ,求解阶跃响应可利用函数step 。
MATLABsimulink稳定性分析时域分析
Re( pi ) 0,i 1,2, , n
对于离散时间系统,如果系统全部极点都位于Z平 面的单位圆内,则系统是稳定的;否则系统是不稳定 的。
pi 1,i 1,2, , n 2
直接判定方法
对于传递函数模型tf(num,den),利用求根 函数roots(den)来求极点。对于状态空间模型 SS(A,B,C,D)利用求特征值函数eig(A)来求特征 值。这样根据极点或特征值即可直接判定系统 的稳定性。
[u,t]=gensig(type,Ta,Tf,T)
其中:产生一个类型为type的信号序列u(t), type为 以下标识字符串之一:’sin’—正弦波;’square’— 方波;’pulse’—脉冲序列,Ta为周期,Tf为持续时 间,T为采样时间。
运行结果显示: System is Stable
8
3. 利用李雅普诺夫第二法来判断系统的稳定性
线性定常连续系统
x Ax
在平衡状态xe=0处渐近稳定的充要条件是:对任给的 一个正定对称矩阵Q,存在一个正定的对称矩阵P,
且满足李雅普诺夫方程
ATP+PA=-Q
而标量函数V(x)=xTPx是这个系统的一个二次型李雅
roots(d) 运行结果显示:
ans =
-12.8990
-5.0000
-3.1010
4
例7-1 已知闭环系统的传递函数为
G(s) 3s4 2s3 s2 4s 2 3s5 5s4 s3 2s2 2s 1
试判断系统的稳定性,并给出不稳定极点。
解:MATLAB程序如下
10
广东工业大学《自动控制原理》MATLAB仿真实验指导书
⼴东⼯业⼤学《⾃动控制原理》MATLAB仿真实验指导书⾃动控制原理MATLAB仿真实验指导书李明编写⼴东⼯业⼤学⾃动化学院⾃动控制系⼆〇⼀四年九⽉实验项⽬名称:实验⼀线性系统的时域响应实验项⽬性质:MATLAB仿真实验所属课程名称:⾃动控制原理实验计划学时:2学时⼀、实验⽬的1.熟悉控制系统MATLAB仿真的实验环境。
2.掌握使⽤MATLAB进⾏系统时域分析的⽅法,研究⼀阶系统和⼆阶系统的时域响应特性。
⼆、实验环境装有MATLAB6.5或以上版本的PC机⼀台。
三、实验内容和要求1.了解和掌握MATLAB中传递函数表达式及输出时域函数表达式。
2.利⽤MATALB观察和分析⼀阶系统的阶跃响应曲线,了解⼀阶系统的参数:时间常数对⼀阶系统动态特性的影响。
3.掌握典型⼆阶系统模拟电路的构成⽅法;研究⼆阶系统运动规律。
研究其重要参数:阻尼⽐对系统动态特性的影响,分析与超调量%、过渡过程时t的关系。
间s四、实验⽅法1.MATLAB中建⽴传递函数模型的相关函数(1)有理分式降幂排列形式: tf()(2)零极点增益模型: zpk()(3)传递函数的连接⽅式: series(), parallel(), feedback()2.MATLAB中分析系统稳定性的相关函数(1)利⽤pzmap()绘制连续系统的零极点图;(2)利⽤roots()求分母多项式的根来确定系统的极点3.MATLAB中分析线性系统的时域响应的相关函数(1)⽣成特定的激励信号的函数gensig( )(2) LTI 模型任意输⼊的响应函数lsim( ) (3) LTI 模型的单位冲激响应函数impulse( ) (4) LTI 模型的阶跃响应函数step( )五、实验步骤1. 线性系统的稳定性分析(1) 若线性系统的闭环传递函数为225()425G s ss,试绘制其零极点分布图,并据此判断系统的稳定性。
(2) 若线性系统的闭环传递函数为229(0.21)()( 1.29)s s G s s s s ,求出该闭环传递函数的所有极点,并据此判断系统的稳定性。
MATLAB线性系统时域响应分析实验
MATLAB线性系统时域响应分析实验线性系统时域响应分析是信号与系统课程中非常重要的一部分,通过掌握该实验可以深入了解线性系统的特性和性能。
本实验将介绍如何利用MATLAB软件进行线性系统时域响应分析。
一、实验目的1.掌握线性时不变系统的时域响应分析方法;2.学会利用MATLAB软件进行线性系统的时域响应分析;二、实验原理线性系统时域响应分析是指对于给定的线性时不变系统,通过输入信号和系统的冲激响应,求解系统的输出信号。
其基本原理可以用以下公式表示:y(t) = Σ[h(t)*x(t-tk)]其中,y(t)表示系统的输出信号,x(t)表示系统的输入信号,h(t)表示系统的冲激响应,tk表示冲激响应的时刻。
在MATLAB中,我们可以利用conv函数来计算线性系统的时域响应。
具体步骤如下:步骤一:定义输入信号x(t)和系统的冲激响应h(t);步骤二:利用conv函数计算系统的时域响应y(t);步骤三:绘制输入信号、冲激响应和输出信号的图像;步骤四:分析系统的特性和性能。
三、实验内容1.定义输入信号x(t)和系统的冲激响应h(t);2. 利用conv函数计算系统的时域响应y(t);3.绘制输入信号、冲激响应和输出信号的图像;4.分析系统的特性和性能,包括时域特性、频域特性、稳定性等。
四、实验步骤1.打开MATLAB软件并新建一个脚本文件;2.定义输入信号x(t)和系统的冲激响应h(t);3. 利用conv函数计算系统的时域响应y(t);4.绘制输入信号、冲激响应和输出信号的图像;5.分析系统的特性和性能,包括时域特性、频域特性、稳定性等;6.运行脚本文件,并观察输出图像和分析结果;7.根据实验结果和分析结果,进行总结和讨论。
五、实验总结通过本次实验,我们掌握了利用MATLAB软件进行线性系统时域响应分析的方法。
实验中,我们定义了输入信号和系统的冲激响应,并利用conv函数计算了系统的时域响应。
然后,我们绘制了输入信号、冲激响应和输出信号的图像,并分析了系统的特性和性能。
信号与系统matlab实验线性时不变系统的时域分析(最新整理)
答案
1. x n hn u n u n 4 ;
nx=0:9;x=ones(1,length(nx)); nh=0:4;h=ones(1,length(nh)); y=conv(x,h); % 下限=下限1+下限2 ny_min=min(nx)+min(nh); % 上限=上限1+上限2 ny_max=max(nx)+max(nh); ny=ny_min:ny_max; subplot(3,1,1);stem(nx,x); xlabel('n');ylabel('x(n)');axis([ny_min ny_max 0 max(x)]); subplot(3,1,2);stem(nh,h); xlabel('n');ylabel('h(n)');axis([ny_min ny_max 0 max(h)]); subplot(3,1,3);stem(ny,y); xlabel('n');ylabel('x(n)*h(n)');axis([ny_min ny_max 0 max(y)]);
到连续卷积的数值近似,具体算法如下:
y=conv(x,h)*dt
% dt 为近似矩形脉冲的宽度即抽样间隔
例 2-2:采用不同的抽样间隔 值,用分段常数函数近似 x t u t u t 1 与
h t sin t u t u t π 的 卷 积 , 并 与 卷 积 的 解 析 表 达 式
x(t)
h(t)
1 0.5
0 0 0.5 1 1.5 2 2.5 3 3.5 t
1 0.5
0 0 0.5 1 1.5 2 2.5 3 3.5 t
实验3线性时不变系统
∑N bk sk
H
(s)
=
k=0
∑M ak sk
k=0
即可求出指定时间范围内 h(t) 的数值解并画出其时域波形。类似的函数还 有step函数,可用来计算和绘制单位阶跃响应 s(t)。例如
例 1 描述连续时间系统的微分方程为 y′′ (t) + 2y′ (t) + 5y (t) = x′ (t) + 5x (t), 计算系统的单位冲激响应和单位阶跃响应。
subplot(2,1,1); impulse(sys,t); 6 subplot(2,1,2); step(sys,t);
即可画出如图3.2所示的单位冲激响应和单位阶跃响应的波形。 如果运行命令
ht=impulse(sys,t); 2 st=step(sys,t);
则可得到单位冲激响应和单位阶跃响应的数值解。
a=[1 0.4 -0.12]; % Dቤተ መጻሕፍቲ ባይዱnominators. 2 b=[1 2]; % Numerators.
N=15; %Number of samples.
36
实验三 线性时不变系统的时域分析
3.2 实验原理
Amplitude
1.5 1
0.5 0
−0.5 0
1.5 1
0.5 0 0
Impulse Response
∑m y [n] = bkω [n − k] ,
k=0
(3.4)
MA 滤波器的输出是非递归的,只和输入有关,可通过卷积计算。因此3.2式给出的
IIR 滤波器也称为 ARMA 滤波器。一般来说,总是可以将3.2式写为递推的形式:
y [n]
=
1 a0
− ∑n aky [n
自动控制原理MATLAB仿真实验指导书(4个实验)
自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MA TLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。