(完整版)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函数将输入信号应用到系统模型中,并观察系统的输出响应。

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

基于Matlab的计算机控制技术仿真实验

基于Matlab的计算机控制技术仿真实验

实验一 基于Matlab 的控制系统模型一、 实验目的1. 熟悉Matlab 的使用环境,学习Matlab 软件的使用方法和编程方法2. 学习使用Matlab 进行各类数学变换运算的方法3. 学习使用Matlab 建立控制系统模型的方法二、 实验器材x86系列兼容型计算机,Matlab 软件三、 实验原理1. 香农采样定理对一个具有有限频谱的连续信号f(t)进行连续采样,当采样频率满足max 2ωω≥S 时,采样信号f*(t)能无失真的复现原连续信号。

作信号t e t f 105)(-=和kT 10*5)(-=e t f 的曲线,比较采样前后的差异。

幅度曲线: T=0.05 t=0:T:0.5f=5*exp(-10*t) subplot(2,1,1) plot(t,f) gridsubplot(2,1,2) stem(t,f) grid请改变采样周期T ,观察不同的采样周期下的采样效果。

幅频曲线: w=-50:1:50F=5./sqrt(100+w.^2) plot(w,F) grid若|)0(|1.0|)(|max F j F =ω,选择合理的采样周期T 并验加以证 w=-400:20:400 ws=200 Ts=2*pi/wsF0=5/Ts*(1./sqrt(100+(w).^2)) F1=5/Ts*(1./sqrt(100+(w-ws).^2)) F2=5/Ts*(1./sqrt(100+(w+ws).^2)) plot(w,F0,w,F1,w,F2) grid请改变采样频率ws ,观察何时出现频谱混叠?2. 拉式变换和Z 变换使用Matlab 求函数的拉氏变换和Z 变换 拉式变换: syms a w t f1=exp(-a*t) laplace(f1) f2=tlaplace(f2) f3=t* exp(-a*t) laplace(f3) f4=sin(w*t)Z 变换: syms a k T f1=exp(-a*k*T) ztrans(f1) f2=k*T ztrans(f2)f3=k*T*exp(-a*k*T) ztrans(f3) f4=sin(a*k*T)laplace(f4)f5=exp(-a*t)*cos(w*t) laplace(f5)反拉式变换 syms s a f1=1/silaplace(f1) f2=1/(s+a) ilaplace(f2) f3=1/s^2 ilaplace(f3)f4=w/(s^2+w^2) ilaplace(f4)f5=1/(s*(s+2)^2*(s+3)) ilaplace(f5)ztrans(f4) f5=a^k ztrans(f5)反Z 变换 syms z a T f1=z/(z-1) iztrans(f1)f2=z/(z-exp(-a*T)) iztrans(f2) f3=T*z/(z-1)^2 iztrans(f3) f4=z/(z-a) iztrans(f4)f5=z/((z+2)^2*(z+3)) iztrans(f5)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 s s ss s s G ,请转换为离散系统脉冲传递函数并仿真,改变参数,观察不同的系统的仿真结果。

自动控制原理MATLAB仿真实验一(控制系统的时域分析)

自动控制原理MATLAB仿真实验一(控制系统的时域分析)

实验一 MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、实验内容(一) 稳定性1. 系统传函为()27243645232345234+++++++++=s s s s s s s s s s G ,试判断其稳定性num1=[0 3 2 5 4 6];den1=[1 3 4 2 7 2];sys1=tf(num1,den1);figure(1);hold on[gm,pm,wcp,wcg]=margin(sys1);margin(sys1);title('对数频率特性图');xlabel('频率rad/sec');ylabel('Gain dB');2. 用Matlab 求出253722)(2342++++++=s s s s s s s G 的极点。

a=[0 0 1 2 2];b=[1 7 3 5 2];[z,p,k]=tf2zpk(a,b) ;(二)阶跃响应1. 二阶系统()102102++=s s s G1)键入程序,观察并记录单位阶跃响应曲线num1=[10];den1=[1 2 10];step(num1,den1);grid on ;2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录 wn=sqrt(10);%自然振荡频率zunibi=2/wn;%阻尼比syms s ;S=solve(s^2+2*s+10);%求闭环根3)修改参数,分别实现1=ζ和2=ζ的响应曲线,并记录 n0=10;d0=[1 2 10];step(n0,d0);%原响应曲线hold on ;n1=10;d1=[1 6.32 10];step(n1,d1);n2=10;d2=[1 12.64 10]; step(n2,d2);4)修改参数,分别写出程序实现0121w w n =和022w w n =的响应曲线,并记录 n0=10;d0=[1 2 10];step(n0,d0);%原响应曲线hold on ;n1=2.5;d1=[1 1 2.5];step(n1,d1);n2=40;d2=[1 4 40];step(n2,d2);2. 作出以下系统的阶跃响应,并分析结果(1)()10210221+++=s s s s G(2)()102105.0222++++=s s s s s G (3)()1025.0222+++=s s s s s G (4)()10222++=s s ss Gn0=[2 10];d0=[1 2 10];step(n0,d0);hold on ;n1=[1 0.5 10];d1=[1 2 10];step(n1,d1);hold on ;n2=[1 0.5 0];d2=[1 2 10];step(n2,d2);hold on ;n3=[1 0];d3=[1 2 10];step(n3,d3);3. 25425)()(2++=s s s R s C 求该系统单位阶跃响应曲线,并在所得图形上加网格线和标题 num0=[25];den0=[1 4 25];step(num0,den0);grid on ;xlabel('X');ylabel('Y ');title('单位阶跃曲线');(三)系统动态特性分析用Matlab 求二阶系统12012120)(2++=s s s G 和01.0002.001.0)(2++=s s s G 的峰值时间p t ,上升时间r t ,调整时间s t ,超调量%σ。

控制系统的MATLAB计算及仿真

控制系统的MATLAB计算及仿真

控制系统的MATLAB计算及仿真控制系统是一种用来实现对物理系统或工程系统进行控制的方法和工具。

MATLAB是一种强大的计算机软件包,能够方便地进行控制系统的计算和仿真。

本文将介绍MATLAB在控制系统中的应用,并以一个简单的例子来说明如何用MATLAB进行控制系统的计算和仿真。

首先,我们需要打开MATLAB软件并创建一个新的脚本文件。

在脚本文件中,我们可以使用MATLAB提供的函数来定义控制系统的传递函数和状态空间模型。

例如,我们可以使用tf函数来定义一个传递函数模型。

传递函数是描述系统输入与输出之间关系的一种数学模型。

以下是一个例子:```MATLABs = tf('s');G=1/(s^2+2*s+1);```这个传递函数模型表示一个具有二阶惯性的系统。

我们可以使用step函数来绘制系统的阶跃响应曲线:```MATLABstep(G);```通过运行脚本文件,我们可以得到系统的阶跃响应曲线。

此外,MATLAB还提供了许多其他的函数和命令来计算和仿真控制系统。

另外,我们还可以使用stateSpace函数来定义一个状态空间模型。

状态空间模型是控制系统中另一种常用的数学模型。

以下是一个例子:```MATLABA=[01;-1-1];B=[0;1];C=[10];D=0;sys = ss(A, B, C, D);```这个状态空间模型描述了一个二阶系统的状态方程和输出方程。

我们可以使用step函数来绘制系统的阶跃响应曲线:```MATLABstep(sys);```通过运行脚本文件,我们可以得到系统的阶跃响应曲线。

除了step函数外,MATLAB还提供了许多其他的函数和命令来计算和仿真状态空间模型。

在控制系统中,还常常需要对系统进行参数调节和性能优化。

MATLAB提供了一系列的控制系统工具箱,用于进行控制系统的分析和设计。

例如,Control System Toolbox提供了用于线性系统分析和设计的工具。

控制系统的MATLAB仿真课件(99页)

控制系统的MATLAB仿真课件(99页)
b= u1
x1 1 x2 0 x3 0 x4 0 c=
x1 x2 x3 x4 y1 6 12 6 10 d=
u1 y1 0 Continuous-time model.
19
第7章
控制系统的MATLAB仿真
由以上数据可写出系统的状态空间模型为:
?
?? 2 ? 3 ? 1 ? 1?
?1?
? ??X?(t)?
series()函数命令还可以将多个环节按两两串联的形式多 次递归调用加以连接,进行等效化简。
sys= series(sysl,sys2命) 令可以用命令 sys=sys1*sys2* …*sysn取代,不仅省掉“series(”)字符,且 可以实现多个环节的串联等效传递函数的求取。
23
第7章
控制系统的MATLAB仿真
形式之一。控制系统的环节串联及其化简就是模块方框图模 型的串联及其化简。可以用MATLAB 的函数命令series(将) 串 联模块进行等效变换。
使用series(函) 数命令不必做多项式的乘除运算即可实现 两个环节传递函数的串联连接。如果令sys1= tf(num1,den1) , sys2= tf(num2,den2) ,其命令格式为: sys= series(sysl,sys2)
zp2tf
将系统零极点增益模型转换为传递函数模型
15
第7章
控制系统的MATLAB仿真
【例7.2】 已知某系统的传递函数为: G (s)? 12s3 ? 24s2 ? 12s ? 20 2s4 ? 4s3 ? 6s2 ? 2s ? 2
试用MATLAB 语言求出该系统的传递函数模型、状态空 间模型和零极点增益模型。
22
第7章
控制系统的MATLAB仿真

2.5 应用MATLAB控制系统仿真-计算机-

2.5 应用MATLAB控制系统仿真-计算机-
例2.2所示的位置随动系统,在给定各元件参数并忽略La和令ML = 0的情况下,其结构图如图2-74所示:
图2-74 位置随动系统的结构图第一步求闭环传递函数GB (s)=q c(s) /q r(s),求解过程及结果如图2-75所示。第二步利用step()函数计算参考输入q r (t)为单阶跃信号时输出q c (t)的响应。
图2-63 分析弹簧—重物—阻尼器的MATLAB指 弹簧—重物—阻尼器的自由运动曲线MATLAB可分析以传递函数形式描述的系统。分子多项式和分母多项式都必须在MATLAB指令中指定。
在MATLAB中多项式由行向量组成,这些行向量包含了降次
>>y0=0.15;wn=sqrt(2);>>zeta1=3/(2*sqrt(2)); zeta2=1/(2*sqrt(2));
>>t=[0:0.1:10];>>unforced
(a)MATLAB指令窗口
* 计算系统在给定初始条件下的自由运动 t1=acos(zeta1)*ones(1,length(t)); t2=acos(zeta2)*ones(1,length(t));c1=(y0/sqrt(1-zeta1^2)); c2=(y0/sqrt(1-zeta2^2)); y1=c1*exp(-zeta1*wn*t)sin(wn*sqrt(1-zeta1^2)*t+t1); y2=c2*exp(-zeta2*wn*t)sin(wn*sqrt(1-zeta2^2)*t+t2);
图2-76 位置随动系统的阶跃响应曲线图2-76给出了位置随动系统的阶跃响应曲线。用plot()函数用画出y(t)曲线,grid函数用于给图形加上网格。
小结
本章讨论了如何建立控制系统以及元部件的数学模型问题。本章所涉及的数学模型共有三种,即微分方程、传递函数、结构图或信号流图。利用传递函数研究线性系统,可根据传递函数的极点和零点分布判定系统对不同输入信号的响应特性。利用结构图或信号流图可以了解系统中的每个变量,还可以通过梅逊(Mason)公式,方便地求得系统输入输出间的传递函数。利用MATLAB软件可求解系统在不同参数和输入情况下的响应。

MATLAB控制系统的仿真

MATLAB控制系统的仿真

零—极点增益模型
创建函数形式: z=[-Z(1),-Z(2),…,-Z(n)]; p=[-P(1),…,-P(n)]; k=K; sys= zpk (z,p,k)
使用zpk时要注意: 先要将传递函数转换 成首一标准型(即 ppt中的形式,s的系 数为1)
16
Matlab与系统仿真
例4.1.2
>> z=-1; >> p=[-1 -2]; >> k=1; >> zpk(z,p,k) Zero/pole/gain: (s+1) ----------(s+1) (s+2)
21
是否可以是 已经建立的 系统模型? 输入个数


Matlab与系统仿真来自例4.1.4>> >> >> >> >> a=[-4,-6,-8;1,0,0;0,1,0]; b=[1;0;0]; c=[0,1,2]; d=[0]; sys=ss(a,b,c,d)
>> [num,den]=ss2tf(sys)
s=feedback(sb2,s4,-1)
Matlab与系统仿真 34
Zero/pole/gain:
2500 (s+5) -----------------------------------------(s+99.67) (s+2.013) (s^2 + 3.315s + 62.3)
Matlab与系统仿真
29
(二)模型的简单组合
• (1) 串联
Gs(s) G1(s)G2(s)
G1(s)
G2(s)
【nums,dens】=series(num1,den1,num2,den2)

自控实验-自动控制系统的MATLAB仿真分析

自控实验-自动控制系统的MATLAB仿真分析

实验名称:自动控制系统的MATLAB仿真分析一、实验目的1.熟悉MATLAB在自动控制系统仿真中的应用;2.对自动控制系统进行仿真研究;3.掌握用MATLAB绘制自动控制系统根轨迹及对数频率特性的方法,掌握根据系统根轨迹及对数频率特性分析自动控制系统性能的方法。

二、实验设备1.计算机2.MATLAB软件三、实验内容1.用MATLAB提供的Simulink仿真软件工具对实验一中的各个典型环节及二阶系统进行阶跃响应仿真研究,将仿真获得的阶跃响应结果与模拟电路获得的阶跃响应结果进行比较。

(1)比例环节传递函数为200 ()51 G s=建立仿真模型,得到的输出结果如图所示:(2)积分环节传递函数为9.8 ()G ss=建立仿真模型,得到的输出结果如图所示:(3)一阶惯性环节传递函数为3.9 ()0.21G ss=+建立仿真模型,得到的输出结果如图所示:(4)比例积分环节传递函数为0.39781 ()0.102sG ss+=建立仿真模型,得到的输出结果如图所示:(5)比例微分环节传递函数为10 ()220s G ss=++建立仿真模型,得到的输出结果如图所示:(6)比例微分积分环节传递函数为51050 ()220sG ss s+=+++建立仿真模型,得到的输出结果如图所示:(7) 二阶系统的阶跃响应 ①0.325K ξ==传递函数为2()250()10250C s R s s s =++ 建立的仿真模型与阶跃响应仿真波形如下图所示:②0.510K ξ==传递函数为2()100()10100C s R s s s =++ 建立的仿真模型与阶跃响应仿真波形如下图所示:③0.75K ξ==传递函数为2()50()1050C s R s s s =++ 建立的仿真模型与阶跃响应仿真波形如下图所示:2. 单位负反馈系统的开环传递函数为:(1)()()(21)k s G s H s s s +=+仿真绘制K 从0~∞变化时的根轨迹,分析系统的稳定性。

控制系统的仿真计算MATLAB

控制系统的仿真计算MATLAB

M A TLAB软件控制系统的仿真计算——M AT LAB中科院等离子体所 李亚红 〔摘要〕 介绍一种欧美流行的科研编程软件M A TLB,并主要讨论M A TLAB软件用于控制系统的仿真计算。

促进M A T2 LAB在国内的推广应用。

〔关键词〕 M A TLAB 控制系统 仿真一、前言M A TLAB是当前欧美国家很流行的一种科学计算软件,随着计算机技术的发展,生物医学工程、图象信号处理、语言信号处理、雷达工程、信号分析、时间序列分析,以及控制论、系统论,均要涉及到大量的数学问题计算,尤其是矩阵运算,往往会使科研人员的工作进程放慢下来,而且纷繁的编制程序,一方面会延误工作;另一方面也消耗大量的人力和精力。

为了克服这种困难,美国的m athw o rk公司推出了M A TLAB软件,这种软件集所有矩阵问题及其他计算问题于一身,它易于掌握并可很方便的根据用户自己的情况进行扩展,形成新的标准子程序,且运算效率极高。

M A TLAB是一种进行科学和工程计算交互式程序。

“M A TLAB”是m atrix labo ra2 to ry的缩写。

它的基本数据单元是不需要指定维数的矩阵,因此解决同样的数值计算问题,使用M A TLAB要比使用BA S I C、FO R2 TRAN、C等语言编程要提高效率几倍。

经过高度优化后,M A TLAB第二版用C语言编写,兼容于W I NDOW S,包括图形、可编程的宏汇编、IEEE算法。

限于篇幅,本文主要讨论M A TLAB用于控制系统的仿真计算。

二、M A TLAB的仿真工具S I M U L I N K M A TLAB的S I M U L I N K子库是一个建模、分析各种物理和数学系统的软件。

由于在W I NDOW S界面下工作,所以对控制系统的方块图编辑、绘制很方便。

M A TLAB命令窗口启动S I M U L I N K 程序后,出现的界面如下。

分别为信号源、输出、离散系统库、线性系统库、非线性系统库、系统连接及扩展系统。

控制系统的MATLAB计算及仿真共39页文档

控制系统的MATLAB计算及仿真共39页文档
控制系统的MATLAB计算及仿真
1、纪律是管理关系的形式。——阿法 纳西耶 夫 2、改革如果不讲纪律,就难以成功。
3、道德行为训练,不是通过语言影响 ,而是 让儿童 练习良 好道德 行为, 克服懒 惰、轻 率、不 守纪律 、颓废 等不良 行为。 4、学校没有纪律便如磨房里没有水。 ——夸 美纽斯
5、教导儿童服从真理、服从集体,养 成儿童 自觉的 纪律性 ,这是 儿童道 德教育 最重要 的部分 。—— 陈鹤琴
ቤተ መጻሕፍቲ ባይዱ 66、节制使快乐增加并使享受加强。 ——德 谟克利 特 67、今天应做的事没有做,明天再早也 是耽误 了。——裴斯 泰洛齐 68、决定一个人的一生,以及整个命运 的,只 是一瞬 之间。 ——歌 德 69、懒人无法享受休息之乐。——拉布 克 70、浪费时间是一桩大罪过。——卢梭
  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仿真建模。

相关文档
最新文档