(完整版)MATLAB控制系统仿真计算

合集下载

最新控制系统Matlab计算与仿真

最新控制系统Matlab计算与仿真

执行结果: Transfer function:
Zero/pole/gain:
---------1--------
1 ---------------
s^2 + 3 s + 2
(s+2) (s+1)
12
二、控制系统Matlab仿真基础
1.控制系统在Matlab中的描述
(3)方在框M图a模tla型b中化描简述系统的模型形式不仅仅拘泥于数学表达式, 还
17
二、 控制系统Matlab仿真基础
例4 用Matlab绘制典型二阶系统的单位阶跃响应曲线。
解:取 n 5,分别取 [00 .30 .7124 ]
程序实现如下: c=[0 3 7 10 20 40];
% c2n
G(s) s2
n2 2 nsn2
k=25;
% k n2
t=linspace(0,10,100)';
有应用在Simulink仿真环境中的动态方框图形式。只要按照一定 的
规则画出系统模型图,然后用实际系统的数据进行设置,就可以 对
其实现仿真。
模型化简包括: ✓ 环节串联化简; ✓ 环节并联化简; ✓ 反馈环节化简。
二、控制系统Matlab仿真基础
1.控制系统在Matlab中的描述
(①3)方环框节图串模联型化化简简 多个环节相串联的连接形式是控制系统最基本的组成结构形
(②3)方环框节图并模联型化化简简 多个环节相并联的连接形式也是控制系统最基本的组
成结构形式之一。
G1(s) +
R(s)
C(s)
Matlab中用函数命令parallel()来G2实(s)现并联+ 化简。其调用格式为:

控制系统matlab仿真讲义

控制系统matlab仿真讲义
本讲义详细介绍了控制系统的matlab仿真与设计,重点围绕控制系统CAD和经典控制理论CAD展开。在控制系统固有特性分析方面,讲义首先探讨了时域分析,通过二阶系统闭环传函的标准形式,分析了阻尼比变化对系统闭环极点位置的影响,并展示了simulink的仿真结果。此讲义深入探讨了频域分析,介绍了频率特性法的基本概念和实用价值,详细阐述了伯德图、奈奎斯特图和尼克尔斯图等频率特性图的应用。特别是,通过伯德图命令的详细示例,展示了如何生成幅频特性和相频特性图,并提供了相应的matlab代码。这些分析方法和示例代码,有助于读者深入理解和掌握控制系统的matlab仿真与设计技术。

应用MATLAB控制系统仿真

应用MATLAB控制系统仿真

01
根据系统性能要求,设计比例、积分、微分控制器参数,优化
系统性能。
状态反馈控制器设计
02
通过状态反馈控制器设计,实现系统的最优控制。
鲁棒控制器设计
03
针对不确定性系统,设计鲁棒控制器,提高系统对参数变化的
适应性。
04
控制系统仿真的动态行为,通过建立和求解微 分方程来模拟系统的动态响应。
性能等。
05
Matlab控制系统仿真实 例
一阶系统仿真
总结词:简单模拟
详细描述:一阶系统是最简 单的控制系统,其动态行为 可以用一个一阶微分方程描 述。在Matlab中,可以使用 `tf`函数创建一个一阶传递函 数模型,然后使用`step`函 数进行仿真。
总结词:性能分析
详细描述:通过仿真,可以 观察一阶系统的响应曲线, 包括超调和调节时间等性能 指标。使用Matlab的绘图功 能,可以直观地展示系统的 动态行为。
THANKS FOR WATCHING
感谢您的观看
适用于模拟数字控制系统、采样控制系统等。
实时仿真
01
在实际硬件上实时模拟控制系统的动态行为,通过将
控制算法嵌入到实际控制系统中进行实时仿真。
02
使用Matlab中的`real-time workshop`等工具箱进
行建模和仿真,可以方便地实现实时仿真。
03
适用于模拟实际控制系统、验证控制算法的正确性和
实时仿真
Matlab支持实时仿真,可以在实 际硬件上运行控制算法,进行系 统测试。
02
控制系统数学模型
线性时不变系统
线性时不变系统(LTI)是指系统的输出与输入之间的关系 可以用线性常数来描述的系统。在控制系统中,LTI系统是 最常见的系统类型之一。

第10章控制系统MATLAB计算与仿真

第10章控制系统MATLAB计算与仿真
s ( s 0 . 5 )( s + 1 . 5 )
输入时产生的稳态误差. 解:(a)判断系统稳定性
k=5; z=[-0.2]; p=[0 0.5 [num,den]=zp2tf(z,p,k); sys=tf(num,den); sys1=feedback(sys,1); roots(sys1.den{1}) -1.5];
例10.2 用Matlab表示传递函数为 解:z=-3; p=[0 -1 -2]; k=2; sys=zpk(z,p,k) 执行结果: Zero/pole/gain: 2 (s+3) ------------s (s+1) (s+2)
2( s + 3) 的系统. s ( s + 1)( s + 2)
(2)SIMULINK环境下的仿真 此种方式的响应仿真在第九章中已有实例介绍. 2. 系统稳定性分析 线性定常系统稳定性的数学定义是控制系统闭环特 征方程的全部根,不论是实根或复根,其实部均应为 负值,则闭环系统就是稳定的.由此可知,求解控制 系统闭环特征方程的根并进而判断所有根的实部是否 小于零,这是控制系统判稳的最基本方法同时也是 MATLAB中提供和使用的思路. MATLAB中提供命令函数roots()实现,其调用格 式为: roots(P) 其中,P是系统闭环特征多项式 降幂排列的系数向量.
(3)状态空间模型 MATLAB中用函数命令ss()来建立控制系统的零极 点增益模型. 函数命令的调用格式为: sys=ss(a,b,c,d) 其中的a,b,c,d分别代表系统状态矩阵,控制矩阵, 输出矩阵,直接传输矩阵,函数返回连续系统状态空 间模型. sys=ss(a,b,c,d,Ts) 其中的a,b,c,d分别代表系统状态矩阵,控制矩阵, 输出矩阵,直接传输矩阵,函数返回离散系统状态空 间模型,Ts为采样时间.

MATLAB控制系统各种仿真例题(包括simulink解法)

MATLAB控制系统各种仿真例题(包括simulink解法)

一、 控制系统的模型与转换1. 请将下面的传递函数模型输入到matlab 环境。

]52)1)[(2(24)(32233++++++=s s s s s s s G )99.02.0)(1(568.0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s');G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5));GTransfer function:s^3 + 4 s + 2------------------------------------------------------s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3>> num=[1 0 0.56];den=conv([1 -1],[1 -0.2 0.99]);H=tf(num,den,'Ts',0.1)Transfer function:z^2 + 0.56-----------------------------z^3 - 1.2 z^2 + 1.19 z - 0.992. 请将下面的零极点模型输入到matlab 环境。

请求出上述模型的零极点,并绘制其位置。

)1)(6)(5()1)(1(8)(22+++-+++=s s s s j s j s s G )2.8()6.2)(2.3()(1511-++=----z z z z z H ,T=0.05s>>z=[-1-j -1+j];p=[0 0 -5 -6 -j j];G=zpk(z,p,8)Zero/pole/gain:8 (s^2 + 2s + 2)--------------------------s^2 (s+5) (s+6) (s^2 + 1)>>pzmap(G)>> z=[0 0 0 0 0 -1/3.2 -1/2.6];p=[1/8.2];H=zpk(z,p,1,'Ts',0.05)Zero/pole/gain:z^5 (z+0.3125) (z+0.3846)-------------------------(z-0.122)Sampling time: 0.05>>pzmap (H )num=[0,7.1570,-6.4875 ];den=[1,-2.2326,1.7641,-0.4966];sysd=tf(num,den,0.05,'variable','z^-1')Transfer function:7.157 z^-1 - 6.487 z^-2-----------------------------------------1 - 2.233 z^-1 + 1.764 z^-2 - 0.4966 z^-3Sampling time: 0.05二、 线性系统分析1. 请分析下面传递函数模型的稳定性。

控制系统Matlab计算与仿真

控制系统Matlab计算与仿真
说明:也可简单地通过命令sys=sys1×sys2实现 。
14
二、控制系统Matlab仿真基础
1.控制系统在Matlab中的描述
(②3)方环框节图并模联型化化简简 多个环节相并联的连接形式也是控制系统最基本的组
成结构形式之一。
G1(s) +
R(s)
C(s)
Matlab中用函数命令parallel()来G2实(s)现并联+ 化简。其调用格式为:
26
二、 控制系统Matlab仿真基础
3.系统频频域域分分析析法是控制系统研究中应用频率特性来分析系统 性能:稳定性、快速性和稳态精度的方法。此法不必直接求 解系统的微分方程,而是间接地运用系统开环频率特性曲线 分析闭环系统的响应。
Matlab中提供了相应绘制频率特性曲线的命令函数。 (1) nyquist曲线图 调用格式为: Nyquist(sys) 得到连续系统的极坐标图。 Dnyquist(num,den,Ts) Dnyquist(a,b,c,d,Ts) 得到关于离散系统的极坐标图。
Zero/pole/gain:
2 (s+3) -----------------s (s+1) (s+2)
11
二、控制系统Matlab仿真基础
例3 已知某控制系统的传递函数为
G(s)s2
1

3s2
求Matlab描述的传递函数模型及零极点增益模型。
解:num=[0 0 1];
den=[1 3 2];
1993年推出了其windows平台下的微机版,现在比较 新的版本是r2012a版
3
一、Matlab简介
2. Matlab语言特点
Matlab以复数矩阵为最基本的运算单元,既可以对它整 体地进行处理,也可以对它的某个或某些元素进行单独 地处理。在Matlab中,数据的存储/输入/输出都是以矩 阵为基础的,矩阵和其它变量不需要预先定义。

matlab控制系统仿真设计

matlab控制系统仿真设计

matlab控制系统仿真设计Matlab控制系统仿真设计控制系统是现代工业领域中的关键技术之一,用于实现对系统行为的预测和调节。

在控制系统设计中,仿真是一个重要的工具,可以帮助工程师和研究人员理解和评估系统的性能。

在本文中,我们将以Matlab的控制系统仿真设计为主题,介绍控制系统仿真的基本概念、方法和工具。

一、控制系统仿真基础1.1 什么是控制系统仿真?控制系统仿真是指通过计算机模拟系统的动态行为来评估和验证控制策略的一种方法。

仿真可以帮助工程师在构建实际系统之前,通过计算机模型对系统的运行过程进行预测和分析。

1.2 为什么要进行控制系统仿真?控制系统仿真可以帮助工程师在实际系统建造之前对系统进行评估和优化。

它可以提供系统的动态响应、稳定性、鲁棒性等信息,帮助工程师优化控制策略和设计参数。

此外,仿真还可以帮助工程师调试和验证控制算法,减少实际系统建造和测试的成本和风险。

1.3 Matlab在控制系统仿真中的作用Matlab是一款功能强大的科学计算软件,也是控制系统仿真的重要工具之一。

Matlab提供了丰富的控制系统设计和分析工具箱,使得控制系统仿真变得更加简单和高效。

二、Matlab控制系统仿真设计的步骤2.1 确定系统模型在进行控制系统仿真设计之前,首先需要确定系统的数学模型。

系统模型可以通过物理原理、实验数据或系统辨识方法得到。

在Matlab中,可以使用符号计算工具箱或数值计算工具箱来建立系统的数学模型。

2.2 设计控制器根据系统模型和性能要求,设计合适的控制器。

常用的控制器设计方法包括PID控制、根轨迹设计、频率响应设计等。

在Matlab中,可以使用Control System Toolbox来设计控制器,并进行性能分析和优化。

2.3 仿真系统响应利用Matlab的仿真工具,对系统进行动态仿真,观察系统的响应。

仿真可以根据预先设定的输入信号和初始条件,计算系统的状态和输出变量随时间的变化。

如何使用Matlab进行控制系统仿真

如何使用Matlab进行控制系统仿真

如何使用Matlab进行控制系统仿真概述控制系统在工程领域中扮演着重要角色,它用于控制和管理各种工程过程和设备。

而控制系统仿真则是设计、开发和测试控制系统的关键环节之一。

Matlab作为一种功能强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师进行控制系统仿真。

本文将简要介绍如何使用Matlab进行控制系统仿真,以及一些实用的技巧和建议。

1. Matlab的基础知识在开始控制系统仿真之前,有一些Matlab的基础知识是必要的。

首先,了解Matlab的基本语法和命令,熟悉Matlab的工作环境和编辑器。

其次,学会使用Matlab的集成开发环境(IDE)进行编程和数学建模。

熟悉Matlab的常用函数和工具箱,并了解如何在Matlab中导入和导出数据。

2. 定义系统模型在进行控制系统仿真之前,需要定义系统的数学模型。

根据具体情况选择合适的建模方法,如传递函数、状态空间或差分方程等。

在Matlab中,可以使用tf、ss 或zpk等函数来创建系统模型,并指定系统的参数和输入信号。

此外,Matlab还提供了Simulink这一强大的图形化建模环境,方便用户以图形化界面设计系统模型。

3. 设计控制器控制系统仿真的关键是设计合适的控制器,以实现所需的控制目标。

Matlab提供了各种控制器设计方法和工具,如PID控制器、根轨迹法、频域方法等。

用户可以使用Matlab的Control System Toolbox来设计和分析控制器,并在仿真中进行验证。

此外,Matlab还支持自适应控制和模糊控制等高级控制方法,可根据具体需求选择合适的方法。

4. 进行仿真实验在完成系统模型和控制器设计后,可以开始进行控制系统仿真实验。

首先,确定仿真实验的输入信号,如阶跃信号、正弦信号或随机信号等。

然后,使用Matlab中的sim函数将输入信号应用到系统模型中,并观察系统的输出响应。

通过调整控制器参数或设计不同的控制器,分析系统的性能和稳定性,并优化控制器的设计。

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

一、 控制系统的模型与转换1. 请将下面的传递函数模型输入到matlab 环境。

]52)1)[(2(24)(32233++++++=s s s s s s s G )99.02.0)(1(568.0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s');G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5)); GTransfer function:s^3 + 4 s + 2 ------------------------------------------------------ s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3>> num=[1 0 0.56];den=conv([1 -1],[1 -0.2 0.99]); H=tf(num,den,'Ts',0.1)Transfer function: z^2 + 0.56 ----------------------------- z^3 - 1.2 z^2 + 1.19 z - 0.992. 请将下面的零极点模型输入到matlab 环境。

请求出上述模型的零极点,并绘制其位置。

)1)(6)(5()1)(1(8)(22+++-+++=s s s s j s j s s G )2.8()6.2)(2.3()(1511-++=----z z z z z H ,T=0.05s>>z=[-1-j -1+j]; p=[0 0 -5 -6 -j j]; G=zpk(z,p,8)Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1)>>pzmap(G)>> z=[0 0 0 0 0 -1/3.2 -1/2.6]; p=[1/8.2];H=zpk(z,p,1,'Ts',0.05)Zero/pole/gain:z^5 (z+0.3125) (z+0.3846) ------------------------- (z-0.122)Sampling time: 0.05>>pzmap (H )二、 线性系统分析1. 请分析下面传递函数模型的稳定性。

221)(23+++=s s s s G 13)50600300(13)(22+++++=s s s s s s G>> num=[1];den=[1 2 1 2]; G=tf(num,den); eig(G)' ans =-2.0000 0.0000 - 1.0000i 0.0000 + 1.0000i可见,系统有两个特征根在虚轴上,一个特征根在虚轴左侧,所以系统是临界稳定的。

>> num=[3 1];den=[300 600 50 3 1];G=tf(num,den); eig(G)' ans =-1.9152 -0.14140.0283 - 0.1073i 0.0283 + 0.1073i可见,有两个特征根在虚轴右侧,所以系统是不稳定的。

2. 请判定下面离散系统的稳定性。

)05.025.02.0(23)(23+--+-=z z z z z H)34039.804.10215.20368.791.1576.1112.2)(1234512-++--++=-------z z z z z z z z H>> num=[-3 2];den=[1 -0.2 -0.25 0.05]; H=tf(num,den,'Ts',0.1); [eig(H) abs(eig(H))] ans =-0.5000 0.5000 0.5000 0.50000.2000 0.2000可以看出,由于各个特征根的模均小于1,所以可以判定闭环系统是稳定的。

>> z=tf('z',0.1);H=(2.12*z^-2+11.76*z^-1+15.91)/…;(z^-5-7.368*z^-4-20.15*z^-3+102.4*z^-2+80.39*z-1-340);[eig(H) abs(eig(H))] ans =0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4.1724 4.1724 0.3755 + 0.1814i 0.4170 0.3755 - 0.1814i 0.4170 -0.5292 0.5292 -0.2716 0.27160.1193 0.1193可以看出,由于4.1724这个特征根的模大于1,所以可以判定闭环系统是不稳定的。

3. 设描述系统的传递函数为4032010958411812467284224494536546364032018576022208812266436380598251418)(2345678234567+++++++++++++++=s s s s s s s s s s s s s s s s G ,假定系统具有零初始状态,请求出单位阶跃响应曲线和单位脉冲响应曲线。

>> num=[18 514 5982 36380 122664 22088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320]; G=tf(num,den)Transfer function:18 s^7 + 514 s^6 + 5982 s^5 + 36380 s^4 + 122664 s^3 + 22088 s^2 + 185760 s + 40320 -----------------------------------------------------------------------------------------s^8 + 36 s^7 + 546 s^6 + 4536 s^5 + 22449 s^4 + 67284 s^3 + 118124 s^2 + 109584 s + 40320>> step(G ,10) >> impulse(G ,10)单位阶跃响应:单位脉冲响应:三、线性系统Simulink仿真应用1. 请分析下面传递函数模型阶跃响应。

221)(23+++=s s s s G利用Simulink 建模,建立系统仿真模型如下:单击启动仿真按钮,双击示波器得到系统的阶跃响应如下:2. 请分析下面离散系统的脉冲响应。

13)50600300(143)(2223++++++=s s s s s s s G利用Simulink 建模,建立系统仿真模型如下:单击启动仿真按钮,双击示波器得到系统的脉冲响应如下:3. 对离散采样系统进行分析,并求出其阶跃响应。

G(s)零阶保持器u(t)y(t)-+其中:2373)(23++++=s s s s s G利用Simulink 建模,建立系统仿真模型如下:单击启动仿真按钮,双击示波器得到系统的阶跃响应如下:4. 设计控制器,使得下列系统稳定。

)2.1)(2)(3()3.2)(1()(+-+++=s s s s s s G利用Simulink 建模,未连入控制器时,仿真模型和响应如下:利用Simulink 建模,设计控制器:从响应输出图形可以看出,连入控制器后系统稳定,性能明显提高。

四、 基于MATLAB 的PID 控制器设计设计题目:1. 应用Ziegler — Nichols 算法设计PID 控制器,实现系统的闭环稳定,并比较对各个系统的控制效果。

3)1s (1G (s)+=未连入PID 控制器时的系统仿真及其性能指标如下:可见,未调节时的系统性能有待提高,需设计PID控制器连入。

输入:>> num=1;den=conv( [1,1],conv( [1,1],[1,1] ));Step(num,den);K=dcgain (num,den)得出:K =1根据图形,得出:L=1.86 T=4.4利用自定义的Ziegler_std函数求出Kp、Ti、Td输入:>> K=1;L=1.86;T=4.4;[num,den,Kp,Ti,Td]=Ziegler_std (3,[K,L,T])得出:num =2.6400 2.8387 1.5262den =10Kp =2.8387Ti =3.7200Td =0.9300根据得出的Kp 、Ti 、Td 值,设计PID 控制器,并利用利用Simulink 仿真建模。

仿真模型及其响应如下:可见,加入PID 控制器调节后,系统性能明显改善。

5)1s (1G (s)+=未连入PID 控制器时的系统仿真及其性能指标如下:输入:>> num=1;den=conv([1,1],conv([1,1],…;conv( [1,1],conv( [1,1],[1,1] ))));Step(num,den);K=dcgain (num,den)得出:K = 1根据图形,得出:L=3.4 T=6.8利用自定义的Ziegler_std函数求出Kp、Ti、Td输入:>> K=1;L=3.4;T=6.8;[num,den,Kp,Ti,Td]=Ziegler_std (3,[K,L,T])得出:num =4.0800 2.4000 0.7059den =1 0Kp =2.4000Ti =6.8000Td =1.7000根据得出的Kp、Ti、Td值,设计PID控制器,并利用利用Simulink仿真建模。

仿真模型及其响应如下:可见,加入PID控制器调节后,系统性能明显改善。

3)1 s(1-1.5s G(s)++=利用Simulink建模,未连入控制器时,仿真模型和响应如下:可见,未调节时的系统性能有待提高,需设计PID控制器连入。

输入:>>num=[-1.5 1];den=conv( [1,1],conv( [1,1],[1,1] ));Step(num,den);K=dcgain (num,den)得出:K =1根据图形,得出:L=1.8 T=5.7利用自定义的Ziegler_std函数求出Kp、Ti、Td输入:>> K=1;L=1.8T=5.7;[num,den,Kp,Ti,Td]=Ziegler_std (3,[K,L,T])得出:num =3.4200 3.8000 2.1111den =10Kp =3.8000Ti =3.6000Td =0.9000根据得出的Kp、Ti、Td值,设计PID控制器,并利用利用Simulink仿真建模。

相关文档
最新文档