第10章MATLAB的控制系统数学建模
MATLAB控制系统数学模型建模与simulink仿真
目录MATLAB/Simulink 与控制系统仿真课程设计 (1)一、课题设计目的 (3)二、课题设计要求 (3)1.实现单回路控制系统的设计及仿真 (3)2.实现串联控制系统的设计与仿真 (3)3.实现反馈前馈控制系统设计及仿真 (3)三、课题设计内容与步骤 (3)1.实现单回路控制系统的设计及仿真 (3)(1)原始单回路的单位阶跃曲线: (4)(2) P 调节 (4)(3) PI 调节 (5)(4) PID 调节 (5)(5) 总结: (6)2. 实现串联控制系统的设计与仿真 (6)(1).建立开环传递函数 (6)(2).设计串联校正器的滞后环节 (8)(3).设计串联校正器的超前环节 (8)(4).对照校正先后的系统频率响应 (9)(5).系统校正先后的阶跃响应曲线 (10)(6)结论: (12)3.实现反馈前馈控制系统设计及仿真 (12)(1).开环传递函数模型 (12)(2).分析系统的频率响应特性 (13)(3).设计反馈校正器环节 (13)(4).设计前馈校正器环节 (14)(5).设计前向通道 (15)(6).设计前向通道与前馈通道并联连接 (16)(7).设计反馈前馈校正器环节 (16)(8).对照校正先后的系统频率响应 (17)(9).系统校正先后的阶跃响应曲线 (18)(10).总结: (20)四、心得体味 (20)进行PID 控制器设计与应用1.实现单回路控制系统的设计及仿真2.实现串联控制系统的设计与仿真3.实现反馈前馈控制系统设计及仿真P 调节器公式Wc (s) =20.经P 控制后的单回路的单位阶跃曲线:P 控制只改变系统的增益而不影响相位,它对系统的影响主要反映在系统的稳态误差和稳定性上,增大比例系数可提高系统的开环增益、减小系统的稳态误差,从而提高系统的控制精度,但这会降低系统的相对稳定性。
PI 调节器公式Wc (s) =20+3/s.经PI 控制后的单回路的单位阶跃曲线:PI 控制器可以使系统在进入稳态后无稳态误差。
控制系统建模的matlab方法
Matlab程序
系统校正的Matlab方法
• 单位负反馈系统的开环传递函数为
Matlab程序
控制系统模型描述
1、系统传递函数模型描 述 Sys =tf(num,den,Ts)
2、系统零极点模型描述 Sys =zpk(z,p,k,Ts)
模型转换
[num,den]=zp2tf(z,p,k) [z,p,k]=tf2zp (num,den)
系统连接
1、两个系统的并联 Sys = parallel( sys1 , sys2 )
• 等效开环传递函数
Matlab程序
线性系统频域分析的MATLAB方法
1.bode图 [mag,phase,w]=bode(sys) [Gm,Pm,Wcg,Wcp] =margIn (sys) 2.Nyquist图
[re, im,w]=nyquist(sys)
系统稳定性的频域分析
• 单位负反馈系统的开环传递函数为
2、两个系统的串联 Sys=series(sys1,sys2)
3、两个系统的反馈 Sys=feedback (sys1,sys2,sign)
线性系统时域分析的MATLAB方法
稳定性分析
P=root(den)
动态性能分析
1、单位脉冲响应 Y=impulse(sys,t)
2、单位阶跃 Y=step (sys,t)
3、任意输入响应 Y=lsim(sys,u,t,x0)
4、零输入响应 Y=initial(sys,x0,t)
线性系统根轨迹分析的MATLAB方 法
1.绘制零极点分布图 [p,z]=pzmap (sys)
2.绘制根轨迹图 r locus(G)
MATLABSimulink控制系统建模最全资料
MATLABSimulink控制系统建模最全资料Simulink 控制系统建模dSPACE 的软件环境主要由两⼤部分组成,⼀部分是实时代码的⽣成和下载软件RTI (Real Time Interface ),它是连接dSPACE 实时系统与MA TLAB/Simulink 的纽带,通过对RTW (Real time workshop )进⾏扩展,可以实现从Simulink 模型到dSPACE 实时硬件代码的⾃动下载。
另⼀部分为测试软件,其中包含了综合实验与测试环境ControlDesk 、⾃动试验及参数调整软件MLIB/MTRACE 、PC 与实时处理器通信软件CLIB 以及实时动画软件RealMotion 等。
连续模块库(Continuous)在连续模块(Continuous)库中包括了常见的连续模块,这些模块如图所⽰。
1. 积分模块(Integrator):功能:对输⼊变量进⾏积分。
说明:模块的输⼊可以是标量,也可以是⽮量;输⼊信号的维数必须与输⼊信号保持⼀致。
2. 微分模块(Derivative)功能:通过计算差分?u/ ?t 近似计算输⼊变量的微分。
3. 线性状态空间模块(State-Space)功能:⽤于实现以下数学⽅程描述的系统:+=+=Du Cx y Bu Ax x '4. 传递函数模块(Transfer Fcn)功能:⽤执⾏⼀个线性传递函数。
5. 零极点传递函数模块(Zero-Pole)功能:⽤于建⽴⼀个预先指定的零点、极点,并⽤延迟算⼦s 表⽰的连续。
6.存储器模块(Memory)功能:保持输出前⼀步的输⼊值。
7.传输延迟模块(Transport Delay)功能:⽤于将输⼊端的信号延迟指定的时间后再传输给输出信号。
8.可变传输延迟模块(Variable Transport Delay)功能:⽤于将输⼊端的信号进⾏可变时间的延迟。
离散模块库(Discrete)离散模块库(Discrete)主要⽤于建⽴离散采样的系统模型,包括的主要模块,如图所⽰。
matlab控制系统的数学模型.ppt
num/den = 0.1 s + 10 -----------------------------0.01 s^3 + 1.01 s^2 + 3 s + 10
例题说明: 函数[]=feedback()用于计算一 般反馈系统的闭环传递函数。前向 num1 传递函数为 G(s) den1 ,反馈传递函数 num 2 H ( s ) 为 。右变量为 G(s) 和 H(s) 的 den 2 参数,左变量返回系数的闭环参数, 反馈极性1为正反馈,-1为负反馈, 省缺时作负反馈计算。
【例5.8】 键入 num=[3,2,1,4,2]; poly2str(num, 's') 显示结果为 ans = 3 s^4 + 2 s^3 + s^2 + 4 s + 2
printsys(num,den) 用于构造传递函数G(s)并作显示。
【5.9】 键入 num=[3,2,1,4,2]; den=[3,5,1,2,2,1]; printsys(num,den);
num/den = 20 s + 20 ----------------------------s^5 + 8 s^4 + 22 s^3 + 20 s^2
例题说明: 函数conv()用于计算多项式 乘积,结果为多项式系统的降幂排 列。语句2为函数conv()的嵌套使 用。
【例5.3】 系统的开环传递函数为
式中z j , j 1, 2, , m;pi , i 1, 2, , n; k分别为系统的m个零点、n个极点及 增益k,且均为常数。
由于用m个零点、n个极点及增 益k可以唯一地确定一个系统。因此, 在MATLAB中可以用向 p [ p1 , p2 , , pn1 , pn ] 量z [ z0 , z1, , zm1, zm ] 、 、 k=k0来表示系统G(s)的零极点模型。
基于MATLAB的控制系统数学建模
频率响应与传递函数
系统的频率响应反映了系统对不同频率输入信号的响应能力,传 递函数描述了系统输入输出之间的数学关系。
频域性能指标
包括幅值裕度、相位裕度、谐振频率等,用于评价系统的稳定性 和性能。
利用MATLAB进行频域分析
01
MATLAB频域分析 工具箱
习等功能,提高系统的性能和稳定性。
绿色环保
未来控制系统将更加注重绿色环保,采用 更加高效、节能的技术和设备,减少对环
境的影响。
多领域融合
控制系统将与其他领域进行更多的交叉融 合,如计算机科学、机械工程、电子工程 等,形成更加综合的学科体系。
远程控制和自动化
随着互联网和物联网技术的普及,远程控 制和自动化将成为控制系统的重要发展方 向,提高生产效率和便利性。
实例分析:典型环节传递函数建模
一阶惯性环节
传递函数为`1/(T*s+1)`,其中`T`为时间常数,`s`为复频率。 在MATLAB中可表示为`sys = tf([1], [T, 1])`。
二阶振荡环节
传递函数为`1/(s^2/ωn^2+2ζs/ωn+1)`,其中`ωn`为自然频率,`ζ`为阻 尼比。在MATLAB中可表示为`sys = tf([1], [1/ωn^2, 2ζ/ωn, 1])`。
数学模型描述方法
微分方程法
通过列写系统或元件的微分方程来描述系统的动态特性,适用于线 性定常系统、非线性系统以及时变系统。
传递函数法
在零初始条件下,系统输出量的拉普拉斯变换与输入量的拉普拉斯 变换之比,适用于线性定常系统。
状态空间法
以系统的状态变量为基础,通过状态方程和输出方程来描述系统的动 态特性,适用于多输入多输出系统、非线性系统以及时变系统。
matlab控制系统的数学建模
matlab控制系统的数学建模Matlab控制系统的数学建模传递函数模型相关函数◆S=tf(num,den):返回变量为s的连续系统传递函数模型。
●Num为一个行向量,为传递函数的零点部分即分子,例:num=[1 1]:代表s+1;num=[1 2 2]:代表s^2+2*s+2.●Den为一个行向量,为传递函数的极点部分即分母,表达方法童num。
◆S=tf(num,den,ts):返回变量s为离散系统传递函数模型,ts为采样周期。
◆S=tf(‘s’):定义laplace算子,定义之后可以用原型式输入传递函数。
◆S=tf(‘z’,ts):定义z变换算子以及采样时间,以原型式输入传递函数。
◆Printsys(num,den,’s’):将系统传递函数以分式的形式打印出来,’s’表示传递函数变量◆Pritnsys(num,den,’z’):将系统传递函数以分式的形式打印出来,’z’表示传递函数变量◆Get(sys):可获得传递函数模型对象sys的所有信息◆Set(sys,’preperty’,value..):为系统不同属性设定值●例:延迟函数的设定Set(g,’ioDelay’,4):表示在传递函数中加了exp(-4*s)◆[num den]=tfdata(sys,’s’):以行向量的形式返回传递函数分子分母多项式◆C=conv(a,b):多项式a,b一系数行向量表示,进行相乘,结果c以系数行向量表示控制系统的零极点模型的建立相关函数◆sys=zpk(z,p,k):的连续系统的零极点增益模型●z为一个列向量,表示系统的各个零点●p为一个列向量,表示系统的各个极点●k为一个数值,表示系统的系统增益注:这个不是传递函数的增益。
◆sys=zpk(z,p,k,ts):的离散系统的零极点增益模型,采样时间为ts◆s=zpk(‘s’):得到laplace算子,按原形式输入系统◆s=zpk(‘z’,ts):得到z变换算子和采样时间ts◆[z,p,k]=zpkdata(sys,’v’):得到系统的零极点和增益,参数‘v’表示以向量形式表示◆[p,z]=pzmap(sys):返回系统零极点◆Pzm ap(sys):得到系统零极点分布图控制系统的状态空间函数模型x’(t)=A*x(t)+B*u(t)y(t)=C*x(t)+D*u(t)其中状态向量x(t)是n维,输入向量u(t)是m维,输出向量y(t)是p维,状态矩阵A是n*n维,输入矩阵B是n*m维,输出矩阵是p*n维,对于一个时不变系统A,B,C,D都是常数矩阵。
matlab控制系统的数学描述与建模
D ( s ) = a 0 s + a1 s
n
n 1
+ ... + a n 1 s + a n
称为系统特征多项式。 称为系统特征多项式。
D ( s ) = a 0 s + a1 s
n
n 1
+ ... + a n 1 s + a n = 0
为系统特征方程。 为系统特征方程。
原理要点 ——系统稳定的判定 系统稳定的判定 对于线性连续系统, 对于线性连续系统,如果系统的所有特征根 (极点 的实部为负,则系统是稳定的;如果有实部为 极点)的实部为负 极点 的实部为负,则系统是稳定的; 零的根,则系统是临界稳定的( 零的根,则系统是临界稳定的(在实际工程中视临 界稳定系统为不稳定系统);反之, );反之 界稳定系统为不稳定系统);反之,如有正实部的 则系统不稳定。 根,则系统不稳定。 线性连续系统稳定的充分必要条件是: 线性连续系统稳定的充分必要条件是:描述该 系统的微分方程的特征方程的根全具有负实部, 系统的微分方程的特征方程的根全具有负实部,即
试在Matlab中将上述传递函数模型表示出来。 中将上述传递函数模型表示出来。 试在 中将上述传递函数模型表示出来 num=7*[2 3]; den=conv(conv(conv([1 0 0], [3 1]), conv([1 2],[1 2])), [5 0 3 8]); sys1=tf(num,den)
全部根在左半复平面内。 全部根在左半复平面内。或者说系统的闭环传递函 数的极点均位于左半s平面内 平面内。 数的极点均位于左半 平面内。 线性离散系统稳定的充分必要条件是 稳定的充分必要条件是: 线性离散系统稳定的充分必要条件是:如果闭环 线性离散系统的特征方程根或者闭环脉冲传递函数 的极点为则当所有特征根的模都小于1时 的极点为则当所有特征根的模都小于 时,即
控制系统数学模型Matlab实现
控制系统数学模型Matlab实现
G(s)=50/(25s +2s+1)的单位阶跃响应
2
控制系统数学模型Matlab实现 例、对于下列系统传递函数
X X
o
s s
50 25s 2s 1
2
i
下列程序将给出该系统的单位脉冲响应曲线。
----MATLAB Program---num=50; den=[25,2,1]; impulse(num,den); grid; title(‘Unit-Impulse Response of G(s)=50/(25s^2+2s+1)’);
50 25s 2s 1
2
i
下列程序将给出该系统的单位阶跃响应曲线。 ----MATLAB Program---num=50; den=[25,2,1]; step(num,den); grid; title(‘Unit-Step Response of G(s)=50/(25s^2+2s+1)’);
F (s) r (1 ) s p (1 ) r (1 ) s p (2) r (n) s p (n) K (s)
若存在q重极点p(j),展开式将包括下列各项:
r ( j) s p ( j) r ( j 1)
s
p ( j)
2
r ( j q 1)
控制系统数学模型Matlab实现
G(s)=50/(25s +2s+1)的单位斜坡响应
2
控制系统数学模型Matlab实现
求上升时间、峰值时间、最大超调量 和调整时间 例如:系统闭环传递函数
X o (s) X i (s) 25 s 6s 25
如何在MATLAB中进行控制系统的建模与仿真
如何在MATLAB中进行控制系统的建模与仿真在现代工程领域中,控制系统的建模与仿真是必不可少的一项技术。
MATLAB 作为一种强大的科学计算软件,并提供了丰富的工具箱,可以帮助工程师们快速而准确地进行控制系统的建模和仿真。
本文将介绍如何在MATLAB中进行控制系统的建模与仿真的一般步骤和注意事项。
一、引言控制系统是一种以实现某种特定目标为目的对系统进行调节和控制的技术,在现代工程中得到了广泛的应用。
控制系统的建模与仿真是控制系统设计的重要环节,通过建立系统的数学模型,可以对系统的性能进行有效地评估和分析,从而为系统的设计和优化提供指导。
二、MATLAB中的控制系统建模工具箱MATLAB提供了专门的控制系统工具箱,包括线性和非线性系统建模、控制器设计与分析等功能。
其中,Simulink是MATLAB中最重要的控制系统建模工具之一,它可以方便地用来搭建控制系统的框架,并进行仿真与分析。
三、建立控制系统数学模型在进行控制系统的建模之前,需要先确定系统的类型和工作原理。
常见的控制系统包括开环控制系统和闭环控制系统。
开环控制系统中,控制器的输出不受被控对象的反馈作用影响;闭环控制系统中,控制器的输出受到被控对象的反馈作用影响。
在MATLAB中,可以通过使用Transfer Function对象或State Space对象来表示控制系统的数学模型。
Transfer Function对象用于线性时不变系统的建模,可以通过给定系统的分子多项式和分母多项式来定义一个传递函数;State Space对象则适用于非线性时变系统的建模,可以通过状态空间方程来定义系统。
四、利用Simulink搭建控制系统框架Simulink是一种基于图形化编程的建模仿真工具,在MATLAB中可以方便地使用它来搭建控制系统的框架。
通过简单地拖拽、连接不同的模块,可以构建出一个完整的控制系统模型。
首先,打开Simulink,选择相应的控制系统模板或从头开始设计自己的模型。
控制系统数学模型的MATLAB描述
控制系统数学模型的MATLAB描述控制系统常用的数学模型有三种:传递函数、零极点增益和状态空间。
每种模型均有连续/离散之分,它们各有特点,有时需在各种模型之间进行转换。
本节主要介绍它们的MATLAB表示及三种模型之间的相互转换。
2.8.1连续系统数学模型的MATLAB表示1.传递函数模型当:则在MATLAB中,直接用分子/分母的系数表示,即num=[b0,b1,…,bm];den = [a0,a1,…,an];例2-7 用MATLAB表示传递函数为的系统。
解:在MATLAB环境下输入ng=[1 1]; dg=[1 3 2];printsys(ng,dg) %此处printsys命令是传递函数显示命令。
则执行后得到如下结果:2.零极点增益模型当:时则在MATLAB中,用[z,p,k]矢量组表示,即z=[z0,z1,…,zm];p=[p0,p1,…,pn];k=[k];例2-8 用MATLAB表示传递函数为的系统。
解:在MATLAB环境下输入z=-1; p=[0 -1 -2]; k=1.5;[num,den]=zp2tf[z,p,k];printsys(num,den) %此处printsys命令是传递函数显示命令。
则执行后得到如下结果:3.状态空间模型当:时则在MATLAB中,该控制系统可用(a,b,c,d)矩阵组表示。
4.传递函数的部分分式展开当:时在MATLAB中直接用分子/分母的系数表示时有num=[b0,b1,…,bm];den = [a0,a1,…,an];则命令[r,p,k] = residue(num,den)将求出两个多项式Y(s)和X(s)之比的部分分式展开的留数、极点和直接项。
Y(s)/X(s)的部分分式展开由下式给出:例2-A2 考虑下列传递函数:命令[r,p,k] = residue(num,den)将给出下列结果:[r,p,k]=residue(num,den)r=-6.000-4.0003.000p=-3.000-2.000-1.000k=2留数为列向量r,极点位置为列向量p,直接项是行向量k。
MATLAB的控制系统数学建模
赵广元.MATLAB与控制系统仿真实践,
北京航空航天大学出版社,2009.8.
在线交流,有问必答
8
后我们所讨论的系统主要以线性定常连续系 统为主。
(2)线性定常离散系统: 离散系统指系统的某处或多处的信号
为脉冲序列或数码形式。这类系统用差分 方程(difference equations)来描述。 (3)非线性系统:
方式2:
>> s=tf(‘s’)
%定义Laplace算子
Transfer function:
s >> G=10*(2*s+1)/s^2/(s^2+7*s+13) %直接给出系统传递函
数表达式
Transfer function:
20 s + 10
s^4 + 7 s^3 + 13 s^2
--------------------
赵广元.MATLAB与控制系统仿真实践,
北京航空航天大学出版社,2009.8.
在线交流,有问必答
10
控制系统的传递函数模型
MATLAB与控制系统仿真实践,
北京航空航天大学出版社,2009.8.
在线交流,有问必答
12
本节主要内容
系统传递函数模型简述 传递函数的MATLAB相关函数 10.1.3 建立传递函数模型实例
北京航空航天大学出版社,2009.8.
在线交流,有问必答
7
原理要点——系统分类
按系统性能分:
线性系统和非线性系统;连续系统和 离散系统;定常系统和时变系统;确定系 统和不确定系统。
(1)线性连续系统: 用线性微分方程式(differential equations)
控制系统建模的matlab方法
x11 y 11 0 0 1 0 y = 0 1 1 x12 + 1 12 x13 & x 21 1 − 1 0 x 21 1 x = 3 − 2 1 x + 0 & 22 22 x 23 1 6 − 1 x 23 0 & x 21 y 21 0 1 0 1 1 y = 1 0 1 x 22 + 1 0 22 x 23
3-4-3 控制系统时域响应的 仿真方法
MATLAB中提供了一些简单的命令,可以用来求取控制系统的时域响应。
例:已知
G (s) =
试用MATLAB求其单位阶跃响应、单位脉冲响应和 单位斜坡响应。
C (s) 1 = 2 R (s) s + 0 .2 s + 1
(1) 求单位阶跃响应 在MATLAB COMMAND Window下键入下 列语句 num=[0 0 1]; den=[1 0.2 1]; step(num,den) 即在屏幕上产生该系统的单位阶跃响应曲线,如 图所示。
k= 2
结果表达式:
− 0.25i 0.25i − 2 G(s) = 2 + + + s − 2i s + 2i s + 1
模型的转换与连接
一、模型的转换
• 在一些场合下需要用到某种模型,而在另外 一些场合下可能需要另外的模型,这就需要 进行模型的转换。
模型之间的转换
模型转换的函数包括: residue:传递函数模型与部分分式模型互换 ss2tf: 状态空间模型转换为传递函数模型 ss2zp: 状态空间模型转换为零极点增益模型 tf2ss: 传递函数模型转换为状态空间模型 tf2zp: 传递函数模型转换为零极点增益模型 zp2ss: 零极点增益模型转换为状态空间模型 zp2tf: 零极点增益模型转换为传递函数模型
Matlab控制模型及仿真技术
系统优化与改进
参数优化
通过Matlab的优化工具箱,对控制系统的参数进行优化,提高 系统性能。
结构优化
对控制系统的结构进行改进,如采用串级控制、解耦控制等。
算法改进
对控制算法进行改进,以提高系统的响应速度和稳定性。
05
Matlab控制模型及仿真技术案 例分析
02
控制模型的建立
传递函数模型
总结词
传递函数模型是控制系统中最常用的数学模型之一,它描述递函数模型基于系统的输入和输出信号,通过拉普拉斯变换或Z变换等方法, 将时域中的系统响应转换为频域中的传递函数。传递函数模型具有明确的物理 意义,能够直观地反映系统的动态特性。
案例三:离散时间系统仿真与分析
01
3. 使用Matlab的控制系统工具 箱进行系统分析和设计。
02
4. 进行仿真实验,验证系统的 性能。
03
案例应用:例如设计一个数字 通信系统,通过分析系统的误 码率和信噪比等参数,优化系 统的性能。
THANKS
感谢观看
案例二:非线性控制系统仿真
2. 建立非线性系统的数学 模型。
1. 确定系统的非线性特性。
设计步骤
01
03 02
案例二:非线性控制系统仿真
01
3. 使用Matlab的控制系统工具箱进行系统分析和设
计。
02 4. 进行仿真实验,验证系统的性能。
03
案例应用:例如设计一个飞行器控制系统,通过控制
飞行器的姿态和高度等参数,实现稳定的飞行。
案例三:离散时间系统仿真与分析
• 离散时间系统:离散时间系统是指系统的状态只在离散时刻发生变化,而在其 他时刻系统的状态保持不变的系统。在Matlab中,可以使用Simulink等工具 进行建模和仿真。
自动控制实验1 Matlab用于建立数学模型
实验一Matlab用于建立数学模型一、实验目的要对控制系统进行计算仿真,必须先要对控制系统建立数学模型。
数学模型是控制系统仿真的基础。
通过本次实验,使学生熟悉并学会建立控制系统的数学模型,还能对系统框图模型进行化简。
二、实验设备计算机一台,安装了MATLAB软件三、实验内容1、Matlab计算及仿真语言基础(1)、常量、变量MATLAB使用的常量有实数常量与复数常量。
复数由实部、虚部构成,虚单位由i或j表示。
变量可以直接赋值,无需定义,例1.比如在命令窗口键入:》z=3+4*i 或者在z=5*exp(3*j)运算结果:z =3.0000 +4.0000i(2)、数组、矩阵的算术运算数组无论做什么运算,总是对数组中的每一个元素进行同等操作,矩阵运算则不同,他是把矩阵当作一个整体,依照线性代数的规则进行运算。
1、数组、矩阵加减运算数组、矩阵加减的条件是两个数组或矩阵的行数跟列数分别相等,其运算规则也相同,即相应元素的加减运算。
另外数组与标量可以进行加减,其规则是数组每个元素与标量分别进行加减操作。
例2 》s=5;A=[1 2 3;4 5 6;7 8 9];B=A+s运行结果:B =6 7 89 10 1112 13 142、数组、矩阵的乘法标量与数组(或矩阵)的乘法运算例3. 》 s=5;A=[1 2 3;4 5 6;7 8 9];B=s.*A运算结果:B =5 10 1520 25 3035 40 45 (注意:A.*s与s.*A结果是一样的)例4. 》 a=[1 2 3;4 5 6;7 8 9];b=[2 2 2;2 2 2;2 2 2];c=a.*bd=b.*ae=a*bf=b*a运算结果:c =2 4 68 10 1214 16 18d =2 4 68 10 1214 16 18e =12 12 1230 30 3048 48 48f =24 30 3624 30 3624 30 363、数组、矩阵的除法运算分为左除和右除,两者的运算规则也不同。
《自动控制原理》Matlab求解控制系统数学模型实验
《自动控制原理》Matlab求解控制系统数学模型实验一、实验目的(1)熟练运用matlab软件,求解控制系统数学模型(2)掌握传递函数在matlab中的表达方法(3)掌握matlab求解拉氏变换和反变换(4)掌握matlab求系统极值点和零点判断系统稳定性二、实验仪器装配Matlab7.0的计算机三、实验原理传递函数在matlab中的表达方法控制系统的传递函数模型为:在MATLAB中,分子/分母多项式通过其系数行向量表示,即:num = [b0 b1 … bm]den = [a0 a1 … an]此时,系统的传递函数模型用tf函数生成,句法为:sys=tf(num, den)其中,sys为系统传递函数。
如:num = [1 5 0 2]; den = [2 3 15 8];则:sys=tf(num, den)输出为:Transfer function:传递函数的转换[num,den]=zp2tf(z,p,k)[z,p,k]=tf2zp(num,den)实际系统往往由多个环节通过串联、并联及反馈方式互连构成。
MATLAB提供的三个用于计算串联、并联及反馈连接形成的新系统模型的函数。
四、实验内容及步骤2、用MATLAB展求拉氏变换和反变换在MATLAB中,多项式通过系数行向量表示,系数按降序排列如要输入多项式:x4-12x3+25x+126>> p=[1 -12 0 25 126]-p = 1 -12 0 25 1263、连续系统稳定性分析的MATLAB函数roots函数:求多项式的根句法: r=roots(p)其中,r为由多项式根组成的列向量。
➢pole函数:计算系统的极点句法: p=pole(sys)其中,p为由极点组成的列向量zero函数:计算系统的零点句法: r=zero(sys) 或 [z, k]=zero(sys)其中,r为由多项式根组成的列向量。
k为零极点增益模型之增益pzmap函数:绘制零极点分布图句法: pzmap(sys) 或 [p,z] = pzmap(sys)五、实验原始数据记录与数据处理在MATLAB中,多项式通过系数行向量表示,系数按降序排列如要输入多项式:x4-12x3+25x+126>> p=[1 -12 0 25 126]-p = 1 -12 0 25 126六、实验结果与分析讨论七、结论掌握 MATLAB命令窗口的基本操作;掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法;掌握了使用各种函数命令建立控制系统数学模型.八、实验心得体会(可略)通过该试验我们熟悉 MATLAB 实验环境,掌握 MATLAB命令窗口的基本操作;掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法;掌握了使用各种函数命令建立控制系统数学模型:完成实验的范例题和自我实践,并记录结果;编写M文件程序,完成简单连接的模型等效传递函数,并求出相应的零极点。
课程设计-基于Matlab的控制系统模型
基于Matlab 的控制系统模型一、 实验目的1. 熟悉Matlab 的使用环境,学习Matlab 软件的使用方法和编程方法2. 学习使用Matlab 进行各类数学变换运算的方法3. 学习使用Matlab 建立控制系统模型的方法二、 实验器材x86系列兼容型计算机,Matlab 软件三、 实验原理1. 香农采样定理对一个具有有限频谱的连续信号f(t)进行连续采样,当采样频率满足m ax 2ωω≥S 时,采样信号f*(t)2. 拉式变换和Z 变换使用Matlab 求函数的拉氏变换和Z 变换3. 控制系统模型的建立与转化传递函数模型:num=[b1,b2,…bm],den=[a1,a2,…an],nn n mm m b s a s a b s b s b den num s G ++++++==-- 121121)( 零极点增益模型:z=[z1,z2,……zm],p=[p1,p2……pn],k=[k],)())(()())(()(2121n m p s p s p s z s z s z s k s G ------=四、实验步骤1.根据参考程序,验证采样定理、拉氏变换和Z变换、控制系统模型建立的方法2.观察记录输出的结果,与理论计算结果相比较3.自行选则相应的参数,熟悉上述的各指令的运用方法五、实验数据及结果分析记录输出的数据和图表并分析六、总结实验二基于Matlab的控制系统仿真一、实验目的1.学习使用Matlab的命令对控制系统进行仿真的方法2.学习使用Matlab中的Simulink工具箱进行系统仿真的方法二、实验器材x86系列兼容型计算机,Matlab软件三、实验原理1.控制系统命令行仿真二阶系统闭环传递函数为22222554.025)54.02(51)54.02(5)(+⨯⨯+=⨯⨯++⨯⨯+=s ss s s s s G ,请转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。
MATLAB基于模型的控制系统设计
MATLAB基于模型的控制系统设计介绍:控制系统是现代工程的基本组成部分之一,用于控制和稳定物理系统的运动。
MATLAB是一种广泛使用的工程软件,具有强大的模型开发和控制设计功能。
基于模型的控制系统设计是使用数学模型来描述系统动态特性,并使用这些模型来设计和优化控制器的一种方法。
在这篇文章中,我们将介绍MATLAB中基于模型的控制系统设计的一般方法和步骤。
一、系统建模:在进行基于模型的控制系统设计之前,首先需要建立系统的数学模型。
系统的数学模型通常是由微分方程或差分方程组成的,用于描述系统的输入、输出和动态行为。
MATLAB提供了各种建模工具和函数,可以通过实验数据、理论推导或系统识别等方法来构建系统模型。
常用的建模工具包括MATLAB的Control System Toolbox和System Identification Toolbox。
二、控制器设计:有了系统的数学模型之后,下一步是设计控制器。
在基于模型的控制系统设计中,通常使用经典控制理论和现代控制理论来设计控制器。
常用的控制器设计方法包括PID控制器、根轨迹法、频域设计、状态空间设计等。
MATLAB提供了各种控制器设计工具和函数,如MATLAB的Control System Toolbox和Robust Control Toolbox等。
这些工具可以自动生成控制器,也可以通过手动调节参数来优化控制器设计。
三、系统仿真:在进行控制器设计之前,可以使用MATLAB对系统进行仿真,以验证系统的稳定性和性能。
MATLAB提供了Simulink仿真平台,可用于建立系统的仿真模型,并进行连续或离散时间域的仿真。
在仿真中,可以通过改变输入信号、系统参数或控制器参数来研究系统的响应和特性,并通过MATLAB的绘图工具对仿真结果进行可视化和分析。
四、控制器调整:在进行系统仿真后,根据仿真结果可以调整控制器的参数和结构。
可以使用MATLAB提供的优化工具包、自适应控制工具和多变量控制工具等功能进行控制器调整。
实验一 控制系统数学模型
G( s)
5( s 1) 写出单位负反馈时闭环传递函数的多项式模型。 s 2 ( s 3)
>>numo=conv([5],[1 1]); >>deno=conv([1 0 0],[1 3]); >>[numc,denc]=cloop(numo,deno,-1); >>printsys(numc,denc) 显示: num/den= 5s+5 --------------------s^3 + 3 s^2 + 5 s + 5 函数[]=feedback()用于计算一般反馈系统的闭环传递函数。其格式为: [num,den]=feedback(num1,den1,num2,den2,sign) 前向传递函数 G(s)为 num1/den1, 反馈传递 函数 H(s)为 num2/den2,右变量为 G(s)与 H(s)的参数,左变量返回系统的闭环参数,反馈极 性 sign 取 1 为正反馈,取-1 为负反馈,缺省时作负反馈计算。 例 4:系统结构图如图所示: R (s) + 10 s ( s 1)
所以 G ( s )
s 0.3333 3 s 1 = 3s 3 10 s 2 11s 3 ( s 0.4018)( s 2 2.932 s 2 .489)
2. 写出实验的心得与体会。 在本次仿真实验中,我们初步掌握利用 MATLAB 命令求取控制系统传递函数,进一步 加深理解了控制系统数学模型——传递函数的求取方法。
5s 3 2 s 2 s 1 s4 s2 s 3
;
(2) G ( s ) (3)
( s 1)( s 3) ; s ( s 2)(2 s 2 6 s 1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.3 建立传递函数模型实例
注:演示例3 设置传递函数模型
10(2s 1) G(s) 2 2 s ( s 7 s 13)
时间延迟常数为τ=4,即系统模型为
G(s)e
4 s
在已有MATLAB模型基础上,设置时间延迟 常数。
10.1.3 建立传递函数模型实例
注:演示例4 已知系统传递函数模型为
串联连接的化简
X1 G1(s)
X2 G2(s)
X3
G(s) G2 (s) G1 (s)
并联连接的化简
G1(s) X1 X2
G2(s)
G(s)=Gl(s)+G2(s)
反馈连接的化简
X1 G(s) X2
X1 G(s)
X2
H(s)
H(s)
(a)正反馈连接
(b)负反馈连接
反馈连接的化简
对于如图的正反馈连接
S = TF('s') Z = TF('z',TS)
10.1.2 传递函数的MATLAB相关函数
PRINTSYS(NUM,DEN,'s') PRINTSYS(NUM,DEN,'z') GET(sys) SET(sys,'Property',Value,.. .) [NUM,DEN] = TFDATA(SYS,'v') 将系统传递函数以分式的形式打印出来, 's'表示传递函数变量 将系统传递函数以分式的形式打印出来, 'z'表示传递函数变量 可获得传递函数模型对象sys的所有信息 为系统不同属性设定值 以行向量的形式返回传递函数分子分母多 项式
10.5.3 系统模型连接化简实例
注:演示例14 化简如图系统,求系统的传递函数。
1 s+1
1 In
1 3s2 +4s+1
1 s
1 Out
10.5.3 系统模型连接化简实例
注:演示例15 给定一个多回路控制系统的方块图,试对 其进行化简。
H2 1 R(s) G1 G2 G3 G4 1 Y(s)
H1
sys = 对MIMO系统,部分反馈连接。 feedback(sys1,sys2,feedin sys1的指定输出feedout连接 ,feedout,sign) 到sys2的输入,而sys2的输 出连接到sys1的指定输入 feedin,以此构成闭环系统。 sign标识正负反馈,同上
10.5.3 系统模型连接化简实例
10.1.1 系统传递函数模型简述
在零初始条件下,经Laplace变换后,线性系 统的传递函数模型:
m m 1
C (s) b1s b2 s ... bn s bm1 G( s) n n 1 R(s) a1s a2 s ... an s an1
对线性定常系统,式中s的系数均为常数,且 不等于零,这时系统在MATLAB中可以方便地由 分子和分母系数构成的两个向量唯一地确定出 来。
注:演示例1 将传递函数模型输入到MATLAB工作空间中。
12 s 15 G ( s) 3 2 s 16 s 64 s 192
10.1.3 建立传递函数模型实例
注:演示例2 已知传递函数模型,将其输入到MATLAB工 作空间中。
10(2s 1) G(s) 2 2 s ( s 7 s 13)
num b1 , b2 ,...bm , bm 1 den a1 , a2 ,...an , an 1
G tf (num, den);
tf函数的具体用法见下表。
10.1.2 传递函数的MATLAB相关函数
SYS = TF(NUM,DEN) SYS = TF(NUM,DEN,TS) 返回变量SYS为连续系统传递函数模型 返回变量SYS为离散系统传递函数模型。TS 为采样周期,当TS=-1或者TS=[]时,表 示系统采样周期未定义 定义Laplace变换算子 (Laplace variable), 以原形式输入传递函数 定义Z变换算子及采样时间TS,以原形式输 入传递函数
s 2s 3 G 3 ( s 3s 4)( s 2)
2
提取系统的分子和分母多项式。
10.4.2 系统模型之间转换实例
注:演示例12 将双输入单输出的系统模型转换为多项式 传递函数模型。
0 1 1 0 x(t ) x(t ) u (t ) 2 3 0 1 y 1 0 x(t ) 0 0 u (t )
10.2 控制系统的零极点函数模型
主要内容(续)
10.3 控制系统的状态空间函数模型
10.3.1 状态空间函数模型简述 10.3.2 状态空间函数的MATLAB相关函数 10.3.3 建立状态空间函数模型实例 10.4.1 系统模型转换的MATLAB相关函数 10.4.2 系统模型之间转换实例
X2
(b)相加点前移等效变换
方框图的其它变换化简
X1 G1(s)
X3
X1 G1(s)
X3
X1
X1 1/G1(s)
(c)分支点后移等效变换
方框图的其它变换化简
X1 X3 G1(s)
X1 G1(s) X3
X3
X3 G1(s)
(d)分支点前移等效变换
10.5.2 系统模型连接化简函数
sys = parallel(sys1,sys2) sys = parallel(sys1,sys2,inp1,inp2 ,out1,out2) 并联两个系统,等效于 sys = sys1 + sys2 对MIMO系统,表示sys1的 输入inp1与sys2的输入 inp2相连,sys1输出out1 与sys2输出out2相连 串联两个系统,等效于 sys = sys2 * sys1
MATLAB 与控制系统仿真
第10章 基于MATLAB的控制系统数学建模
主要内容
10.1 控制系统的传递函数模型
10.1.1 系统传递函数模型简述 10.1.2 传递函数的MATLAB相关函数 10.1.3 建立传递函数模型实例 10.2.1 零极点函数模型简述 10.2.2 零极点函数的MATLAB相关函数 10.2.3 建立零极点函数模型实例
10.4 系统模型之间的转换
主要内容(续)
10.5 方框图模型的连接化简
10.5.1 方框图模型的连接化简简述 10.5.2 系统模型连接化简的MATLAB相关函 数 10.5.3 系统模型连接化简实例
10.6 Simulink图形化系统建模实例 本章小结
原理要点
原理要点
实际工程里,要解决自动控制问题所需用的数 学模型与该问题所给定的已知数学模型往往不 一致;或者要解决问题最简单而又最方便的方 法所用到的数学模型与该问题所给定的已知数 学模型不同,此时,就要对自控系统的数学模 型进行转换。
10.1 控制系统的传递函数模型
10.1.1 系统传递函数模型简述
获得系统模型的两种方法: 一种是从已知的物理规律出发,用数学推导 的方法建立起数学模型; 一种是由实验数据拟合系统的数学模型。实 际应用中,两种方法各有其优势和应用场合。
原理要点
在线性系统理论中,一般常用数学模型形式有: 传递函数模型(系统的外部模型) 状态方程模型(系统的内部模型) 零极点增益模型 部分分式模型等 这些模型之间都有着内在的联系,可以相互进行 转换。
H3
1 1 2 G1 4, G 2 , G3 , G4 s s 1 s 8
10.6 Simulink图形化系统建模实例
10.6 Simulink图形化系统建模实例
注:演示例17
在Simulink中建立系统
6( s 2)( s 3) 5s 1 G1( s) , G 2( s) 2 ( s 5)( s 8)( s 11) s 3s 2
sys = series(sys1,sys2)
10.5.2 系统模型连接化简函数
sys = feedback(sys1,sys2) 两系统负反馈连接,默认格 式 sys = feedback(sys1,sys2,sign) sign=-1表示负反馈,sign=1 表示正反馈。等效于 sys=sys1/(1±sys1*sys2)
C ( z ) b1 zm b2 zm1 ... bm1 G( z ) R( z ) a1 zn a2 zn1 ... an1
10.1.2 传递函数的MATLAB相关函数
用不同向量分别表示分子和分母多项式,就可 以利用控制系统工具箱的函数表示传递函数变 量G:
注:演示例13 已知系统
1 1 G1( s ) 2 , G 2( s) s 5s 23 s4
求G1(s)和G2(s)分别进行串联、并联和反 馈连接后的系统模型。
10.5.3 系统模型连接化简实例
注:
对于反馈连接,虽然运算式与feedback函数等 效,但得到的系统阶次可能高于实际系统阶次, 需通过minreal函数进一步求其最小实现。 较早版本的教材中有很多用cloop函数来求系 统反馈连接,这一函数在新版本的MATLAB中会 提示已过时,并建议用feedback代替之。
G ( s) 1 G * H
负反馈连接
G ( s) 1 G * H
方框图的其它变换化简
X1 G1(s)
X3
X1 G1(s)
X3
G2(s)X2G1(s)GFra bibliotek(s)X2