matlab实验二线性系统时域响应分析

合集下载

实验二 利用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)部分分式展开考虑下列传递函数:式中,但就是与中某些量可能为零。

基于MATLAB的线性系统时域分析及仿真

基于MATLAB的线性系统时域分析及仿真

基于MATLAB的线性系统时域分析及仿真MATLAB是一种高级计算软件,广泛应用于各个领域中的科学和工程问题的分析与仿真。

在信号与系统领域,MATLAB提供了强大的工具来进行线性系统的时域分析与仿真。

线性系统是指具有线性特性的系统,它们满足叠加原理和比例原理。

在时域分析中,我们通常关注系统的时域响应,即系统对输入信号的输出响应。

MATLAB提供了许多实用的函数来分析线性系统的时域行为。

首先,我们可以通过建立线性系统模型来研究其时域特性。

MATLAB 中的tf和ss函数可以用于创建传递函数和状态空间模型。

传递函数是输入输出之间的比值关系,而状态空间模型描述了系统的状态变量和输入/输出之间的关系。

可以通过输入系统的差分方程或频域特性来创建或导入线性系统的模型。

接下来,我们可以使用step、impuls和lsim函数来分析线性系统的时域响应。

step函数用于计算系统的单位阶跃响应,impuls函数用于计算系统的单位脉冲响应,而lsim函数用于计算系统对任意输入信号的响应。

这些函数能够绘制系统的时域响应曲线,并提供有关系统稳定性和动态特性的信息。

除了时域分析,MATLAB还提供了一些仿真工具来模拟线性系统的时域行为。

Simulink是MATLAB的一个强大的仿真环境,它可以用于构建复杂的线性系统模型,并通过仿真来分析系统的时域响应。

Simulink提供了丰富的模块库,包括线性系统模型、输入信号源和观测器等,使用户能够快速搭建系统模型并进行仿真。

在仿真过程中,Simulink提供了多种仿真方法,如固定步长仿真和变步长仿真。

固定步长仿真通过以固定的时间步长进行仿真,可以在仿真过程中保持较高的精度。

变步长仿真则根据系统响应的动态特性自适应地调整仿真步长,以确保在不同仿真阶段获取较高的精度和仿真效率。

总之,MATLAB提供了强大的工具来进行线性系统的时域分析与仿真。

通过建立线性系统模型、使用时域分析函数和Simulink仿真工具,用户可以方便地研究和分析系统的时域特性,并得到系统的时域响应曲线,进而了解系统的稳定性、动态特性和性能等信息。

MATLAB实验2系统时域分析

MATLAB实验2系统时域分析
%在子图1绘出f1(t)的时域波形图
title('f1(t)')
xlabel('t')
ylabel('f1(t)') 5
续:
subplot(2,2,2)
plot(k2,f2)
%在子图2绘出f2(t)的时域波形图
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
➢ hold off

系统零状态响应的仿真波形图如下图所示:
12
仿真结果
13
实验原理三
➢ 连续时间系统冲激响应的MATLAB实现
MATLAB为用户提供了专门用于连续系统冲激 响应并绘制其时域波形的impulse函数
函数impulse()的调用格式: impulse(b,a)
14
➢ 连续时间系统阶跃响应的MATLAB实现
ylabel('f(t)’)
6
举例1
➢ 已知两个连续时间信号如下图所示,试用MATLAB 求f(t)=f1(t)*f2(t),并绘出f(t)的时域波形图。
7
➢ MATLAB命令如下:
p=0.01; k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1; [f,k]=sconv(f1,f2,k1,k2,p)
实验二 系统的时域分析
1
实验目的
➢ 1.掌握连续时间信号卷积的原理及其matlab实现 ➢ 2.掌握连续时间系统响应的原理及其matlab实现 ➢ 3.掌握离散系统单位脉冲序列响应及其matlab实现 ➢ 4.掌握离散序列卷积和的计算方法及其matlab实现
2

matlab实验(线性系统的时域分析)

matlab实验(线性系统的时域分析)

实验二线性系统的时域分析实验目的:通过本次实验,进一步熟悉Matlab及Simulink软件仿真环境,主要是在控制系统中的应用,包括:Matlab中数学模型怎样表示,瞬态响应分析和如何绘制根轨迹。

实验准备知识:1、时域分析中MATLAB函数的应用(1)、求取单位阶跃响应函数step()的用法step(num,den):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,(2)、求取冲激响应函数impulse()的用法impulse (num,den):其中num和den分别为系统传递函数描述中的分子和分母多项式系数。

(3)、函数linmod()用来将系统的Simulink结构图模型转换为系统状态空间模型,进而用函数ss2tf()把状态空间模型转换为传递函数模型。

例如:程序为:[A,B,C,D]=linmod(’shiyan’); %shiyan为simulink模型文件名[num,den]=ss2tf(A,B,C,D);sys=tf(num,den)2、绘制根轨迹图的专用函数rlocus()rlocus(num,den),其中num 为传递函数分子,den 为分母[k,p]=rlocfind(num,den); 执行后,用鼠标单击根轨迹上任一点,会同时在每支根轨迹上出现红十字,标出n 个闭环极点的位置,命令窗中出现这n 个闭环极点的坐标和他们对应的K 值。

实验内容:一、 已知单位负反馈系统的开环传函)3)(7.0)(5.0()5.2(2.0)(++++=s s s s s s G 用Matlab 编写程序判断闭环系统的稳定性,并绘制闭环系统的零极点分布图;二、 如图所示请用MatLab 化解以上方框图,求出其传递函数。

三、 对于典型二阶系统2222)()(n n n s s s R s C ωζωω++=考虑n ω=1时,ζ分别为0.1,0.7,1和2。

用simulink 或MatLab 求出系统单位阶跃响应,并在图上求出各项性能指标t r ,t p ,t s ,%σ。

基于MATLAB的线性系统时域分析

基于MATLAB的线性系统时域分析

基于MATLAB的线性系统的时域分析目的:1.观察学习控制系统的时域(阶跃、脉冲、斜坡)响应;2.记录时域响应曲线;给出时域指标;3.掌握时域响应分析的一般方法。

实践内容:1.二阶系统为 10/(s2+2s+10);1)计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。

2)记算实际测取的峰值大小Cmax(tp)、峰值时间tp、过渡时间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、已知单位反馈开环系统传递函数。

(a )(b )(c )输入分别为r(t)=2t 和2()22r t t t =++时,系统的响应曲线,分析稳态值与系统输入函数的关系实践步骤:(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% 计算超调量timetopeak=t(n)% 计算峰值时间n=1;while y(n)<0.1*finalvaluen=n+1;endm=1;while y(m)<0.9*finalvaluem=m+1;endrisetime=t(m)-t(n) % 计算上升时间k=length(t);while (y(k)>0.98*finalvalue)&(y(k)<1.02*finalvalue)k=k-1; end)5)(S 1S 1.0(100)(++=S G )5)(S 1S 1.0(50)(++=S S G )1006()12(10)(22+++=S S S S S Gsettlingtime=t(k) % 计算调整时间1)运行结果如下:r =-1.000000000000000 + 3.000000000000000i -1.000000000000000 - 3.000000000000000iw =3.1622776601683803.162277660168380z =0.3162277660168380.316227766016838finalvalue =1yss =1.350912977671120n =21percentovershoot =35.091297767111953timetopeak =1.049171755752087risetime =0.419668702300835settlingtime =d 无阻尼振荡频率n ω=3.1623 ,n 1ςω=,阻尼比0.3162ς=2)峰值大小Cmax(tp)= 1e +=1.332理论峰值时间计算/ 1.047p d t πω==s在2%±误差宽度时,理论过渡时间估算ts=4/ςω=4s致的,而过渡时间的实验值和理论值的误差较大,这个是由于理论计算是由估算得来的,简化了实际的计算过渡时间的过程,而实际影响调节时间的各个变量和因素较多。

实验二-MATLAB用于时域分析

实验二-MATLAB用于时域分析

实验二 MATLAB用于时域分析一、实验目的通过使用MATLAB完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。

二、实验原理在MATLAB中,可以通过单输入单输出系统的传递函数,进行系统的脉冲响应,阶跃响应以及一般输入响应等时域分析。

用到以下函数:单位阶跃响应 step(num,den,t)单位脉冲响应impluse(num,den,t)一般输入响应 y=Isim(num,den,u,t)时间t是事先定义的矢量,u为输入信号。

此外,还可以求出系统的超调量,调节时间以及稳态误差。

SIMULINK是MATLAB的一个附加组件,用来提供一个系统的建模、动态仿真及综合分析的工作平台。

SIMULINK模型可以用来模拟线性或非线性、连续或离散,或者两者混合的系统,即可用它来模拟几乎所有的动态系统。

三、实验内容通过MATLAB以及其中的SIMULINK完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。

四、实验代码1、一阶系统响应sys1=tf([100],[1 0]);sys2=tf([0.1],[1]);sys=feedback(sys1,sys2);step(sys)2、二阶系统响应wn=1t=0:0.1:12;num=[1];zeta1=0;den1=[1 2*zeta1 1];zeta3=0.3;den3=[1 2*zeta3 1];zeta5=0.5;den5=[1 2*zeta5 1];zeta7=0.7;den7=[1 2*zeta7 1];zeta9=1.0;den9=[1 2*zeta9 1];[y1,x,t]=step(num,den1,t);[y3,x,t]=step(num,den3,t);[y5,x,t]=step(num,den5,t);[y7,x,t]=step(num,den7,t);[y9,x,t]=step(num,den9,t);plot(t,y1,t,y3,t,y5,t,y7,t,y9)grid on;3、稳定性分析den=[1 1 2 24];roots(den)4、求动态性能指标t=0:0.01:2;num=[1000]';den=[1 34.5 1000];[y,x,t]=step(num,den,t);plot(t,y);maxy=max(y);yes=y(length(t));pos=100*(maxy-yes)/yesfor i=1:1:201if y(i)==maxy,n=i;endendtp=(n-1)*0.01for i=1:1:201if(y(i)<1.05&y(i)>0.95),n=i;endbreak;endts=(n-1)*0.015、稳态误差分析t=0:0.1:15;[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=impulse(num1,den1,t);y2=impulse(num2,den2,t);y3=impulse(num3,den3,t);subplot(311);plot(t,y1);subplot(312);plot(t,y2);subplot(313);plot(t,y3);er1=0-y1(length(t))er2=0-y2(length(t))er3=0-y3(length(t))6、求单位阶跃响应及其稳态误差t=0:0.1:20[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=step(num1,den1,t);y2=step(num2,den2,t);y3=step(num3,den3,t);subplot(311);plot(t,y1);subplot(312);plot(t,y2);subplot(313);plot(t,y3);er1=1-y1(length(t));er2=1-y2(length(t));er3=1-y3(length(t));7、求单位斜坡响应及其稳态误差t=0:0.1:20;t1=0:0.1:100;[num1,den1]=cloop([1],[1 1]);[num2,den2]=cloop([1],[1 1 0]);[num3,den3]=cloop([4 1],[1 1 0 0]);y1=step(num1,[den1 0],t1);y2=step(num2,[den2 0],t);y3=step(num3,[den3 0],t);subplot(311);plot(t1,y1,t1,t1);subplot(312);plot(t,y2,t,t);subplot(313);plot(t,y3,t,t);er1=t1(length(t1))-y1(length(t1))er2=t(length(t))-y2(length(t))er3=t(length(t))-y3(length(t))8、实例分析kp=[0.11 6];t=[0:0.01:1];num1=303.03*kp(1);den1=[0.00001 0.00633 0.20167 21.21*kp(1)+1];y1=step(num1,den1,t);num2=303.03*kp(2);den2=[0.00001 0.00633 0.20167 21.21*kp(2)+1];y2=step(num2,den2,t);subplot(211);plot(t,y1);subplot(212);plot(t,y2);gtext('kp=0.11');gtext('kp=6');9、SIMULINK用于系统仿真五、实验结果1、一阶系统响应2、二阶系统响应3、稳定性分析4、求动态性能指标5、稳态误差分析6、求单位阶跃响应及其稳态误差7、求单位斜坡响应及其稳态误差8、实例分析9、SIMULINK用于系统仿真六、实验总结通过本次实验实现了用MATLAB完成系统的输出响应分析、稳定性分析、求动态性能指标以及稳态误差分析等工作。

一阶系统及二阶系统时域特性MatLab仿真实验报告

一阶系统及二阶系统时域特性MatLab仿真实验报告

实验一 一阶系统及二阶系统时域特性MatLab 仿真实验一、实验目的1、使学生通过实验中的系统设计及理论分析方法,帮助学生进一步理解自动控制系统的设计与分析方法。

2、熟悉仿真分析软件。

3、利用Matlab 对一、二阶系统进行时域分析。

4、掌握一阶系统的时域特性,理解常数T 对系统性能的影响。

5、掌握二阶系统的时域特性,理解二阶系统重要参数对系统性能的影响。

二、实验设备计算机和Matlab 仿真软件。

三、实验内容1、一阶系统时域特性 一阶系统11)(+=Ts s G ,影响系统特性的参数是其时间常数T ,T 越大,系统的惯性越大,系统响应越慢。

Matlab 编程仿真T=0.4,1.2,2.0,2.8,3.6,4.4系统单位阶跃响应。

2、二阶系统时域特性a 、二阶线性系统 16416)(2++=s s s G 单位脉冲响应、单位阶跃响应、单位正弦输入响应的 Matlab 仿真。

b 、下图为具有一微分负反馈的位置随动系统框图,求出系统的闭环传递函数,根据系统瞬态性能指标的定义利用Matlab 分别计算微分反馈时间常数τ为0,0.0125,0.025时系统的上升时间、峰值时间、最大超调量和调整时间。

C 、二阶线性系统3612362++s s ξ,当ξ为0.1,0.2,0.5,0.7,1.0,2.0时,完成单位阶跃响应的Matlab 仿真,分析ξ值对系统响应性能指标的影响。

四、实验要求1、进入机房,学生要严格遵守实验室规定。

2、学生独立完成上述实验,出现问题,教师引导学生独立分析和解决问题。

3、完成相关实验内容,记录程序,观察记录响应曲线,响应曲线及性能指标进行比较,进行实验分析4、分析系统的动态特性。

5、并撰写实验报告,按时提交实验报告。

五、Matlab 编程仿真并进行实验分析1、一阶系统时域特性实验代码:运行曲线:实验分析:由上图分析可知,一阶系统时间常数越大,图像图线越晚达到常值输出,即时间常数T影响系统参数,时间常数越大,系统的惯性越大,系统响应越慢。

实验二 线性系统时域响应分析

实验二  线性系统时域响应分析

实验二 线性系统时域响应分析一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。

2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。

3.熟练掌握系统的稳定性的判断方法。

二、基础知识及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所示:注意:在figure 中点鼠标右键,在右键菜单中选择“Characteristics”,其中包括四个系统性能指标:“Peak Response 峰值”、“Settling Time 调节时间”、“Rise Time”和“Steady State 稳态值”,选中其中的任何一个指标后,都会用大点点在图上标出指标对应的位置。

实验二 测试系统的时域响应和频域响应

实验二  测试系统的时域响应和频域响应

实验一测试系统的时域响应【实验目的】1.了解MATLAB软件的基本特点和功能,熟悉其界面、菜单和工具条,熟悉MATLAB程序设计结构及M文件的编制;2.掌握线性系统模型的计算机表示方法;3.掌握求线性定常连续系统时域输出响应的方法,求得系统的时域响应曲线;4. 了解Simulink 的使用。

【实验指导】一、模型的建立:在线性系统理论中,一般常用的数学模型形式有:(1)传递函数模型;(2)状态空间模型;(3)零极点增益模型这些模型之间都有着内在的联系,可以相互进行转换.1、传递函数模型若已知系统的传递函数为:对线性定常系统,式中s的系数均为常数,且an不等于零,这时系统在MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示.num=[cm,c,m-1,…,c1,c0]den=[an,an-1,…,a1,a0]注意:它们都是按s的降幂进行排列的.则传递函数模型建立函数为:sys=tf(num,den).2、零极点增益模型(略)3、状态空间模型(略)二、模型的转换在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换.三、模型的连接1、并联:parallel[num,den]=parallel(num1,den1,num2,den2)%将并联连接的传递函数进行相加.2、串联:series[num,den]=series(num1,den1,num2,den2)%将串联连接的传递函数进行相乘.3、反馈:feedback[num,den]=feedback(num1,den1,num2,den2,sign)%可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示.当sign=1时采用正反馈;当sign= -1时采用负反馈;sign缺省时,默认为负反馈.4、闭环:cloop(单位反馈)[numc,denc]=cloop(num,den,sign)%表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同.四、线性连续系统的时域响应1 求取线性连续系统的阶跃响应函数为(step) 基本格式为:step(sys) step(num,den)【实验内容】1. 典型一阶系统的传递函数为 11)(+=s s G τ;τ为时间常数,试绘出当τ=0.5、1、 2、4、6、8、时该系统的单位阶跃响应曲线。

MATLAB实验二-线性系统时域响应分析

MATLAB实验二-线性系统时域响应分析

武汉工程大学实验报告专业班号组别 01 教师姓名同组者(个人)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.可以用两种方法绘制系统的阶跃响应曲线。

(1)用函数step( )绘制 MATLAB 语言程序:>> num=[ 0 0 1 3 7]; >> den=[1 4 6 4 1 ]; >>step(num,den); >> grid;>>xlabel('t/s');ylabel('c(t)');title('step response');MATLAB运算结果:(2)用函数impulse( )绘制MATLAB语言程序:>> num=[0 0 0 1 3 7];>> den=[1 4 6 4 1 0];>> impulse(num,den);>> grid;>> xlabel('t/s');ylabel('c(t)');title('step response');MATLAB运算结果:2. (1))/(2s rad n =ω,ζ分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线的绘制: MATLAB 语言程序:>> num=[0 0 4];>> den1=[1 0 4]; >> den2=[1 1 4]; >> den3=[1 2 4]; >> den4=[1 4 4]; >> den5=[1 8 4]; >> t=0:0.1:10; >> step(num,den1,t); >> grid>> text(2,1.8,'Zeta=0'); hold Current plot held >> step(num,den2,t); >> text (1.5,1.5,'0.25'); >> step(num,den3,t); >> text (1.5,1.2,'0.5'); >> step(num,den4,t); >> text (1.5,0.9,'1.0'); >> step(num,den5,t); >> text (1.5,0.6,'2.0');>> xlabel('t');ylabel('c(t)'); title('Step Response ') ;MATLAB 运算结果:实验结果分析:从上图可以看出,保持)/(2s rad n =ω不变,ζ依次取值0,0.25,0.5,1.0和2.0时, 系统逐渐从欠阻尼系统过渡到临界阻尼系统再到过阻尼系统,系统的超调量随ζ的增大而减小,上升时间随ζ的增大而变长,系统的响应速度随ζ的增大而变慢,系统的稳定性随ζ的增大而增强。

基于matlab的一阶系统及二阶系统时域特性仿真实验 (1)

基于matlab的一阶系统及二阶系统时域特性仿真实验 (1)

、实验一一阶系统及二阶系统时域特性MatLab仿真实验(2学时)一、概述:系统时域特性常用的Matlab仿真函数1、传递函数两种形式传递函数通常表达为s的有理分式形式及零极点增益形式。

A、有理分式形式分别将分子、分母中、多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。

上述函可表示为num1=[2 1](注意:方括号,同一行的各元素间留空格或逗号)。

den1=[1 2 2 1]syss1=tf(num1,den1)运行后,返回传递函数G1(s)的形式。

这种形式不能直接进行符号运算!B.零极点增益形式[Z,P,K]=tf2zp(num1,den1)sys2=zpk(Z,P,K)返回零、极点、增益表达式,其Z,P分别将零点和极点表示成列向量,若无零点或极点用[ ](空矩阵)代替。

运行得到G(s)的零点Z=-0.5,极点P=-1,-0.5±j0.866,增益K=2。

指令zp2tf(Z,P,K)将零极点增益变换成有理分式形式,见程序:传递函数的有理分式及零极,点增益模型num1=[2 1]%传递函数的分子系数向量den1=[1 2 2 1]%传递函数的分母系数向量sys1=tf(num1,den1)%传递函数的有理分式模型[Z,P,K]=tf2zp(num1,den1)%有理分式模型转换成零极点增益模型 [num2,den2]=zp2tf(Z,P,K)%零极点增益模型转换成有理分式模型 sys2=zpk(Z ,P ,K)%传递函数的零极点增益模型[A1,B1,C1,D1]=tf2ss(num1,den1)%有理分式模型转换成状态空间模型 [A2,B2,C2,D2]=zp2ss(Z,P,K)%零极点及增益模型转换成状态空间模型 [num1,den1]=ss2tf(A1,B1,C1,D1)%状态空间模型转换成有理分式模型 [Z,P,K]=ss2zp(A2,B2,C2,D2)%状态空间模型转换成零极点增益模型程序中,命令tf2ss ,zp2ss 及ss2tf ,ss2zp 是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。

实验二、信号与系统时域分析的MATLAB实现

实验二、信号与系统时域分析的MATLAB实现

实验二、信号与系统时域分析的MATLAB 实现一、实验目的掌握利用Matlab 求解LTI 系统的冲激响应、阶跃响应和零状态响应,理解卷积概念。

二、实验内容1、 卷积运算的MA TLAB 实现:(1) 计算连续信号卷积用MA TLAB 中的函数conv ,可编写连续时间信号卷积通用函数sconv ,function [f,n]=sconv(f1,f2,n1,n2,p)f=conv(f1,f2);f=f*p;n3=n1(1)+n2(1);L=length(n1)+length(n2)-1;n=n3:p:(n3+(L-1)*p);例2.1 )()()(21t f t f t f *=在MA TLAB 编写:p=0.01;n1=-1:p:1;f1=ones(1,length(n1));n2=0:p:1;f2=2*n2;[f,n]=sconv(f1,f2,n1,n2,p);subplot(3,1,1),plot(n1,f1), axis([-1.5,1.5,0,2]),grid onsubplot(3,1,2),plot(n2,f2), axis([-0.1,1.2,0,3]),grid onsubplot(3,1,3),plot(n,f),axis([-1.5,5,0,2]),grid on运算结果如图例2.1所示。

(2) 计算离散信号卷积用MA TLAB 中的函数conv ,其调用格式为:),(b a conv c =式中,a 、b 为待卷积两序列的向量表示。

向量c 的长度为a 、b 长度之和减1。

例2.2 已知序列{}{}3,2,1,0;1,1,1,1][,3,2,1,0;4,3,2,1][====k k y k k x ,计算][][k y k x *。

解:MATLAB 的程序为:x=[1,2,3,4];y=[1,1,1,1];z=conv(x,y)N=length(z);stem(0:N-1,z)运行结果:如图例2.2z = 1 3 6 10 9 7 42、 连续时间系统零状态响应的求解:LTI 连续时间系统的零状态响应可通过求解初始状态为零的常系数微分方程得到。

实验二用MATLAB实现线性系统的时域分析

实验二用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中的函数和命令来计算系统的阶数、零极点分布、频率响应等。

MATLAB---二阶系统时域响应特性的实验

MATLAB---二阶系统时域响应特性的实验

实验一、二阶系统时域响应特性的实验研究一、实验目的:1. 学习并掌握利用MATLAB编程平台进行控制系统时域仿真的方法。

2. 通过仿真实验研究并总结二阶系统参数对时域响应特性影响的规律。

3. 通过仿真实验研究并总结二阶系统附加一个极点和一个零点对时域响应特性影响的规律。

二、实验任务及要求:(一)实验任务:自行选择二阶系统模型及参数,设计实验程序及步骤仿真研究二阶系统参数(,)对系统时域响应特性的影响;研究二阶系统分别附加一个极点、一个零点后对系统时域响应特性的影响;根据实验结果,总结各自的响应规律。

(二)实验要求:1. 分别选择不少于六个的和取值,仿真其阶跃(或脉冲)响应。

通过绘图展示参数,对时域响应的影响。

不同和变化分别绘制于两幅图中。

2. 通过图解法获得各时域响应指标,并进行比较,总结出二阶系统参数变化对时域系统响应特性影响的规律。

3. 分别选择不少于六个取值的附加零点、极点,仿真其阶跃(或脉冲)响应,将响应曲线分别绘制于两幅图中,并与无零、极点响应比较。

4. 通过图解法获得各响应的时域指标并进行比较分析系统附加零点、极点对二阶系统时域响应特性影响的规律。

以上仿真及图形绘制全部采用MATLAB平台编程完成1-1:wn=1;zeta=[0.1,0.2,0.4,0.7,1.0,2.0];t=[0:0.1:12];num=[wn^2];hold onfor i=1:length(zetaden=[1,2*zeta(i*wn,wn^2]sys=tf(num,den;step(sys,tendhold offgrid ongtext('zeta=0.1';gtext('zeta=0.2';gtext('zeta=0.4';gtext('zeta=0.7';gtext('zeta=1.0';gtext('zeta=2.0';1-2:wn=[0.95,1.0,1.05,1.1,1.15,1.2,];zeta=0.65;t=[0:0.01:10];hold onfor i=1:length(wndnum=[wn(i^2];den=[1,2*zeta*wn(i,wn(i^2];sys=tf(num,den;step(sys,thold offgrid ongtext('wn=0.95';gtext('wn=1.0';gtext('wn=1.05';gtext('wn=1.1';gtext('wn=1.15';gtext('wn=1.25';2:分析得:当恒定时,二阶系统的响应随ζ的增大响应变快。

MATLAB线性系统时域响应分析实验

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函数计算了系统的时域响应。

然后,我们绘制了输入信号、冲激响应和输出信号的图像,并分析了系统的特性和性能。

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

武汉工程大学实验报告
专业班号
组别01 教师
姓名同组者(个人)
2222)(n
n n s s s G ωζωω++= (1)分别绘出)/(2s rad n =ω,ζ分别取0,,,和时的单位阶跃响应曲线,分析参数ζ对系统的影响,并计算ζ=时的时域性能指标ss s p r p e t t t ,,,,σ。

(2)绘制出当ζ=, n ω分别取1,2,4,6时单位阶跃响应曲线,分析参数n ω对系统的影响。

(3)系统的特征方程式为010532234=++++s s s s ,试用二种判稳方式判别该系统的稳定性。

(4)单位负反馈系统的开环模型为 )256)(4)(2()(2++++=
s s s s K s G 试分别用劳斯稳定判据和赫尔维茨稳定判据判断系统的稳定性,并求出使得闭环系统稳定的K 值范围。

三、 实验结果及分析
1.可以用两种方法绘制系统的阶跃响应曲线。

(1)用函数step( )绘制
MATLAB 语言程序:
>> num=[ 0 0 1 3 7];
>> den=[1 4 6 4 1 ];
>>step(num,den);
>> grid;
>>xlabel('t/s');ylabel('c(t)');title('step response');
MATLAB运算结果:
(2)用函数impulse( )绘制
MATLAB语言程序:
>> num=[0 0 0 1 3 7];
>> den=[1 4 6 4 1 0];
>> impulse(num,den);
>> grid;
>> xlabel('t/s');ylabel('c(t)');title('step response');MATLAB运算结果:
2. (1))/(2s rad n =ω,ζ分别取0,,,和时的单位阶跃响应曲线的绘制:
MATLAB 语言程序:
>> num=[0 0 4];
>> den1=[1 0 4];
>> den2=[1 1 4];
>> den3=[1 2 4];
>> den4=[1 4 4];
>> den5=[1 8 4];
>> t=0::10;
>> step(num,den1,t);
>> grid
>> text(2,,'Zeta=0'); hold
Current plot held
>> step(num,den2,t);
>> text ,,'');
>> step(num,den3,t);
>> text ,,'');
>> step(num,den4,t);
>> text ,,'');
>> step(num,den5,t);
>> text ,,'');
>> xlabel('t');ylabel('c(t)'); title('Step Response ') ;
MATLAB 运算结果:
实验结果分析:
从上图可以看出,保持)/(2s rad n =ω不变,ζ依次取值0,,,和时,
系统逐渐从欠阻尼系统过渡到临界阻尼系统再到过阻尼系统,系统的超调量随ζ的增大而减小,上升时间随ζ的增大而变长,系统的响应速度随ζ的增大而变慢,系统的稳定性随ζ的增大而增强。

相关计算:
)/(2s rad n =ω,ζ=时的时域性能指标ss s p r p e t t t ,,,,σ的计算:
(2)ζ=,
ω分别取1,2,4,6时单位阶跃响应曲线的绘制:n
MATLAB语言程序:
>> num1=[0 0 1];
>> den1=[1 1];
>> t=0::10;
>> step(num1,den1,t);
>> grid; hold on
>> text,,'wn=1');
>> num2=[0 0 4];
>> den2=[1 1 4];
>> step(num2,den2,t); hold on
>> text,,'wn=2');
>> num3=[0 0 16];
>> den3=[1 2 16];
>> step(num3,den3,t); hold on
>>text,,'wn=4');
>> num4=[0 0 36];
>> den4=[1 3 36];
>> step(num4,den4,t); hold on
>> text,,'wn=6');
>> xlabel('t');ylabel('c(t)'); title('Step Response '); MATLAB 运算结果:
实验结果分析:
从上图可以看出,保持ζ=不变, n ω依次取值1,2,4,6时,系统超调量不变,延迟时间、上升时间、峰值时间、调节时间均减小,系统响应速度变快,稳定性变强。

3. 特征方程式为010532234=++++s s s s 的系统的稳定性的判定:
(1)直接求根判定稳定性
MATLAB 语言程序及运算结果:
>> roots([2,1,3,5,10])
ans=
+ ;
- ;
+ ;
- ;
判定结论:系统有两个不稳定的根,故该系统不稳定。

(2)用劳斯稳定判据routh()判定稳定性
MATLAB语言程序及运算结果和结论:
>> den=[2,1,3,5,10];
>> [r,info]=routh(den)
r =
0 0
0 0
Info=
所判定系统有2 个不稳定根!
>>
4.开环模型为
0 0
0 0
info =
所要判定系统稳定!(取K=)
den=[1,12,69,198,];
[r,info]=routh(den)
r =
0 0
0 0
info =
所要判定系统稳定!(取K=)
den=[1,12,69,198,];
[r,info]=routh(den)
r =
0 0
0 0
info =
所判定系统有 2 个不稳定根!
结论:
由试探可得,在K=系统刚好稳定,则可知时系统稳定的K 值范围为0<k<.
四、 实验心得与体会
本次实验我们初步熟悉并掌握了step( )函数和impulse( )函数的使用方法以及 判断闭环系统稳定的方法。

在实验中,我们根据内容要求,写出调试好的MATLAB 语言程序,并调用step( ) 函
数和impulse( )函数求出了控制系统1
46473)(2342++++++=s s s s s s s G 在取不同的n ω和不 同的ζ时在单位阶跃和单位脉冲作用下的瞬态响应,然后记录各种输出波形,并根据实 验结果分析了参数变化对系统的影响。

控制系统稳定的充要条件是其特征方程的根均具有负实部。

因此,为了判别系统 的稳定性,就要求出系统特征方程的根,并检验它们是否都具有负实部。

MATLAB 中对多 项式求根的函数为roots()函数。

所以我们可以直接求根判定系统的稳定性。

我们也可 以用劳斯稳定判据判定系统的稳定性,劳斯判据的调用格式为:[r, info]=routh(den),该函数的功能是构造系统的劳斯表,其中,den 为系统的分母多项式系
要求:正文用小四宋体,倍行距,图表题用五号宋体,图题位于图下方,表题位于表上方。

相关文档
最新文档