实验二 控制系统的数学模型、转换及连续系统的数字仿真

合集下载

MATLAB实验(控制系统的模型及其转换)

MATLAB实验(控制系统的模型及其转换)

《MATLAB 语言及其应用》实验报告学院:电气与信息工程学院班级:自动化1004姓名:甘显豪学号:10401701305指导老师:张满生《MATLAB 语言及其应用》实验指导书目录实验一Matlab 使用方法和程序设计........................实验二控制系统的模型及其转换.............................实验三控制系统的时域、频域和根轨迹分析...........实验四动态仿真集成环境-Simulink...........................实验五直流电机拖动系统控制器设计………………实验一Matlab使用方法和程序设计一、实验目的1、掌握Matlab软件使用的基本方法;2、熟悉Matlab的数据表示、基本运算和程序控制语句3、熟悉Matlab绘图命令及基本绘图控制4、熟悉Matlab程序设计的基本方法二、实验内容:1、帮助命令使用help命令,查找 sqrt(开方)函数的使用方法;2、矩阵运算(1)矩阵的乘法已知A=[1 2;3 4]; B=[5 5;7 8];求A^2*B(2)矩阵除法已知 A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B,运行结果如下:(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i]; 求A.', A'(4)使用冒号表达式选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求A中第3列前2个元素;A中所有列第2,3行的元素;方括号[]用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列3、多项式(1)求多项式4xxp的根=x-2)(3-(2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征多项式把矩阵A作为未知数代入到多项式中;4、基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]5、基本绘图控制绘制[0,4π]区间上的x1=10sint曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)坐标轴控制:显示范围、刻度线、比例、网络线(3)标注控制:坐标轴名称、标题、相应文本;6、基本程序设计(1)编写命令文件:计算1+2+…+n<2000 时的最大n值;(2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。

控制系统数字仿真技术实验

控制系统数字仿真技术实验

实验一控制系统的模型转换、数据处理与曲线拟合(2学时)一.实验目的:掌握控制系统的微分方程、状态方程、传递函数、零极点增益、部分分式描述及转换;掌握常用数据拟合与插值方法。

二.实验方法及预习内容:1.利用Matlab工具箱中常用的五种模型转换命令进行模型描述和转换;2.利用Matlab工具箱中的多项式拟合命令polyfit对实验数据进行拟合。

三.实验内容:1.用Matlab语言求下列系统的状态方程、传递函数、零极点增益、和部分分式形式的模型参数,并分别写出其相应的数学模型表达式:(1)G(s)=32432144848207010048s s ss s s s+++++++(2).X=2.25 -5 -1.25 -0.542.25 -4.25 -1.25 -0.2520.25 -0.5 -1.25 -121.25 -1.75 -0.25 -0.75 0X⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦u y=[0 2 0 2] X2.已知元件的实验数据如下,拟合这一数据,并尝试给出其特性方程。

X 0.0100 1.0100 2.0100 3.0100 4.0100Y 2.5437 7.8884 9.6242 11.6071 11.9727X 5.0100 6.0100 7.0100 8.0100 9.0100y 13.2189 14.2679 14.6134 15.4045 15.0805四.实验总体要求:1.每次实验前应做好预习和准备;2.实验后应及时提交仿真程序Word文档(包括:程序、实验结果和图示、实验分析与总结);3.重点检查Matlab中M文件的运行;4.请认真撰写实验报告,实验结果可贴在报告相应位置。

注:格式不符合要求、或字迹潦草的一律退回重写。

五.本次实验要求:1.熟悉五种连续系统控制模型的Matlab转换命令,并得出相应数学模型表达式;2.熟悉常用数据拟合方法。

(1)G(s)=32432144848207010048s s ss s s s+++++++程序den=[1,20,70,100,48];num=[1,14,48,48];[A,B,C,D]=tf2ss(num,den)[z,p,k]=ss2zp(A,B,C,D)[R,P,H]=residue(num,den)结果>>A =-20 -70 -100 -481 0 0 00 1 0 00 0 1 0B =1C =1 14 48 48D =z =-9.4641-2.5359-2.0000p =-16.0051-1.5269 + 0.9247i -1.5269 - 0.9247i -0.9412k =1.0000R =0.3892-0.0932 - 0.3754i -0.0932 + 0.3754i0.7973P =-16.0051-1.5269 + 0.9247i -1.5269 - 0.9247i -0.9412H =[](2).X=2.25 -5 -1.25 -0.542.25 -4.25 -1.25 -0.2520.25 -0.5 -1.25 -121.25 -1.75 -0.25 -0.75 0X⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦u y=[0 2 0 2] X程序A=[2.25,-5,-1.25,-0.5;2.25,-4.25,-1.25,-0.25;0.25,-0.5,-1.25,-1;1.25,-1.75,-0.25,-0.75];B=[4;2;2;0];C=[0,2,0,2];D=[0];[num,den]=ss2tf(A,B,C,D)[z,p,k]=ss2zp(A,B,C,D)[R,P,H]=residue(num,den)>> 结果>>num =0 4.0000 14.0000 22.0000 15.0000 den =1.0000 4.0000 6.2500 5.25002.2500z =-1.0000 + 1.2247i-1.0000 - 1.2247i-1.5000p =-0.5000 + 0.8660i-0.5000 - 0.8660i-1.5000-1.5000k =4.0000R =4.0000-0.00000.0000 - 2.3094i0.0000 + 2.3094iP =-1.5000-1.5000-0.5000 + 0.8660i-0.5000 - 0.8660iH =[]>>实验二基于Matlab的微分方程数值解法(2学时)一.实验目的:掌握欧拉法、四阶龙格库塔法的程序编制方法。

计算机仿真技术第2章控制系统的数学模型及其转换

计算机仿真技术第2章控制系统的数学模型及其转换
11

2.1.3 部分分式形式 传递函数也可表示成部分分式或留数形式,即 (2-8) 式中 pi(i=1,2,…,n)为该系统的n个极点,与零极点形 式的n个极点是一致的,ri (i=1,2,…,n) 是对应各极点 的留数; h(s) 则表示传递函数分子多项式除以分母多 项式的余式,若分子多项式阶次与分母多项式相等, h(s) 为标量;若分子多项式阶次小于分母多项式,该 项不存在。 在MATLAB下它也可由系统的极点、留数和余式系数 所构成的向量唯一确定出来,即 P=[p1;p2;…;pn];R=[r1;r2;…;rn];H=[h0 h1 … hm-n]

15


例2-6 对于例2-5中给出的多变量系统,可以由 下面的命令分别对各个输入信号求取传递函数 向量,然后求出这个传递函数阵。 解 利用下列MATLAB语句 >>[num1,den1]=ss2tf(A,B,C,D,1) num1= 0 1.0000 5.0000 6.0000 0 -1.0000 -5.0000 -6.0000 den1= 1 6 11 6
7
例2-3 对于单输入多输出系统 3s 2 s 3 2 s 5 G (s) 3s 3 5 s 2 2 s 1

解 则可将其用下列MATLAB语句表示 >>num=[0 0 3 2;1 0 2 5];den=[3 5 2 1];

8
2.1.2 零极点增益形式 单输入单输出系统的零极点模型可表示为 m
20
2.2.4 传递函数形式到零极点形式的转换 MATLAB函数tf2zp( )的调用格式为 [Z,P,K]=tf2zp(num,den) 2.2.5 零极点形式到状态空间表达式的转换 MATLAB函数zp2ss( )的调用格式为 [A,B,C,D]=zp2ss(Z,P,K) 2.2.6 零极点形式到传递函数形式的转换 MATLAB函数zp2tf( )的调用格式为 [num,den]=zp2tf(Z,P,K)

计算机与CAD仿真第2章 控制系统的数学模型及其转换

计算机与CAD仿真第2章 控制系统的数学模型及其转换
第2章 控制系统的数学模型及其转换 本章内容
(1) 利用 利用MATLAB描述在控制系统中常见的几种数学模型; 描述在控制系统中常见的几种数学模型; 描述在控制系统中常见的几种数学模型 (2) 利用 利用MATLAB实现任意数学模型之间的相互转换; 实现任意数学模型之间的相互转换; 实现任意数学模型之间的相互转换 (3) 利用 利用MATLAB求解系统经过串联,并联和反馈连接后的系统 求解系统经过串联, 求解系统经过串联 模型; 模型; (4) 利用 利用MATLAB获取一些典型系统的模型; 获取一些典型系统的模型; 获取一些典型系统的模型 (5) 利用 利用MATLAB实现连续系统的离散化和离散系统的连续化; 实现连续系统的离散化和离散系统的连续化; 实现连续系统的离散化和离散系统的连续化 (6) 利用 利用MATLAB求取系统的特性函数. 求取系统的特性函数. 求取系统的特性函数
15】 【例2-15】 求下列两系统并联后的系统模型
2.3 系统模型的连接
在一般情况下,控制系统常常由若干个环节通 过串联,并联和反馈连接的方式而组成,对在各种 连接模式下的系统能够进行分析就需要对系统的模 型进行适当的处理, 在MATLAB的控制系统工具箱中 提供了大量的对控制系统的简单模型进行连接的函 数.
sys = append(sys1,sys2,...,sysN) sys = series(sys1,sys2,outputs1,inputs2) sys = feedback(sys1,sys2) sys = lft(sys1,sys2,nu,ny) sysc = connect(sys,Q,inputs,outputs) 子系统合成对角形式 串联连接 反馈连接 模型连接 框图建模 sys = parallel(sys1,sys2,inp1,inp2,out1,out2) 并联连接

《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换

《控制系统数字仿真与cad》第2章控制系统的数学模型及其转换
j 1 n i 1
(s z j )
m
式中 zj(j=1,2,…,m) 和pi(i=1,2,…,n) 称为 系统的零点和极点,它们既可以为实数又可 以为复数,而K称为系统的增益。 在MATLAB下零极点模型可以由增益 K和零、 极点所构成的列向量唯一确定出来。即 Z=[z1;z2;…;zm]; P=[p1;p2;…;pn];K=K

例2-3 对于单输入多输出系统 3s 2 s 3 2s 5 G ( s) 3 3s 5s 2 2s 1

解 则可将其用下列MATLAB语句表示 >>num=[0 0 3 2;1 0 2 5];den=[3 5 2 1]; Printsys(num,den) 执行结果为:

对于单输入多输出系统,列向量P中 储存为系统的极点;零点储存在矩阵Z的 列中, Z的列数等于输出向量的维数,每 列对应一个输出,对应增益则在列向量K 中。 因此,系统的零极点模型在MATLAB命 令中可用一个增益向量、零点向量和极 点向量来唯一确定。

【例2-4】已知单入双出系统的零极点模型
执行结果为 num/den= 6s ^3 12s ^ 2 6s 10
s ^ 4 2s ^3 3s ^ 2 s 1
其中MATLAB的printsys( )函数可按特殊格式打印出 状态空间和传递函数表示的系统。 printsys(num,den,‘s’) %显示∕打印连续系统的传 递函数,默认方式; printsys(num,den,‘z’) %显示∕打印离散系统的脉 冲传递函数;
2.1 线性系统数学模型的基本描述方法
根据系统数学描述方法的不同,系统可建立不 同的数学模型。 2.1.1 传递函数 单入单出系统可用高阶微分方程来表示,其一 般形式为:

实验二 面向系统结构图的连续系统数字仿真实验 matlab程序

实验二    面向系统结构图的连续系统数字仿真实验 matlab程序

4.离散相似法编程
时域离散编程求解 程序:
clear num=[8 10]; den=[0.1 1 0 0]; [A,B,C,D]=tf2ss(num,den) sysc=ss(A,B,C,D); T=0.05; sysd=c2d(sysc,T); Ad=sysd.a; Bd=sysd.b;
0 0.5 1
程序:
clear all A = [-1000.25 999.75 0.5;999.75 -1000.25 0.5;0 0 0]; t = 0; x = [1 -1 1]; h = 0.05; M = round(10/h); for k = 1:M tt = t(k) + h; x1 = -exp(-0.5*tt)+exp(-2000*tt)+1; x2 = -exp(-0.5*tt)-exp(-2000*tt)+1; x3 = 0; temp = [x1 x2 x3]; x = [x; temp]; t = [t; tt]; end T = 0.003125; m = 4; t_frog = 0; x_frog = [1 -1 1]; start_time_frog = clock; F = expm(A*T); for k = 0:m tt = 2^(k) * T; temp = F*x_frog(1,:)'; temp = temp'; x_frog = [x_frog; temp]; t_frog = [t_frog; tt]; if k<m F=F*F; end end qT = 2^(m)*T; for k = 1:M-1 tt = t_frog(m+k+1) + qT; temp = F*x_frog(m+k+1,:)'; temp = temp'; x_frog = [x_frog; temp]; t_frog = [t_frog; tt]; end pass_time_frog = etime(clock,start_time_frog); hh = 0.001; end pass_time_rk4=etime(clock,start_time_rk4); t_display = t(2:31,:); x1_display = x(2:31,1); x1_frog_display = x_frog(6:35,1); x1_rk4_display = x_rk4(51:50:1501,1); disp(' 时间 解析解 蛙跳法 RK4法 ') t_rk4 = 0; x_rk4 = [1 -1 1]; start_time_rk4=clock; for k = 1:50*M tt = k*hh; K1 = A*x_rk4(k,:)'; K2 = A*(x_rk4(k,:)'+hh*K1/2); K3 = A*(x_rk4(k,:)'+hh*K2/2); K4 = A*(x_rk4(k,:)'+hh*K3); temp = x_rk4(k,:)'+hh*(K1/2+2*K2+2*K3+K4)/6; temp = temp'; x_rk4 = [x_rk4; temp]; t_rk4 = [t_rk4; tt];

控制系统仿真连续系统数学模型表示方法及实现

控制系统仿真连续系统数学模型表示方法及实现

Z变换
a
0
a1 z 1 a n z n Y z b1 z 1 bn z n U z
H z Y ( z) U ( z)
j b z j j a z j j 0 j 1 n n



系统的Z传递函数
10
2015/5/22
2015/5/22 控制系统仿真
a0 y n k a1 y n k 1 an y k
Байду номын сангаас
9
离散时间模型
(2)Z传递函数
若系统的初始条件为零,对差分方程两边取Z变换。
b1u n k 1 bn u k
a 0 y n k a1 y n k 1 a n y k
1)输入输出模型与状态空间模型的转换(本节内容) 2)模型的离散化(第三章)
2015/5/22
控制系统仿真
18
数学模型之间的转换
(1)状态空间模型与传递函数模型之间的转换 状态空间模型传递函数模型
t AX t BU t X Y t CX t DU t
yk a1 yk 1 an yk n b1uk 1 bnuk n
Z k 1 A* Z k B *u k
0 * A 0 a n
2015/5/22
yk H *Z k
I n 1
a n 1

a1
i 0
k
权序列 h(k)
Z变换
Z传递函数 H(z)
2015/5/22
控制系统仿真
12
离散时间模型

控制系统仿真课件:控制系统模型及转换

控制系统仿真课件:控制系统模型及转换

x1 0
x2
0
xn
an
1 0 an1
0 1 an2
0 x1 0
0
x2
0
u
a1
xn
1
x1
y 1
0
0
x2
xn
控制系统模型及转换
0
A
0
an
1 0 an1
0 1 an2
0
0
a1
为状态变量系数矩阵。 为输入变量系数矩阵。
a1
d n1 y dt n 1
an1
dy dt
an
y
u
(3-5)
式中:u为系统的输入量;y为输出量。
控制系统模型及转换
现引入n个状态变量,即x1,x2,…,xn,各个状态变量的一 阶导数与状态变量和式(3-5)原始方程中的各导数项的对应
关系
x1
x
x2
x
n
为系统状态变量矩阵。
控制系统模型及转换
x1
x
x
2
x
n
为状态变量的一阶导数矩阵。
控制系统模型及转换
x1 y
x1
x2
x2
x3
x n 1
xn
dy dt d2y dt 2
d n1 y dt n1
xn
xn1
dny dt n
an y an1
dy dt
an2
d2y dt 2
a1
d n1 y dt n1
u
控制系统模型及转换 将上述n个一阶微分方程组成矩阵形式,可以表示为
控制系统模型及转换
3.1.3 系统的状态空间模型 微分方程和传递函数均是描述系统性能的数学模型,它

控制系统仿真实验

控制系统仿真实验

第二部分控制系统仿真实验实验一MATLAB软件操作练习一、实验目的1.熟悉MATLAB软件的基本操作;2. 学会用MATLAB做基本数学计算3. 学会矩阵的创建。

4.熟悉利用MATLAB计算矩阵。

二、实验内容1. 帮助命令使用help命令,查找sqrt(开方)函数的使用方法;2.在命令窗口输入矩阵A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3]3. 矩阵运算(1)矩阵的乘法已知A=[1 2;3 4]; B=[5 5;7 8];求A^2*B(2)矩阵除法已知A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3];A\B,A/B(3)矩阵的转置及共轭转置已知A=[5+i,2-i,1;6*i,4,9-i];求A.', A'(4)使用冒号选出指定元素已知:A=[3 2 3;2 4 6;6 8 10];求A中第3列前2个元素;A中所有列第2,3行的元素;三、实验步骤1. 熟悉MATLAB的工作环境,包括各菜单项、工具栏以及指令窗口、工作空间窗口、启动平台窗口、命令历史窗口、图形文件窗口和M文件窗口。

2.在指令窗口中完成实验内容中规定操作并记录相关实验结果,并撰写实验报告。

实验二 M 文件编程及图形处理一、实验目的1.学会编写MATLAB 的M 文件;2.熟悉MATLAB 程序设计的基本方法;3. 学会利用MATLAB 绘制二维图形。

三、实验内容1.基本绘图命令(1)绘制余弦曲线y=cos(t),t ∈[0,2π](2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5), t ∈[0,2π]2.基本绘图控制绘制[0,4π]区间上的x1=10sint 曲线,并要求:(1)线形为点划线、颜色为红色、数据点标记为加号;(2)给横坐标标注’t ’,纵坐标标注‘y(t)‘,3.M 文件程序设计(1)编写程序,计算1+3+5+7+…+(2n+1)的值(用input 语句输入n 值);(2)编写分段函数⎪⎩⎪⎨⎧≤≤-<≤=其它021210)(x x x x x f的函数文件,存放于文件ff.m 中,计算出)2(f ,)3(-f 的值二、实验要求1. 预习实验内容,按实验要求编写好实验程序;2. 上机调试程序,记录相关实验数据和曲线,并撰写实验报告。

控制系统仿真实验报告

控制系统仿真实验报告

控制系统仿真实验报告班级:测控1402班姓名:王玮学号:072018年01月实验一经典的连续系统仿真建模方法一实验目的:1 了解和掌握利用仿真技术对控制系统进行分析的原理和步骤。

2 掌握机理分析建模方法。

3 深入理解阶常微分方程组数值积分解法的原理和程序结构,学习用Matlab编写数值积分法仿真程序。

4 掌握和理解四阶Runge-Kutta法,加深理解仿真步长与算法稳定性的关系。

二实验内容:1. 编写四阶 Runge_Kutta 公式的计算程序,对非线性模型(3)式进行仿真。

(1)将阀位u 增大10%和减小10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定(3)利用 MATLAB 中的ode45()函数进行求解,比较与(1)中的仿真结果有何区别。

2. 编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真(1)将阀位增大10%和减小10%,观察响应曲线的形状;(2)研究仿真步长对稳定性的影响,仿真步长取多大时RK4 算法变得不稳定(4)阀位增大10%和减小10%,利用MATLAB 中的ode45()函数进行求解阶跃响应,比较与(1)中的仿真结果有何区别。

三程序代码:龙格库塔:%RK4文件clccloseH=[,]';u=; h=1;TT=[];XX=[];for i=1:h:200k1=f(H,u);k2=f(H+h*k1/2,u);k3=f(H+h*k2/2,u);k4=f(H+h*k3,u);H=H+h*(k1+2*k2+2*k3+k4)/6;TT=[TT i];XX=[XX H];end;hold onplot(TT,XX(1,:),'--',TT,XX(2,:)); xlabel('time')ylabel('H')gtext('H1')gtext('H2')hold on水箱模型:function dH=f(H,u)k=;u=;Qd=;A=2;a1=;a2=;dH=zeros(2,1);dH(1)=1/A*(k*u+Qd-a1*sqrt(H(1)));dH(2)=1/A*(a1*sqrt(H(1))-a2*sqrt(H(2)));2编写四阶 Runge_Kutta 公式的计算程序,对线性状态方程(18)式进行仿真:1 阀值u对仿真结果的影响U=;h=1; U=;h=1;U=;h=1;2 步长h对仿真结果的影响:U=;h=5; U=;h=20;U=;h=39 U=;h=50由以上结果知,仿真步长越大,仿真结果越不稳定。

控制系统仿真实验报告

控制系统仿真实验报告

控制系统仿真实验报告姓名:王天雷班级:231142学号:20131004363学院:自动化专业:自动化指导老师:刘峰2017 年 1 月目录7.2.2 (1)7.2.3 (7)7.2.4 (12)7.2.5 (17)7.2.6 (21)7.3.1 (24)总结 (25)7.2.2 控制系统的阶跃响应实验目的:观察学习控制系统的单位阶跃响应 记录单位阶跃响应曲线掌握时间响应分析的一般方法实验内容: 1. 二阶系统1)键入程序,观察并记录单位阶跃响应曲线 First.m close all; clear all; clc;num=[10];den=[1 2 10]; step(num,den); title(‘阶跃响应曲线’);2)键入damp(den) 计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录结果:Eigenvalue (闭环根) Damping (阻尼比) Freq. (rad/s)(无阻尼振荡频率)()102102++=s s sG-1.00e+000 + 3.00e+000i 3.16e-001 3.16e+000 -1.00e+000 - 3.00e+000i 3.16e-001 3.16e+0003)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:由理论知识知编写代码x.m%返回峰值时间,超调量,调节时间5%,2% function [tr b ts1 ts2]=x(a,wn) wd=wn*(1-a^2)^0.5;%求解wd tp=3.14/wd;%峰值时间b=exp((-3.14*a/(1-a^2)^0.5));%超调量 ts1=3.5/(wn*a),ts2=4.5/(wn*a);%调节时间 计算得到理论值,填入表中3//πωπ==d p t 4.52%(00.9)3.55%n s n t ζωζζω⎧∆=⎪⎪=<<⎨⎪∆=⎪⎩2 1)修改参数,分别实现和的响应曲线,并记录 程序:second.m clear all; close all; clc;n0=10;d0=[1 2 10];step(n0,d0);%原系统,kesai=0.36 hold on;%保持原曲线n1=n0;d1=[1 6.32 10];step(n1,d1);%kesai=1; n2=n0;d2=[1 12.64 10];step(n2,d2);%kesai=2;如图,kesai 分别为0.36,1,2,曲线幅度递减2)修改参数,分别写出程序实现和的响应曲线,并记录程序:third.m clear all; close all; clc;n0=10;d0=[1 2 10];step(n0,d0);%原系统,wn0=10^0.5 hold on;%保持原曲线n1=0.25*n0;d1=[1 1 n1];step(n1,d1);%wn1=0.5*wn0; n2=4*n0;d2=[1 4 n2];step(n2,d2);%wn2=4*wn0=2;1=ζ2=ζ0121w w n =022w w n =如图,wn=2*wn0,wn0,0.5*wn0,上升时间逐渐增长,超调量不变3. 作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果(1),有系统零点的情况(2),分子、分母多项式阶数相等(3),分子多项式零次项为零(4),原响应的微分,微分系数为1/10程序:%各系统阶跃响应曲线比较G0=tf([10],[1 2 10]);G1=tf([2 10],[1 2 10]);G2=tf([1 0.5 10],[1 2 10]); G3=tf([1 0.5 0],[1 2 10]);G4=tf([1 0 ],[1 2 10]); step(G0,G1,G2,G3,G4); grid on;title(' Step Response 曲线比较');()10210221+++=s s s s G ()102105.0222++++=s s s s s G ()1025.0222+++=s s s s s G ()10222++=s s s s G4.试做一个三阶系统和四阶系统的阶跃响应,并分析实验结果 假设一个三阶和一个四阶系统,如下sys1=tf([1],[1 1 1 1]);sys2=tf([1],[1 1 1 1 1]);step(sys1,sys2);如图,分别为sys1,sys2系统阶跃响应曲线分析1:系统阻尼比和无阻尼振荡频率对系统阶跃相应的影响11123+++=s s s sys 112234++++=s s s ssys解:在欠阻尼响应曲线中,阻尼比越小,超调量越大,上升时间越短,通常取kesai在0.4到0.8之间,此时超调量适度,调节时间较短;若二阶系统的阻尼比不变,振荡频率不同,其阶跃响应的振荡特性相同但响应速度不同,wn越大,响应速度越快。

自动控制原理实验 控制系统模型的建立与转换

自动控制原理实验 控制系统模型的建立与转换

实验一 控制系统模型的建立与转换一、实验目的与要求1、掌握Matlab 中连续系统、离散系统各种数学模型的建立方法;2、掌握Matlab 中各种数学模型之间的转换;3、熟悉Matlab 中控制框图的化简;二、实验类型设计三、实验原理及说明1.控制系统的数学模型及其意义用来描述系统因果关系的数学表达式称为系统的数学模型。

控制系统数学模型有多种形式。

时域中常用的有微分方程、差分方程;频域中常用的有传递函数、方框图和频率特性。

2.建立控制系统数学模型的不同方法 (1)线性系统的传递函数模型:11211121...()()()...m m n m n n n n b s b s b s b C s G s R s a s a s a s a -+-+++++==++++传递函数建立的MA TLAB 相关函数(2)控制系统零极点函数模型:1212()()...()()()()...()m n s z s z s z G s Ks p sp s p ---=---零极点模型建立的MATLAB 相关函数3.控制系统的不同模型表示及其转换在线性系统理论中,一般常用的数学模型形式有传递函数模型和零极点增益模型。

这些模型之间都有着内在的联系,可以相互进行转换。

(1)把其它类型的模型转换为函数表示的模型(2)将本类型模型参数转换为其它类型模型参数4. 方框图模型的连接化简 (1)串联连接的化简(2)并联连接的化简(3)反馈连接的化简(a )正反馈连接(b )负反馈连接(4)方框图的其它变换化简(a )相加点后移等效变换(b )相加点前移等效变换(c )分支点后移等效变换(d )分支点前移等效变换(5)系统模型连接化简函数 四、实验仪器五、实验内容和步骤( k=N%3+1,N 为学号末位数)1、连续线性系统的数学模型建立及转换611623)(G 232+++++=s s s s s s① 请用合适的格式,将上面的传递函数模型输入MA TLAB 环境; ② 将模型转换成零极点形式、画出零极点位置;③ 采样周期为Ts=0.5ks 时,将上面的连续系统转换为离散系统; ④ 若上面模型中,时间延迟常数为0.78k ,如何建立该传函模型? 2、离散线性系统的数学模型建立及转换① 请用合适的格式,将下面的传递函数模型输入MA TLAB 环境;()s T z z z z z H k 1.0 ,)99.02.0)(k (568.022=+--+=② 将模型转换成零极点形式、画出零极点位置;3、已知系统的方框图如图所示,试推导出从输入信号r(t) 到输出信号y(t) 的总系统模型。

2第二章 控制系统的数学模型

2第二章 控制系统的数学模型

(t ) b0u (t ) (1) (t ) b1u
式中, u(t ) 是输入量, y(t ) 是输出量, 且有 n m
建立系统微分方程形式数学模型的一般步骤:


根据物理规律,列写出系统的微分方程,这 是机理建模的最基本方法。 1、根据物理规律列写原始的微分方程; 2、保留输入量、输出量及其导数项,消去 中间变量,将所有原始微分方程合并为一个 高阶微分方程。系统的阶次就等于微分方程 的阶次。 微分方程的物理意义明显,求其解可得相应 的时域准确解,但求解高阶微分方程非常困 难,不便于系统的分析与设计。
建立系统的数学模型主要有两种方法:


1、机理建模:
根据物理化学规律,列写系统各个变量 之间相互关系的微分方程,进行整理、 变换,得到所需要的数学模型表示方式。 最常见的表示方式有: 高阶常微分方程、状态方程、传递函数 等。

建立系统的数学模型主要有两种方法:


2、试验建模(系统辨识):
采用试验的方法对系统施加一定的试验信号, 测量系统的输入输出,并对这些输入输出数 据进行分析处理,求出一种数学表示方式, 如果能较好地描述这些输入输出数据之间的 关系,则该数学描述就是系统的数学模型。
a2
y 1 0 0 0 x
以上就是状态方程的能控标准形式,传递函数为 严格真有理分式,直接传递矩阵D=0。
P10 例2-2 把如下微分方程描述的系统转 化为状态方程描述的形式。
2 3 y 4 y 5u y y y (0) 1, y (0) 2, (0) 3 y 解: ( 2 13) 令x1 y , x2 y , x3 , 则x1 x2 , x2 x3 , y 0 x1 0 1 x2 0 u 3 2 x3 5 x1 y 1 0 0 x2 x3 x1 (0) y (0) 1 x 2 ( 0) y ( 0 ) 2 x (0) (0) 3

实验二控制系统的数学模型及其转换【优质】

实验二控制系统的数学模型及其转换【优质】

实验二 控制系统的数学模型及其转换【实验2.1】求传递函数)432)(3()62)(1()(3222+++++++=s s s s s s s s s G 的分子和分母多项式,并求传递函数的特征根。

解:运行实验shiyan2_1.m 代码 r =0 0 -3.0000 -1.6506 -0.1747 + 1.5469i-0.1747 - 1.5469i【实验2.2】某一以微分方程描述系统的传递函数,其微分方程描述如下:u u u y y y y 84101111)1()2()1()2()3(++=+++,试用MA TLAB 建立其模型。

解:运行实验shiyan2_2.m 代码 num/den =s^2 + 4 s + 8 ------------------------ s^3 + 11 s^2 + 11 s + 10【实验2.3】已知某系统的传递函数44192)(233+++++=s s s s s s G ,求其部分分式表示形式,并求其状态空间模型。

解:运行shiyan2_3.m 代码,根据r 、p 、k 结果可得部分分式形式为12225.0225.02)(+-+++--+=s i s i i s i s Gr =0.0000 - 0.2500i 0.0000 + 0.2500i-2.0000p =-0.0000 + 2.0000i -0.0000 - 2.0000i-1.0000k = 2A =-1 -4 -4 1 0 0 0 1 0B = 1 0 0C =-2 1 -7D = 2【实验2.4】给定RLC 网络如图2-1所示,其中)(t u i 为输入量,)(t u o 为输出量。

求解这个系统的传递函数模型、零极点增益模型以及状态空间模型(假设H L F C R R 1,1,1,121==Ω=Ω=),并求取系统的阶跃响应。

o (t)-图2-1 RLC 网络解:从数学上求出系统的传递函数。

根据电路基本定理,列出该电路的微分方程:i u u dtdi Li R =++0311 同时还有 ⎪⎭⎫⎝⎛+==+=o o u dt di Ldt d Ci R i u i i i 3223321整理以上方程,并在零初始条件下,取拉普拉斯变换,可得:21211)1(1)()()(RR s R L Cs R s U s U s G i o +⎪⎪⎭⎫ ⎝⎛++==代入具体数值可得221)(2++=s s s G运行shiyan2_4.m 代码。

控制系统的数学模型及其转换

控制系统的数学模型及其转换
2、线性定常离散系统:离散系统指系统的某处或多处的信号 为脉冲序列或数码形式。这类系统用差分方程来描述。
3、非线性系统:系统中有一个元部件的输入输出特性为非线 性的系统。 下面来分析各种数学模型的MATLAB表示形式
3.2 传递函数描述
一、连续系统的传递函数模型
连续系统的传递函数如下:
• 对,线这性时定系常统系 在统MA,T式LA中Bs中的可系以数方均便为地常由数分,子且和a1分不母等系于数零 构成的两个向量唯一地确定出来,这两个向量分别用num 和den表示。 num=[b1,b2,…,bm,bm+1] den=[a1,a2,…,an,an+1] 注意:它们都是按s的降幂进行排列的。
(3)多输入多输出系统(MIMO)传递函数模型
对多输入多输出系统,分子、分母为元胞类型向量。 元胞数组:元胞数组的基本元素是元胞,元胞可以存放任何
类型数据,而且同一个元胞数组的各元胞(cell)中的内 容可以不同。元胞数组的定义符是{ }, 例:A={[0 1],3;‘this is book’,[2 5]}。元胞数组元素内容的访 问用{ },如:A{1,1},结果得到[0 1],或者使用单下标,如 A{2},结果是“this is book”。
控制系统的数学模型及 其转换
2020年4月28日星期二
3.1 系统的类型
按系统性能分:线性系统和非线性系统;连续系统和离散系 统;定常系统和时变系统;确定系统和不确定系统。
1、线性连续系统:用线性微分方程式来描述,如果微分方程 的系数为常数,则为定常系统;如果系数随时间而变化,则 为时变系统。今后我们所讨论的系统主要以线性定常连续系 统为主。
解:命令如下:
s=tf('s');

控制系统的数学模型及其转换2

控制系统的数学模型及其转换2
第2章 控制系统的数学模型及 其转换
本章内容
(1) 利用MATLAB描述在控制系统中常见的几种数学模型; (2) 利用MATLAB实现任意数学模型之间的相互转换; (3) 利用MATLAB求解系统经过串联、并联和反馈连接后 的系统模型; (4) 利用MATLAB获取一些典型系统的模型; (5) 利用MATLAB实现连续系统的离散化和离散系统的 连续化,以及离散模型按另一采样周期的重新离散化; (6) 利用MATLAB求取系统的特性函数。
求连续控制系统的增益
ddcgain( ) 求离散控制系统的增益
tzero( )
求传递零点
15
printsys( ) 显示或打印系统
1. 求系统的阻尼系数和自然频率
MATLAB函数damp( )和ddamp( ) 的调用格式为 [wn,zeta]=damp(A) [wn,zeta,P]=ddamp(A) [wn,zeta,P]=ddamp(A,Ts) 其中,wn为自然频率ωn;zeta为阻尼系数ζ;P为特 征值列向量;Ts为采样时间;A为3种形式。当A为方 阵时,它表示状态空间系统矩阵;当A为行矢量时, 它表示传递函数多项式系数;当A为列向量,它表示 特征根值。
5
例2-21 生成一个2输入2输出的n阶随机稳定连续系统 模型。
>> [A B C D]=rmodel(3,2,2) 结果显示
注释:随机模型,每次结果不同
6
2.5 系统的离散化和连续化
1.连续系统的离散化
(t ) Ax(t ) Bu (t ) x y (t ) Cx(t ) Du (t )
tzero(A,B,C,D)可计算出状态空间系统∑(A,B,C,D)的 传递零点,还可计算状态系统的输入∕输出去耦零点 例如,计算输入去耦零点,可输入 zid=tzero(A,B,[ ],[ ]) 计算输出去耦零点,可输入 zod=tzero(A,[ ],C,[ ]) 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二 控制系统的数学模型、转换及连续系统的数字仿真
1、实验目的与基本要求
(1)利用MA TLAB 描述控制系统的各种数学模型; (2)利用MA TLAB 实现系统数学模型间的相互转换;
(3)利用MA TLAB 实现控制系统的串联、并联和反馈连接。

(4)掌握面向系统微分方程的连续系统的数字仿真方法及程序; (5)掌握面向系统结构图的连续系统的数字仿真方法及程序; (6)连续系统的快速仿真。

2、实验环境
(1) 微机一台
(2) MATLAB6.5或者MATLAB7软件
3、实验内容
1、MA TLAB 描述控制系统的各种数学模型 例1 若给定系统的传递函数为
将其用MATLAB 语句表示。

num=4*conv([1,2],[1,6,6])
den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5])))) printsys(num,den)
num/den =
4 s^3 + 32 s^2 + 72 s + 48
----------------------------------------------------- s^7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s
例2 设系统的状态空间表达式为 将其用MATLAB 语句表示。

>> a=[0 0 1;-3/2 -2 -1/2;-3 0 -4];b=[1 1;-1 -1;-1 -3];c=[1 0 0;0 1 0]; >> a=[0 0 1;-3/2 -2 -1/2;-3 0 -4],b=[1 1;-1 -1;-1 -3],c=[1 0 0;0 1 0],d=zeros(2,2)
)
523()1()
66)(2(4)(2332+++++++=
s s s s s s s s s G ⎪⎪⎪
⎩⎪⎪⎪⎨⎧⎥⎦
⎤⎢⎣⎡=⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡----+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=)(01000
1)()(311111
)(4032/122/3100)(t x t y t u t x t x
a =
0 0 1.0000
-1.5000 -2.0000 -0.5000
-3.0000 0 -4.0000
b =
1 1
-1 -1
-1 -3
c =
1 0 0
0 1 0
d =
0 0
0 0
>>
2、利用MATLAB实现系统数学模型间的转换
将例2状态空间表达式转换为传递函数;[num,den]=ss2tf(a,b,c,d,1)
num =
0 1.0000 5.0000 6.0000
0 -1.0000 -5.0000 -6.0000 den =
1 6 11 6
>> [num,den]=ss2tf(a,b,c,d,2)
num =
0 1.0000 3.0000 2.0000
0 -1.0000 -4.0000 -3.0000
den =
1 6 11 6
3、利用MATLAB实现控制系统的串联、并联和反馈连接
图2-7
已知系统的方框图如图2-7所示,求系统的传递函数。

num1=[1];den1=[2 0.5];num2=[10];den2=[1 1];num3=[0.1];den3=[1];num4=[540];den4=[1];num5=[1];den5=[1];
>> [n1,d1]=series(num2,den2,num1,den1);[n2,d2]=feedback(n1,d1,num3,den3);
>> [n3,d3]=series(num4,den4,n2,d2);[n4,d4]=feedback(n3,d3,num5,den5);
>> printsys(n4,d4)
num/den =
5400
----------------------
2 s^2 + 2.5 s + 5401.5
例3假设单变量系统如教材图3-5所示。

试根据四阶龙格库塔法,熟悉MATLAB仿真程序,求输出量y的动态响应曲线。

r=2;num=8;den=[1 3 0];num2=[1];den2=[1];
[no,do]=feedback(num,den,num2,den2);
[a,b,c,d]=tf2ss(no,do);
tf=input('仿真时间tf: ');h=input('计算步长h: ');
x=zeros(length(a),1);y=0;t=0;
for i=1:tf/h
k1=a*x+b*r;
k2=a*(x+h*k1/2)+b*r;
k3=a*(x+h*k2/2)+b*r;
k4=a*(x+h*k3/2)+b*r;
x=x+h*(k1+2*k2+2*k3+k4)/6;
y=[y;c*x];
t=[t;t(i)+h];
end
plot(t,y)
00.51 1.52 2.53 3.54 4.55
0.5
1
1.5
2
2.5
例4 假设某一系统由四个典型环节组成,如图3-11所示。

1、给出典型环节的参数矩阵P
2、给出连接矩阵W 、W 0和W c ;
3、熟悉 MATLAB 仿真程序,求输出量y 的动态响应曲线。

%ex3_2.m r=10;
p=[0.1 1 0.5 1;0 1 1 0;2 1 2 0;10 1 10 0]; W=[0 0 0 -1;1 0 0 0;0 1 0 0;0 0 1 0]; W0=[1;0;0;0];Wc=[0 0 0 1];
Tf=input('仿真时间Tf = ');h=input('计算步长h = ');
A1=diag(p(:,1));B1=diag(p(:,2));C1=diag(p(:,3));D1=diag(p(:,4)); H=B1-D1*W;Q=C1*W-A1; A=inv(H)*Q;B=inv(H)*C1*W0;
x=[zeros(length(A),1)];y=[zeros(length(Wc(:,1)),1)]; t=0;
for i = 1:Tf/h
K1=A*x+B*r;
K2=A*(x+h*K1/2) + B*r; K3=A*(x+h*K2/2) + B*r;
r
图3-11




K4=A*(x+h*K3) + B*r;
x=x+h*(K1+2*K2+2*K3+K4)/6;
y=[y,Wc*x];t=[t,t(i)+h];
end
plot(t,y)。

相关文档
最新文档