实验十四_MATLAB的线性控制系统分析与设计说明
线性系统理论Matlab实践仿真报告

线性系统理论Matlab实验报告1、本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数是系统不稳定,这样的设计是无意义的,故而不妨设采用状态反馈后的两个期望特征根为-7,-9,这样满足题目中所需的要求。
(1)要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控;判断能控程序设计如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];Qc=ctrb(A,B)Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200Rc=rank(Qc)Rc =2Qc =0.0500 1.0000 -0.0400 -0.80000.0010 0 -0.0010 -0.0200得出结果能控型判别矩阵的秩为2,故而该系统是完全可控的,故可以对其进行状态反馈设计。
(2)求取状态反馈器中的K,设的期望特征根为-7,-9;其设计程序如下:>> A=[-0.8 0.02;-0.02 0];B=[0.05 1;0.001 0];P=[-7 -9];k=place(A,B,P)k =1.0e+003 *-0.0200 9.00000.0072 -0.4500程序中所求出的k即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
2、(a)要求求该系统的能控型矩阵,并验证该系统是不能控的。
设计程序:>> A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];>> B=[0;1;0;0;0];>> C=[0 0 0 1 0];>> Qc=ctrb(A,B)Qc =0 1.0000 -0.5000 0.1500 -0.02501.0000 -0.5000 0.1500 -0.0250 -0.00250 0 0.5000 -0.2500 0.07500 0 0 5.0000 -2.50000 1.0000 0 -0.1000 0.0500>> Rc=rank(Qc)Rc =4从程序运行的结果可得,系统能控型判别矩阵的秩为4,而系统为5阶系统,故而就验证了该系统为不可控的。
MATLAB控制工具箱的应用及线性系统的运动分析

实 验 报 告课程 线性系统理论基础 实验日期 年 月 日 专业班级 姓名 学号 同组人实验名称MATLAB 控制工具箱的应用及线性系统的运动分析 评分 批阅教师签字一、实验目的1、学习掌握MATLAB 控制工具箱中的基本命令的操作方法;2、掌握线性系统的运动分析方法。
二、实验内容(1)自选控制对象模型,应用以下命令,并写出结果。
1) step, damp, pzmap, rlocus, rlocfind, bode, margin, nyquist ; 2) tf2ss, ss2tf, tf2zp, zp2ss ; 3) ss2ss, jordan, canon, eig 。
(2)掌握线性系统的运动分析方法1)已知⎥⎦⎤⎢⎣⎡--=3210A ,求Ate 。
(用三种方法求解) 2) 利用MATLAB 求解书上例2.8题,并画出状态响应和输出响应曲线,求解时域性能指标。
(加图标题、坐标轴标注及图标)3) 利用MATLAB 求解书上例2.12题([]10c =),并画出状态响应和输出响应曲线。
(加图标题、坐标轴标注及图标) 4) P36 1.4(2) 1.5(3);P56 2.3(3)三、实验环境 1、计算机120台; 2、MATLAB6.X 软件1套。
四、实验原理(或程序框图)及步骤1、学习掌握MATLAB 控制工具箱中基本命令的操作设系统的模型如式(1-1)所示:p m n R y R u R x Du Cx y Bu Ax x∈∈∈⎩⎨⎧+=+=(1-1)其中A 为n ×n 维系数矩阵;B 为n ×m 维输入矩阵;C 为p ×n 维输出矩阵;D 为p ×m 维传递矩阵,一般情况下为0。
系统的传递函数阵和状态空间表达式之间的关系如式(1-2)所示:D B A sI C s den s num s G +-==-1)()()(()((1-2)式(1-2)中,)(s num 表示传递函数阵的分子阵,其维数是p ×m ;)(s den 表示传递函数阵的分母多项式,按s 降幂排列的后,各项系数用向量表示。
matlab控制系统课程设计

matlab控制系统课程设计一、课程目标知识目标:1. 学生能掌握MATLAB软件的基本操作,并运用其进行控制系统的建模与仿真。
2. 学生能理解控制系统的基本原理,掌握控制系统的数学描述方法。
3. 学生能运用MATLAB软件分析控制系统的稳定性、瞬态响应和稳态性能。
技能目标:1. 学生能运用MATLAB软件构建控制系统的模型,并进行时域和频域分析。
2. 学生能通过MATLAB编程实现控制算法,如PID控制、状态反馈控制等。
3. 学生能对控制系统的性能进行优化,并提出改进措施。
情感态度价值观目标:1. 学生通过课程学习,培养对自动化技术的兴趣和热情,提高创新意识和实践能力。
2. 学生在团队协作中,学会沟通与交流,培养合作精神和集体荣誉感。
3. 学生能认识到控制系统在现代工程技术中的重要作用,增强社会责任感和使命感。
课程性质:本课程为实践性较强的课程,注重理论知识与实际应用相结合。
学生特点:学生具备一定的数学基础和控制理论基础知识,对MATLAB软件有一定了解。
教学要求:教师需采用案例教学法,引导学生运用MATLAB软件进行控制系统设计,注重培养学生的实际操作能力和解决问题的能力。
同时,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 控制系统概述:介绍控制系统的基本概念、分类及发展历程,使学生了解控制系统的基本框架。
- 教材章节:第一章 控制系统概述2. 控制系统的数学模型:讲解控制系统的数学描述方法,包括微分方程、传递函数、状态空间方程等。
- 教材章节:第二章 控制系统的数学模型3. MATLAB软件操作基础:介绍MATLAB软件的基本操作,包括数据类型、矩阵运算、函数编写等。
- 教材章节:第三章 MATLAB软件操作基础4. 控制系统建模与仿真:利用MATLAB软件进行控制系统的建模与仿真,分析系统的稳定性、瞬态响应和稳态性能。
- 教材章节:第四章 控制系统建模与仿真5. 控制算法及其MATLAB实现:讲解常见控制算法,如PID控制、状态反馈控制等,并通过MATLAB编程实现。
(完整版)基于MATLAB的智能控制系统的介绍与设计实例最新毕业论文

武汉科技大学智能控制系统学院:信息科学与工程学院专业:控制理论与控制工程学号:姓名:***基于MATLAB的智能控制系统的介绍与设计实例摘要现代控制系统,规模越来越大,系统越来越复杂,用传统的控制理论方法己不能满控制的要求。
智能控制是在经典控制理论和现代控制理论的基础上发展起来的,是控制理论、人工智能和计算机科学相结合的产物。
MATLAB是现今流行的一种高性能数值计算和图形显示的科学和工程计算软件。
本文首先介绍了智能控制的一些基本理论知识,在这些理论知识的基础之上通过列举倒立摆控制的具体实例,结合matlab对智能控制技术进行了深入的研究。
第一章引言自动控制就是在没有人直接参与的条件下,利用控制器使被控对象(如机器、设备和生产过程)的某些物理量能自动地按照预定的规律变化。
它是介于许多学科之间的综合应用学科,物理学、数学、力学、电子学、生物学等是该学科的重要基础。
自动控制系统的实例最早出现于美国,用于工厂的生产过程控制。
美国数学家维纳在20世纪40年代创立了“控制论”。
伴随着计算机出现,自动控制系统的研究和使用获得了很快的发展。
在控制技术发展的过程中,待求解的控制问题变得越来越复杂,控制品质要求越来越高。
这就要求必须分析和设计相应越来越复杂的控制系统。
智能控制系统(ICS)是复杂性急剧增加了的控制系统。
它是由控制问题的复杂性急剧增加而带来的结果,其采用了当今其他学科的一些先进研究成果,其根本目的在于求解复杂的控制问题。
近年来,ICS引起了人们广泛的兴趣,它体现了众多学科前沿研究的高度交叉和综合。
作为一个复杂的智能计算机控制系统,在其建立投入使用前,必要首先进行仿真实验和分析。
计算机仿真(Compeer Simulation)又称计算机模拟(Computer Analogy)或计算机实验。
所谓计算机仿真就是建立系统模型的仿真模型进而在计算机上对该仿真模型进行模拟实验(仿真实验)研究的过程。
计算机仿真方法即以计算机仿真为手段,通过仿真模型模拟实际系统的运动来认识其规律的一种研究方法。
Matlab技术控制系统设计

Matlab技术控制系统设计Matlab技术在控制系统设计中的应用引言控制系统是现代工程领域的重要组成部分,广泛应用于机械、电子、化工等各个行业。
而Matlab作为一种高级技术计算软件,以其强大的数学运算和数据处理功能,成为控制系统设计中的重要工具。
本文将通过介绍Matlab技术在控制系统设计中的应用,探讨其在不同环节的作用,并举例说明其在实际工程中的应用。
一、建模与仿真控制系统设计的第一步是建立准确的数学模型,并进行仿真验证。
而Matlab提供了丰富的工具箱,如Simulink、Control System Toolbox等,可以有效地进行系统建模和仿真。
在建模方面,Matlab提供了多种建模方法,例如状态空间法、传递函数法等。
我们可以根据实际问题选择适合的建模方法,并使用Matlab进行快速建模。
同时,Matlab还提供了多种模型分析工具,如频域分析、时域响应等,可以帮助我们对系统进行深入分析。
在仿真方面,利用Matlab的Simulink工具,我们可以直观地搭建整个控制系统的仿真模型。
通过设置输入信号和参数,我们可以模拟系统的运行过程,并得到准确的输出结果。
利用Matlab的仿真功能,可以有效地验证系统设计的可行性,提高设计的准确性和效率。
二、控制算法设计控制系统设计的核心是控制算法的设计。
Matlab提供了丰富的控制算法函数和工具箱,如PID控制器、根轨迹设计工具等,可以帮助工程师轻松实现各种经典和先进的控制算法。
以PID控制算法为例,Matlab提供了PID控制器设计工具,可以根据系统的数学模型自动计算出合适的控制增益,并通过仿真工具进行系统性能评估。
此外,Matlab还提供了自适应控制、模糊控制、最优控制等高级控制算法的实现工具,满足不同应用场景的需求。
同时,Matlab还支持使用优化算法进行控制器参数优化。
通过利用Matlab的优化工具箱,我们可以将控制系统的性能指标作为目标函数,结合系统模型和约束条件,自动搜索最佳的控制器参数。
初步认识MATLAB和控制系统仿真实验报告

sys3=series(sys1,sys2);
sys=feedback(sys3,[1])
理论分析:
此系统是由 构成的单位正反馈,其闭环传递函数
运行结果:
Transfer function:
s^2 + 2 s + 1
numc=[1 1]; denc=[1 2]; sys2=tf(numc,denc);
sys3=series(sys1,sys2);
sys=feedback(sys3,[1])
理论分析:
此系统是由 构成的单位正反馈,其闭环传递函数
运行结果:
Transfer function:
s + 1
--------------------------
s^2 + 3 s + 2
----------------------
s^3 + 5 s^2 + 10 s + 9
理论分析与实际运行结果相符。
(4)多回路系统的简化
其中,
源程序:
% Chapter 2: Figure 2.60
% Multi-loop block reduction.
%
ng1=[1]; dg1=[1 10]; sysg1=tf(ng1,dg1);
numh=[1 1];denh=[1 2]; sysh=tf(numh,denh);
sys =parallel(sysg,sysh);
sys
理论分析:
并联,则
运行结果:
Transfer function:
s^3 + 4 s^2 + 9 s + 6
MATLAB-ch020(线性控制系统分析与设计)

MATLAB-ch020(线性控制系统分析与设计)第20讲 线性控制系统分析与设计内容提要: 重点及难点:自从MATLAB 出现以来,它强大的矩阵运算和图形可视化的功能以及丰富的工具箱,使其成为控制界最流行和最广泛使用的系统分析和设计工具。
MATLAB 中具有丰富的可用于控制系统分析和设计的函数;MATLAB 的控制系统工具箱(Control System Toolbox)可以提供对线性系统分析、设计和建模的各种算法;MATLAB 的系统辨识工具箱(System Identification Toolbox)可以对控制对象的未知模型进行辨识和建模。
本章主要使用控制系统工具箱对于线性时不变系统(LTI )进行分析和设计,可以处理连续的和离散的系统,使用传递函数或状态空间法来描述系统。
分析方法有时域、频域和根轨迹法等。
§20.1 线性系统的描述在分析和设计控制系统之前,需要对系统的数学模型进行描述,下面对单变量连续的反馈控制系统进行描述。
一、状态空间描述法1、用状态空间描述系统方程状态空间描述法是使用状态方程模型来描述控制系统,状态方程为一阶微分方程,用数学形式描述为:⎩⎨⎧+=+=Du Cx y Bu Ax x(20.1.1) 其中:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nn n n n n a a a a a a a a a A 212222111211,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n b b b B 21,C =[c 1 c 2 … c n ],D =d 。
例如,二阶系统)()()(2)(2222t u t y dt t dy dtt y d n n n ωωξω=++,可以用状态方程描述为:⎪⎩⎪⎨⎧==dt t dy x t y x )()(21 (20.1.2) 则:⎪⎪⎩⎪⎪⎨⎧+--==)()(2)()(2221t u dt t dy t y x dtt dy x n n n ωξωω 写成矩阵形式:)(0210221221t u x x x xn n n ⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡ωξωω (20.1.3) 另外,系统的状态方程也可以表示为:⎩⎨⎧+=+=DuCx Y Bu Ax xE (20.1.4)2、ss 函数和dss 函数MATLAB 中状态方程模型的建立使用ss 和dss 命令。
用matlab实现自动控制系统的分析与设计

使用MATLAB对控制系统进行计算机仿真旳重要措施是: 以控制系统旳传递函数为基础, 使用MATLAB旳Simulink工具箱对其进行计算机仿真研究.1. 时域分析中性能指.为了保证电力生产设备旳安全经济运行, 在设计电力自动控制系统时, 必须给出明确旳系统性能指标, 即控制系统旳稳定性、精确性和迅速性指标。
一般用这三项技术指标来综合评价一种系统旳控制水平。
对于一种稳定旳控制系统, 定量衡量性能旳好坏有如下几种性能指标: (1)峰值时间tp;(2)调整时间ts;(3)上升时间tr;(4)超调量Mp%.怎样确定控制系统旳性能指标是控制系统旳分析问题;怎样使自动控制系统旳性能指标满足设计规定是控制系统旳设计与改造问题。
在以往进行设计时, 都需要通过性能指标旳定义徒手进行大量、复杂旳计算, 如今运用MATLAB可以迅速、精确旳直接根据响应曲线得出性能指标。
例如: 求如下二阶系统旳性能指标.首先用MATLAB在命令窗口编写如下几条简朴命令.num=[3].%传递函数旳分子多项式系数矩.den=[.1..3].%传递函数旳分母多项式系数矩.G=tf(num,den).%建立传递函.gri.on.%图形上出现表.step(G.%绘制单位阶跃响应曲.通过以上命令得到单位阶跃响应曲线如图1, 同步在曲线上根据性能指标旳定义单击右键, 则分别可以得到此系统旳性能指标: 峰值时间tp=1.22s;调整时间ts=4.84s;上升时间tr=0.878s;超调量Mp%=22.1%.图.二阶系统阶跃响应及性能指.2. 具有延迟环节旳时域分.在许多实际旳电力控制系统中, 有不少旳过程特性(对象特性)具有较大旳延迟, 例如多容水箱。
对于具有延迟过程旳电力控制无法保证系统旳控制质量, 因此进行设计时必须考虑实际系统存在迟延旳问题, 不能忽视。
因此设计旳首要问题是在设计系统中建立迟延环节旳数学模型.在MATLAB环境下建立具有延迟环节旳数学模型有两种措施.例: 试仿真下述具有延迟环节多容水箱旳数学模型旳单位阶跃响应曲线.措施一: 在MATLAB命令窗口中用函数pade(n, T.num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1).[num2,den2]=pade(1,10);g2=tf(num2,den2).g12=g1*g2.step(g12.图.延迟系统阶跃响应曲.措施二: 用Simulink模型窗口中旳Transpor.Delay(对输入信号进行给定旳延迟)模.首先在Simulink模型窗口中绘制动态构造图, 如图3所示.图.迟延系统旳SIMULINK实.然后双击示波器模块, 从得到旳曲线可以看出, 与措施一旳成果是相似.3. 稳定性判断旳几种分析措.稳定性是控制系统能否正常工作旳首要条件, 因此在进行控制系统旳设计时首先鉴别系统旳稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十四: MATLAB 的线性控制系统分析与设计一.实验目的1.熟练掌握线性系统的各种模型描述。
2.熟练掌握模型之间的转换。
二.实验容与步骤在控制系统分析与设计中,常用状态方程模型来描述一个控制系统,状态方程通常为一阶微分方程例如,二阶系统 可用状态方程描述如下 其中:MATLAB 的控制系统工具箱(Control System Toolbox)可以提供对线性系统分析、设计和建模的各种算法。
1.1状态空间描述法状态空间描述法是使用状态方程模型来描述控制系统,MATLAB 中状态方程模型的建立使用ss 和dss 命令。
语法:G=ss(a,b,c,d) %由a 、b 、c 、d 参数获得状态方程模型G=dss(a,b,c,d,e) %由a 、b 、c 、d 、e 参数获得状态方程模型【例1】写出二阶系统u(t)ωy(t)ωdtdy(t)2ζdt y(t)d 2n 2n n 22=+ω+,当ζ=0.707,n ω=1时的状态方程。
zeta=0.707;wn=1;A=[0 1;-wn^2 -2*zeta*wn];B=[0;wn^2];C=[1 0];D=0;G=ss(A,B,C,D) %建立状态方程模型⎩⎨⎧+=+=Du Cx y Bu Ax x &u (t)2n ωy(t)2n ωd t d y(t)n 2ζ2d t y(t)2d =+ω+u(t)ω0x x 2ζω10x x 2n 21n 2n 21⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡ω--=⎥⎦⎤⎢⎣⎡&&dtt dy x t y x )()(21==a =x1 x2x1 0 1x2 -1 -1.414b =u1x1 0x2 1c =x1 x2y1 1 0d =u1y1 0Continuous-time model.1.2传递函数描述法MATLAB中使用tf命令来建立传递函数。
语法:G=tf(num,den) %由传递函数分子分母得出说明:num为分子向量,num=[b1,b2,…,b m,b m+1];den为分母向量,den=[a1,a2,…,a n-1,a n]。
【例1续】将二阶系统描述为传递函数的形式。
num=1;den=[1 1.414 1];G=tf(num,den) %得出传递函数Transfer function:1-----------------s^2 + 1.414 s + 11.3零极点描述法MATLAB 中使用zpk 命令可以来实现由零极点得到传递函数模型。
语法:G=zpk(z,p,k) %由零点、极点和增益获得说明:z 为零点列向量;p 为极点列向量;k 为增益。
【例1续】得出二阶系统的零极点,并得出传递函数。
num=1;den=[1 1.414 1];z=roots(num)p=roots(den)zpk(z,p,1)z =Empty matrix: 0-by-1p =-0.7070 + 0.7072i-0.7070 - 0.7072iZero/pole/gain:1-------------------(s^2 + 1.414s + 1)程序分析:roots 函数可以得出多项式的根,零极点形式是以实数形式表示的。
部分分式法是将传递函数表示成部分分式或留数形式:k(s)p s r p s r p s r G (s)nn 2211+-++-+-=Λ 【例1续】将传递函数转换成部分分式法,得出各系数num=1;den=[1 1.414 1];[r,p,k]=residue(num,den)r =0 - 0.7070i0 + 0.7070ip =-0.7070 + 0.7072i-0.7070 - 0.7072ik =[]1.4离散系统的数学描述1.状态空间描述法状态空间描述离散系统也可使用ss和dss命令。
语法:G=ss(a,b,c,d,Ts) %由a、b、c、d参数获得状态方程模型G=dss(a,b,c,d,e,Ts) %由a、b、c、d、e参数获得状态方程模型说明:Ts为采样周期,为标量,当采样周期未指明可以用-1表示。
【例2】用状态空间法建立离散系统。
a=[-1.5 -0.5;1 0];b=[1;0];c=[0 0.5];d=0;G=ss(a,b,c,d,0.2) %采样周期为0.2sa =x1 x2x1 -1.5 -0.5x2 1 0b =u1x1 1x2 0c =x1 x2y1 0 0.5d =u1y1 0Sampling time: 0.2Discrete-time model.2. 脉冲传递函数描述法脉冲传递函数也可以用tf 命令实现。
语法:G=tf(num,den,Ts) %由分子分母得出脉冲传递函数说明:Ts 为采样周期,为标量,当采样周期未指明可以用-1表示,自变量用'z'表示。
【例2续】创建离散系统脉冲传递函数21120.5z 1.5z 10.5z 0.51.5z z 0.5zG(z)---+-=+-=。
num1=[0.5 0];den=[1 -1.5 0.5];G1=tf(num1,den,-1)Transfer function:0.5 z-----------------z^2 - 1.5 z + 0.5Sampling time: unspecifiedMATLAB 中还可以用filt 命令产生脉冲传递函数。
语法:G=filt(num,den,Ts) %由分子分母得出脉冲传递函数说明:Ts 为采样周期,当采样周期未指明Ts 可以省略,也可以用-1表示,自变量用'z-1'表示。
【例2续】使用filt 命令产生脉冲传递函数。
num2=[0 0.5];G2=filt(num2,den)Transfer function:0.5 z^-1-----------------------1 - 1.5 z^-1 + 0.5 z^-2Sampling time: unspecified程序说明:用filt 命令生成的脉冲传递函数的自变量不是z 而是z -1,因此分子应改为“[0 0.5]”。
3. 零极点增益描述法离散系统的零极点增益用zpk 命令实现。
语法:G=zpk(z,p,k,Ts) %由零极点得出脉冲传递函数【例2续】使用zpk 命令产生零极点增益传递函数。
G3=zpk([0],[0.5 1],0.5,-1)Zero/pole/gain:0.5 z-------------(z-0.5) (z-1)Sampling time: unspecified2线性系统模型之间的转换在MATLAB5.3版及以前的控制系统工具箱中有各种不同模型转换的函数,如下表 6.1所示为线性系统模型转换的函数。
1. 系统模型的转换(1) 状态空间模型的获得由命令ss和dss实现将传递函数和零极点增益转换为状态空间模型。
语法:G=ss(传递函数) %由传递函数转换获得G=ss(零极点模型) %由零极点模型转换获得【例3】将系统传递函数转换为状态空间描述。
num=[1 2 5];den=[3 5 2 1];G1=tf(num,den)G=ss(G1)Transfer function:s^2 + 2 s + 5-----------------------3 s^3 + 5 s^2 + 2 s + 1a =x1 x2 x3x1 -1.667 -0.3333 -0.1667x2 2 0 0x3 0 1 0b =u1x1 1x2 0x3 0c =x1 x2 x3y1 0.3333 0.3333 0.8333d =u1y1 0Continuous-time model.(2) 传递函数的获得由tf命令实现将系统的状态空间法和零极点增益模型转换为传递函数。
语法:G=tf(状态方程模型) %由状态空间转换G=tf(零极点模型) %由零极点模型转换【例3续】由状态空间描述转换为传递函数。
num=[1 2 5];den=[3 5 2 1];G1=tf(num,den);G=ss(G1);G2=tf(G)Transfer function:0.3333 s^2 + 0.6667 s + 1.667-----------------------------------s^3 + 1.667 s^2 + 0.6667 s + 0.3333(3) 零极点模型的获得由zpk命令实现将状态空间法、传递函数转换为零极点模型。
语法:G=zpk(状态方程模型) %由状态方程模型转换G=zpk(传递函数) %由传递函数转换【例3续】由状态方程模型转换零极点模型。
num=[1 2 5];den=[3 5 2 1];G1=tf(num,den);G=ss(G1) ;G3=zpk(G)Zero/pole/gain:0.33333 (s^2 + 2s + 5)-----------------------------------(s+1.356) (s^2 + 0.3103s + 0.2458)2.模型参数的获取语法:[a,b,c,d]=ssdata(G) %获取状态空间参数[a,b,c,d,e]=dssdata(G) %获取状态空间参数[num,den]=tfdata(G) %获取传递函数参数[z,p,k]=zpkdata(G) %获取零极点参数【例3续】获取各模型的参数num=[1 2 5];den=[3 5 2 1];G1=tf(num,den);G=ss(G1) ;[a,b,c,d]=ssdata(G) %获取状态方程参数a =-1.6667 -0.3333 -0.16672.0000 0 00 1.0000 0b =1c =0.3333 0.3333 0.8333d =2.2.使用各种分析方法分析系统 已知系统的传递函数为2222)1()(nn s n s s T s G ωξωϖ+++= (1) 当1,0,1,4.0,2.0===n T ωξ时在同一窗口脉冲响应曲线>> wn=1;T=0;>> for zeta=[0.2 0.4 1]G=tf(wn^2,[1 2*zeta*wn,wn^2])impulse(G)hold onendTransfer function:1---------------s^2 + 0.4 s + 1Transfer function:1---------------s^2 + 0.8 s + 1Transfer function:1-------------s^2 + 2 s + 1(2)当时,在同一窗口绘制阶跃响应曲线。
>> wn=1;zeta=0.4;figure(1)for T=[0.5 1 2]>> G1=tf(wn^2,[1 2*zeta*wn,wn^2]);G2=tf([T 1],1);G=G1*G2step(G)hold onend从上图可以看出增加零点后系统响应的变化,T越大,零点越小,则阶跃响应的超调量加大,上升时间减小,暂态响应速度加快。