第一篇:Matlab 控制系统 传递函数模型
MATLAB及控制系统
仿真实验
班
级:
智能0702 姓
名:
刘保卫
学
号:
06074053(18)实验四 控制系统数学模型转换及MATLAB实现
一、实验目的
熟悉MATLAB 的实验环境。
掌握MATLAB 建立系统数学模型的方法。
二、实验内容
(注:实验报告只提交第2 题)
1、复习并验证相关示例。(1)系统数学模型的建立 包括多项式模型(Transfer Function,TF),零极点增益模型(Zero-Pole,ZP),状态空间模型
(State-space,SS);(2)模型间的相互转换 系统多项式模型到零极点模型(tf2zp),零极点增益模型到多项式模型(zp2tf),状态空间模
型与多项式模型和零极点模型之间的转换(tf2ss,ss2tf,zp2ss…);(3)模型的连接
模型串联(series),模型并联(parallel),反馈连接(feedback)
2、用MATLAB 做如下练习。(1)用2 种方法建立系统 程序如下:
%建立系统的多项式模型(传递函数)%方法一,直接写表达式 s=tf('s')Gs1=(s+2)/(s^2+5*s+10)%方法二,由分子分母构造 num=[1 2];den=[1 5 10];Gs2=tf(num,den)figure pzmap(Gs1)figure pzmap(Gs1)grid on
运行结果:
易知两种方法结果一样 的多项式模型。
Transfer function: s Transfer function: s + 2--------------s^2 + 5 s + 10
Transfer function: s + 2--------------s^2 + 5 s + 10(2)用2 种方法建立系统程序如下: %方法一 s=tf('s')Gs1=10*(s+1)/((s+1)*(s+5)*(s+10))% zpk模型 ZPK=zpk(Gs1)
%方法二 % tf模型
num=[10 10];den=conv([1 1],conv([1 5],[1 10]));Gs2=tf(num,den)% zpk模型 ZPK=zpk(Gs2)figure pzmap(Gs1)figure pzmap(Gs1)grid on
运行结果:
易知两种方法结果一样
的零极点模型和多项式模型。
Transfer function: s
Transfer function: 10 s + 10------------------------s^3 + 16 s^2 + 65 s + 50 Zero/pole/gain: 10(s+1)------------------(s+10)(s+5)(s+1)
Transfer function: 10 s + 10------------------------s^3 + 16 s^2 + 65 s + 50
Zero/pole/gain: 10(s+1)------------------(s+10)(s+5)(s+1)
(3)如图,已知G(s)和H(s)两方框对应的微分方程是:
且初始条件为零。试求传递函数C(s)/R(s)及E(s)/R(s)。
程序如下:
%求微分方程的传递函数C(s)/R(s),E(s)/R(s)%求Gs=Cs/Rs n1=[20];d1=[6 10];Gs=tf(n1,d1)
%求Hs=Bs/Cs n2=[10];d2=[20 5];Hs=tf(n2,d2)
% C(s)/R(s)sys=feedback(Gs,Hs)
% E(s)/R(s)=(Es/Cs)*(Cs/Rs)ER=sys/Gs
运行结果:
Transfer function:
20--------
% Gs=Cs/Rs 6 s + 10
Transfer function:
10--------
% Hs=Bs/Cs 20 s + 5
Transfer function:
400 s + 100---------------------
s^2 + 230 s + 250
Transfer function: 2400 s^2 + 4600 s + 1000------------------------
2400 s^2 + 4600 s + 5000
% C(s)/R(s)% E(s)/R(s)=(Es/Cs)*(Cs/Rs)
第二篇:基于 Matlab 的离散控制系统仿真
2014 / 2015 学年第 1 学期
计算机控制技术 实
班 级 学 生 指 导 验 报 告
学 号 1108030301 姓 名 蔡 梦 教 师 张 坤 鳌
实验二 基于 Matlab 的离散控制系统仿真
一、实验目的和要求:
1、学习使用 Matlab 的命令对控制系统进行仿真的方法
2、学习使用 Matlab 中的 Simulink 工具箱进行系统仿真的方法
二、实验环境
X86系列兼容型计算机,Matlab软件
三、实验原理
1、控制系统命令行仿真
1)建立如图所示一阶系统控制模型并进行系统仿真:
一阶系统闭环传递函数为G(S)=
s1333s=s3,转换为离散系统脉冲传递函数并仿真。
2)建立如图所示二阶系统控制模型并进行系统仿真:
52s(s20.45)25251s(s20.45)=s220.45s52,二阶系统闭环传递函数为G(S)=转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。
2、控制系统的 Simulink 仿真
按图建立系统的 Simulink 模型,对不同的输入信号进行仿真,改变参数,观察不同的仿真结果。
将上述系统离散化并仿真,观察仿真结果
四、实验步骤
1、根据实验原理对控制系统进行软件仿真
2、观察记录输出的结果,与理论计算值相比较
3、自行选择参数,练习仿真方法,观察不同的仿真结果
5252s(s20.45)s(s20.45)525211s(s20.45)s(s20.45)进行软二阶系统闭环传递函数为G(S)=件仿真如下图:
分别进行离散仿真:
五、实验心得
针对这次实验设计,我通过各种渠道,上课认真学习,请教老师、上网搜索,图书馆查阅,询问同学等学习到了很多知识,一步步了解最少拍控制系统设计,锻炼了自我学习能力。
尽管学习上遇到了很多困难,结果也差强人意。但我们在不断处理困难的过程中磨练了处理事物的能力和耐心,也让同学间学会了互相学习,共享资源
第三篇:MATLAB与控制系统仿真实验报告
《MATLAB与控制系统仿真》
实验报告
2013-2014学年 第 1 学期
专业: 班级: 学号: 姓名:
实验三 MATLAB图形系统一、实验目的:
1.掌握绘制二维图形的常用函数。2.掌握绘制三维图形的常用函数。3.熟悉利用图形对象进行绘图操作的方法。4.掌握绘制图形的辅助操作。
二、实验原理:
1,二维数据曲线图
(1)绘制单根二维曲线 plot(x,y);(2)绘制多根二维曲线 plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(3)含有多个输入参数的plot函数 plot(x1,y1,x2,y2,…,xn,yn)(4)具有两个纵坐标标度的图形 plotyy(x1,y1,x2,y2)2,图形标注与坐标控制 1)title(图形名称); 2)xlabel(x轴说明)3)ylabel(y轴说明)4)text(x,y图形说明)5)legend(图例1,图例2,…)
6)axis([xmin xmax ymin ymax zmin zmax])3, 图形窗口的分割 subplot(m,n,p)4,三维曲线
plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)5,三维曲面
mesh(x,y,z,c)与surf(x,y,z,c)。一般情况下,x,y,z是维数相同的矩阵。X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。6,图像处理
1)imread和imwrite函数 这两个函数分别用于将图象文件读入matlab工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
2)image和imagesc函数 这两个函数用于图象显示。为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。
三、实验仪器和设备:
计算机一台(带有MATLAB6.5以上的软件环境)。
四、预习要求:
1.复习二维与三维图形的绘图函数。2.复习图形辅助操作。
五、实验内容及步骤:
1,设y[0.53sinx]cosx,在x=0~2π区间取101点,绘制函数曲线。21x
2,已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制三条曲线;
(2)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。
3,已知
x,x02e y1In(x1x2),x02在-5<=x<=5区间绘制函数曲线。
4,绘制函数的曲面图和等高线
zcosxcosyex2y24
其中x的21个值均匀分布在[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和登高图画在同一个窗口上。
5.画出函数
zx2y2sin(xy)的曲面及等高线图。
x2y21绘制平面曲线,并分析参数a对其形状的影响。6.根据2a25a2
四、心得体会:
通过这次实验我能熟练掌握二维和三维图以及其他特殊图形的制作,弄清楚了基本的图形操作规则,大大加深了我对matlab的兴趣。
实验二 MATLAB程序设计
一、实验目的
1.掌握利用if语句实现选择结构的方法。
2.掌握利用switch语句实现多分支选择结构的方法。3.掌握利用for语句实现循环结构的方法。4.掌握利用while语句实现循环结构的方法。
二、实验设备及条件
计算机一台(带有MATLAB6.5以上的软件环境)。
三、实验内容
1.编写求解方程ax2bxc0的根的函数(这个方程不一定为一元二次方程,因a、b、c的不同取值而定),这里应根据a、b、c的不同取值分别处理,有输入参数提示,当a0,b0,c~0时应提示“为恒不等式!”。并输入几组典型值加以检验。
clear,clc a=input('请输入一个数a=');b=input('请输入一个数b=');c=input('请输入一个数c=');m=b^2-4*a*c;if a==0
if b==0
'为恒不等式'
end end
m=b^2-4*a*c;if m>0
x1=(-b+sqrt(m))/(2*a)
x2=(-b-sqrt(m))/(2*a)elseif m==0
x=(-b)/(2*a)else
'不存在正实根' end
2.输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。其中100分为A+,90分~99分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:(1)用switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
clear,clc for k=1:10
a(k)={89+k};b(k)={79+k};
c(k)={69+k};d(k)={59+k};end A=cell(3,6);A(1,:)={'a','b','c','d','e','f'};A(2,:)={85,76,95,100,40,65};for k=1:6
switch A{2,k}
case 100
r='A+';
case a
r='A';
case b
r='B';
case c
r='C';
case d
r='D';
otherwise
r='E';
end
A(3,k)={r};end A A =
'a'
'b'
'c'
[85]
[76]
[95]
'B'
'C'
'A'
'd'
'e'
[100]
[40]
'A+'
'E'
'f' [65] 'D'
3.利用for循环语句编写计算n!的函数程序,取n分别为-89、0、3、5、10验证其正确性(输入n为负数时输出出错信息)。
clear,clc n=input('请输入一个正数n=');if n<0
'输入错误' elseif n==0
'n!=0' elseif n==1
'n!=1' else
y=1;
for i=1:1:n
y=y*i;
i=i+1;
end
y end 请输入一个正数n=-89
ans =输入错误 请输入一个正数n=0
ans =n!=0 请输入一个正数n=1
ans =n!=1 请输入一个正数n=3
y =6 请输入一个正数n=10
y =3628800
四、实验心得体会:
通过本次实验课,我能熟练运用for循环语句,switch条件语句以及if条件语句的新用法,和在C中的区别。尽管如此,但是在实验中依然容易把for循环跟C语言中的for语句弄混,最后经过不懈努力下,终于弄明白了两者之间的差别,使我能更好的运用这些指令语句。
第四篇:传递函数的测量方法
传递函数的测量方法
一.测量原理
设输入激励为X(f),系统(即受试的试件)检测点上的响应信号,即通过系统后在该响应点的输出为Y(f),则该系统的传递函数H(f)可以用下式表示:
H(f)Y(f)X(f)
如果,设输入激励为X(f)为常量k,则该系统的传递函数H(f)可以用下式表示:
H(f)kY(f)
也就是说,我们在检测点上测到的响应信号,就是该系统的传递函数。二.测量方法
1.将控制加速度传感器固定在振动台的工作台面上。注意:如果试件是通过夹具安装在振动台 的工作台面上,则控制加速度传感器应该安装在夹具与试件的连接点附近。如果试件与夹具的连接是通过多个连接点固定,则应该选择主要连接点,或者采取多点控制的方法。2.将测量加速度传感器固定在选择的测量点(即响应点)上。
3.试验采用正弦扫频方式,试验加速度选择1g,扫频速率为0.5 Oct/min(或者更慢一些),试
验频率范围可以选择自己需要的频率范围。在试验中屏幕上显示的该激励曲线(也就是控制曲线)应该是一条平直的曲线。这就保证对被测量试件来说是受到一个常量激励。
注意:在测量传递函数时,最好是采用线性扫频。因为,线性扫频是等速度扫频,这对于高频段共振点的搜索比较好,能大大减少共振点的遗漏。而对于对数扫频来说,在低频段,扫频速度比较慢;在高频段。扫频速度就比较快,这就有可能遗漏共振点。不少人之所以喜欢在测量传递函数时采用对数扫频,是因为对于同样频率段的扫频来说,线性扫频要比对数扫频使用的时间要多。
4.通过控制仪,选择不同的颜色在屏幕上显示响应曲线。该响应曲线就是系统的频响曲线,在这里也是该系统的传递函数曲线。注意:该控制仪可以在屏幕上同时显示好几条曲线。三.其他方法 1.测量原理
在闭环反馈控制时,为了保证控制点上被控制的物理量不变,当被控制的试件由于本身的频率特性而将输入的激励信号放大时,从控制点上检测到的响应信号也将随着变大,也就是反馈信号变大。由于,通常都是采取负反馈控制,那么,反馈信号与输入信号综合后再输入到系统中,就会使控制点上的响应信号变小,而返回到原来的量级。
反过来,如果被控制的试件由于本身的频率特性而将输入的激励信号缩小时,从控制点上检测到的响应信号也将随着变小,也就是反馈信号变小,那么,反馈信号与输入信号综合后再输入到系统中,就会使控制点上的响应信号变大,以保持原来的量级不变。
如果我们保持控制点的振动量级不变,则驱动到功率放大器的信号,即控制仪的输出信号必将随着被测试件的频率特性的变化而变化,这样。我们就间接得到了被测件的传递函数。如下图所示,驱动信号曲线与传递函数曲线对于控制信号曲线成为镜像对称。
需要注意的是,此时我们得到的传递函数实际上是振动台与被测试件的复合传递函数。由于振动台的传递函数是已知的,所以,复合传递函数上的峰谷点,除去振动台的峰谷点外,就是被测试件的了。而且,振动台本身传递函数曲线是比较光滑的;所以,复合传递函数的变化,基本上反映了被测试件传递函数的变化。2.测量方法
(1)将控制加速度传感器固定在振动台的工作台面上。如果试件是通过夹具安装在振动台的工作台面上,则控制加速度传感器应该安装在夹具与试件的连接点附近。如果试件与夹具的连接是通过多个连接点固定,则应该选择主要连接点,或者采取多点控制的方法。注意:此时得到的复合传递函数中应该包括夹具的频率特性。
(2)试验采用正弦扫频方式,试验加速度选择1g,扫频速率为0.5 Oct/min(或者更慢一些);如果采用线性扫频,则扫频速度可采用1 Hz/s;试验频率范围可以选择自己需要的频率范围。此时,在试验中屏幕上显示的控制曲线应该是一条平直的曲线。这就保证对被测量试件来说处在一个常量控制状态中。
(3)通过控制仪,选择不同的颜色在屏幕上显示驱动曲线。该驱动曲线翻转180°,就是系统的频响曲线,也就是该系统的复合传递函数曲线。
(4)从上面的分析可以看到,用这种方法得到的传递函数是振动台和被测试件的复合传递函数。如果有夹具的话,还要包括夹具的传递函数,所以,这种方法只是大概地了解被测试件的频率响应情况。
由于,这种方法比较简单,所以,许多试验人员还是经常采用这种方法来估测被测试件的传递函数。当然,被测试件的主要峰谷点还是能够测出来的。
第五篇:反馈系统的传递函数
一个反馈控制系统在工作过程中,一般会受到两类信号的作用,统称外作用。一类是有用信号或称输入信号、给定值、指令等,用r(t)表示。通常r(t)是加在控制系统的输入端,也就是系统的输入端;另一类则是扰动,或称干扰n(t),而干扰n(t),可以出现在系统的任何位置,但通常,最主要的干扰信号是作用在被控对象上的扰动,例如电动机的负载扰动等。
一、系统的开环传递函数
系统反馈量与误差信号的比值,称为闭环系统的开环传递函数,G(s)B(s)G(s)G(s)H(s)G(s)H(s)G(s)G1(s)G2(s)
K12E(s)
二、系统的闭环传递函数
1、输入信号R(s)作用下的闭环传递函数
令D(s)0,这时图1可简化成图2(a)。输出C(s)对输入R(s)之间的传递函数,称输入作用下的闭环传递函数,简称闭环传递函数,用(s)表示。
(s)G1(s)G2(s)C(s)G(s)R(s)1G1(s)G2(s)H(s)1G(s)H(s)而输出的拉氏变换式为
G1(s)G2(s)C(s)R(s)1G1(s)G2(s)H(s)
2、干扰D(s)作用下的闭环传递函数
同样,令R(s)0,结构图1可简化为图3(a)。
C(s)为在扰动作用下的输出,以D(s)作为输入,它们之间的传递函数,用n(s)表示,称为扰动作用下的闭环传递函数,简称干扰传递函数。
n(s)G2(s)G2(s)C(s)N(s)1G1(s)G2(s)H(s)1G(s)H(s)
系统在扰动作用下所引起的输出为
三、系统的误差传递函数
C(s)G2(s)N(s)1G1(s)G2(s)H(s)系统的误差信号为E(s),误差传递函数也分为给定信号作用下的误差传递函数和扰动信号作用下的传递函数。前者表征系统输出跟随输入信号的能力,后者反映系统抗扰动的能力。
1、输入信号R(s)作用下的误差传递函数
为了分析系统信号的变化规律,寻求偏差信号与输入之间的关系,将结构图简化为如图2(b)。列写出输入R(s)与输出(s)之间的传递函数,称为控制作用下偏差传递函数。用(s)(s)表示。
R(s)
2、干扰D(s)作用下的误差传递函数
同理,干扰作用下的偏差传递函数,称干扰偏差传递函数。用n(s)表示。以N(s)作为输入,(s)作为输出的结构图,如图(b)。
n(s)(s)N(s)G2(s)H(s)1G1(s)G2(s)H(s)显然,系统在同时受R(s)和D(s)作用下,系统总输出,根据线性系统的叠加原理,应为各外作用分别引起的输出的总和,将给定作用和扰动作用相加,即为总输出的变换式
C(s)G1(s)G2(s)G2(s)R(s)N(s)1G1(s)G2(s)H(s)1G1(s)G2(s)H(s)
式中,如果系统中的参数设置,能满足G1(s)G2(s)H(s)1及G1(s)H(s)1,则系统总输出表达式可近似为
C(s)1R(s)H(s)上式表明,采用反馈控制的系统,适当地选配元、部件的结构参数,系统就具有很强的抑制干扰的能力。同时,系统的输出只取决于反馈通路传递函数及输入信号,而与前向通路传递函数几乎无关。特别是当H(s)1时,即系统为单位反馈时,C(s)R(s),表明系统几乎实现了对输入信号的完全复现,即获得较高的工作精度。
同理,得系统总的偏差为
(s)e(s)R(s)nN(s)
将上式推导的四种传递函数表达式进行比较,可以看出两个特点
(1)它们的分母完全相同,均为[1G1(s)G2(s)H(s)],其中G1(s)G2(s)H(s)称为开环传递函数。所谓开环传递函数,是指在图2-48所示典型的结构图中,将H(s)的输出断开,亦即断开系统主反馈回路,这时从输入R(s)(或(s))到B(s)之间的传递函数。
(2)它们的分子各不相同,且与其前向通路的传递函数有关。因此,闭环传递函数的分子随着外作用的作用点和输出量的引出点不同而不同。显然,同一个外作用加在系统不同的位置上,对系统运动的影响是不同的。
C(s)C(s)例题:,R(s)D(s)
求图4所示系统的。
解:
1、输入信号R(s)作用下,系统结构图简化为图5.G1(s)G2(s)
C(s)R(s)1-G2(s)H2(s)G1(s)G2(s)G1(s)G2(s)1-G2(s)H2(s)G1(s)G2(s)H3(s)1H3(s)1-G2(s)H2(s)
2、扰动信号D(s)作用下,系统结构图简化为图6.G2(s)[1G1(s)H1(s)]G2(s)[1G1(s)H1(s)]C(s)1-G2(s)H2(s)G2(s)D(s)1-G2(s)H2(s)G1(s)G2(s)H3(s)1G1(s)H3(s)1-G2(s)H2(s)
R(s)E(s)B(s)G1(s)+D(s)H(s)G2(s)
图1 闭环控制系统的典型结构图
图2 给定作用时的系统结构图
图3 扰动作用时的系统结构图
H1(s)R(s)D(s)H2(s)+G1(s)+G2(s)C(s)H3(s)图4 闭环控制系统的典型结构图
H2(s)R(s)+G1(s)G2(s)C(s)H3(s)图5 给定作用时的系统结构图
图6 扰动作用时的系统结构图
H1(s)D(s)H2(s)+G1(s)+G2(s)C(s)H3(s)