matlab控制系统的数学建模
- 格式:docx
- 大小:29.68 KB
- 文档页数:4
利用Matlab进行系统建模与控制设计一、引言系统建模与控制设计是现代工程领域中的重要环节。
利用系统建模和控制设计技术,可以有效地提高工程系统的性能、稳定性和可靠性。
在过去的几十年里,Matlab成为了工程师们进行系统建模与控制设计的首选软件之一。
本文将介绍如何利用Matlab进行系统建模与控制设计,并通过实例来展示其应用。
二、系统建模系统建模是指将实际工程系统抽象为数学模型的过程。
在Matlab中,可以使用不同的方法进行系统建模,如基于物理原理的建模、数据驱动的建模以及系统辨识等。
其中,基于物理原理的建模是最常用的方法之一。
以电动机系统为例,建立数学模型时常常采用动态方程法。
通过分析电动机的结构和电路,可以得到电动机系统的动态方程。
然后,在Matlab中使用符号计算工具箱,将动态方程转化为Matlab中的函数表达式。
这样,就得到了电动机系统的数学模型。
在系统建模的过程中,还需要确定模型的参数。
这些参数可以通过实验测量、理论计算或者拟合等手段得到。
Matlab提供了优化工具箱,可以通过最优化算法来对参数进行拟合。
将测量数据输入Matlab中的优化函数,即可得到最优的参数值。
三、控制设计系统建模完成后,接下来就是控制器的设计。
控制器的作用是根据系统的状态,通过调节输入信号,使得系统的输出达到我们期望的状态。
常用的控制器类型有比例控制器、积分控制器、微分控制器以及PID控制器等。
在Matlab中,可以使用控制系统工具箱来进行控制器的设计。
首先,需要确定控制器的类型和结构。
然后,可以利用Matlab中的频域方法、时域方法或者代数方法进行控制器的设计。
在设计过程中,可以使用Matlab的图形界面进行交互式设计,也可以使用命令行进行编程。
四、系统仿真与分析控制器设计完成后,需要对系统进行仿真和分析,以验证控制策略的有效性。
在Matlab中,可以利用Simulink工具进行系统的仿真。
以磁悬浮列车控制系统为例,通过在Simulink中建立系统模型,可以对列车的运动进行仿真。
在MATLAB中,控制系统的建模和分析是非常重要的。
控制系统的数学模型是描述系统行为的数学表示,可以用来进行模拟、分析和设计控制系统。
在控制系统中,常见的数学模型包括积分-微分模型、状态空间模型和传递函数模型。
接下来,我将按照深度和广度的要求,对这三种数学模型进行全面评估,并据此撰写一篇有价值的文章。
1. 积分-微分模型在控制系统中,积分-微分模型是一种常见的数学表示方法。
它由两部分组成:积分部分和微分部分。
积分部分描述了系统的累积效应,微分部分描述了系统的瞬时响应。
这种模型常用于描述惯性较大、响应缓慢的系统,例如机械系统和电气系统。
在MATLAB中,可以使用积分-微分模型来进行系统建模和仿真,以分析系统的稳定性和性能指标。
2. 状态空间模型状态空间模型是另一种常见的控制系统数学表示方法。
它由状态方程和输出方程组成,用来描述系统的状态变量和外部输入之间的关系。
状态空间模型适用于描述多变量、多输入多输出系统,例如飞行器、汽车控制系统等。
在MATLAB中,可以使用状态空间模型来进行系统分析和设计,包括系统的稳定性、可控性和可观性分析,以及控制器设计和系统性能评价。
3. 传递函数模型传递函数模型是控制系统中最常用的数学表示方法之一。
它用传递函数来描述系统的输入和输出之间的关系,其中传递函数是输入信号和输出信号的比值。
传递函数模型适用于描述单输入单输出系统,例如电路系统、机械系统等。
在MATLAB中,可以使用传递函数模型进行系统分析和设计,包括频域分析、极点和零点分析,以及控制器设计和系统稳定性评估。
总结回顾:在本文中,我按照深度和广度的要求对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进行控制系统设计的基本步骤控制系统设计是一项重要的工程任务,它涉及到系统建模、控制器设计和系统分析等方面。
而Matlab作为一款强大的数学工具软件,提供了丰富的功能和工具,可以帮助工程师实现控制系统设计的各个环节。
本文将介绍使用Matlab进行控制系统设计的基本步骤。
一、系统建模控制系统设计的第一个关键步骤是系统建模。
系统建模是将实际的物理系统或过程转化为数学方程的过程。
Matlab提供了多种建模方法,可以根据实际需求选择适合的方法。
1.1 时域建模时域建模是一种基于微分方程和代数方程的建模方法,适合描述连续系统的动态特性。
可以使用Matlab的Simulink工具箱进行时域建模,通过拖拽模块和连接线的方式,构建系统模型。
1.2 频域建模频域建模是一种基于频率响应的建模方法,适合描述系统的幅频、相频特性。
可以使用Matlab的控制系统工具箱进行频域建模,通过输入系统的传递函数或状态空间矩阵,得到系统的频域特性。
1.3 时频域建模时频域建模是一种综合了时域和频域特性的建模方法,适合描述非线性和时变系统。
可以使用Matlab的Wavelet工具箱进行时频域建模,通过连续小波变换或离散小波变换,得到系统的时频域特性。
二、控制器设计在系统建模完成后,接下来是设计控制器。
控制器设计的目标是使得系统具有所需的稳定性、响应速度和鲁棒性等性能。
2.1 经典控制器设计Matlab提供了经典控制器的设计函数,如比例控制器(P控制器)、比例积分控制器(PI控制器)和比例积分微分控制器(PID控制器)等。
可以根据系统的特性和性能要求,选择合适的控制器类型和调节参数。
2.2 线性二次调节器设计线性二次调节(LQR)是一种优化控制方法,可以同时优化系统的稳态误差和控制能量消耗。
在Matlab中,可以使用lqr函数进行LQR控制器的设计,通过调整权重矩阵来获得不同的控制性能。
2.3 非线性控制器设计对于非线性系统,经典控制器往往无法满足要求。
如何在MATLAB中进行控制系统的建模与仿真在现代工程领域中,控制系统的建模与仿真是必不可少的一项技术。
MATLAB 作为一种强大的科学计算软件,并提供了丰富的工具箱,可以帮助工程师们快速而准确地进行控制系统的建模和仿真。
本文将介绍如何在MATLAB中进行控制系统的建模与仿真的一般步骤和注意事项。
一、引言控制系统是一种以实现某种特定目标为目的对系统进行调节和控制的技术,在现代工程中得到了广泛的应用。
控制系统的建模与仿真是控制系统设计的重要环节,通过建立系统的数学模型,可以对系统的性能进行有效地评估和分析,从而为系统的设计和优化提供指导。
二、MATLAB中的控制系统建模工具箱MATLAB提供了专门的控制系统工具箱,包括线性和非线性系统建模、控制器设计与分析等功能。
其中,Simulink是MATLAB中最重要的控制系统建模工具之一,它可以方便地用来搭建控制系统的框架,并进行仿真与分析。
三、建立控制系统数学模型在进行控制系统的建模之前,需要先确定系统的类型和工作原理。
常见的控制系统包括开环控制系统和闭环控制系统。
开环控制系统中,控制器的输出不受被控对象的反馈作用影响;闭环控制系统中,控制器的输出受到被控对象的反馈作用影响。
在MATLAB中,可以通过使用Transfer Function对象或State Space对象来表示控制系统的数学模型。
Transfer Function对象用于线性时不变系统的建模,可以通过给定系统的分子多项式和分母多项式来定义一个传递函数;State Space对象则适用于非线性时变系统的建模,可以通过状态空间方程来定义系统。
四、利用Simulink搭建控制系统框架Simulink是一种基于图形化编程的建模仿真工具,在MATLAB中可以方便地使用它来搭建控制系统的框架。
通过简单地拖拽、连接不同的模块,可以构建出一个完整的控制系统模型。
首先,打开Simulink,选择相应的控制系统模板或从头开始设计自己的模型。
控制系统数学模型的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。
第4章控制系统的数学模型MATLAB实现控制系统的数学模型是用数学语言描述控制系统的物理特性和行为,它是理论研究和系统设计的基础。
MATLAB是一种高级的数学计算环境和编程语言,可以用于控制系统的数学模型的建立、仿真和分析。
在MATLAB中,可以使用各种函数和工具箱来实现控制系统的数学模型。
下面将介绍几种常用的方法和步骤。
1. 建立系统的框图表示:首先,需要根据控制系统的物理特性和连接方式来建立系统的框图表示。
可以使用MATLAB提供的Plot函数来绘制框图。
2. 建立系统的传递函数:根据系统的框图表示,可以通过连接各个组成部分的传递函数来描述整个系统的传递特性。
MATLAB提供了tf函数可以用来建立传递函数。
例如,创建一个传递函数G(s) = 1/(s+1)可以使用以下代码:G = tf(1, [1 1])3. 系统的状态空间表示:除了传递函数表示法,还可以使用状态空间表示法来描述系统的动态特性。
MATLAB提供了ss函数来建立状态空间模型。
例如,创建一个系统的状态空间模型可以使用以下代码:A=[01;-1-1]B=[0;1]C=[10]D=0sys = ss(A, B, C, D)4. 系统的频域响应分析:可以使用MATLAB提供的freqresp函数来计算系统的频域响应。
例如,计算系统的频率响应可以使用以下代码:w = logspace(-2, 2, 100)resp = freqresp(G, w)5. 系统的时域响应仿真:可以使用MATLAB提供的step和impulse 函数来模拟系统的时域响应。
例如,计算系统的单位阶跃响应可以使用以下代码:t=0:0.1:10[y, t] = step(G, t)6. 闭环系统的稳定性分析:可以使用MATLAB提供的margin函数来计算系统的稳定裕度、相角裕度等指标。
例如,计算系统开环传递函数G 的稳定裕度可以使用以下代码:[Gm, Pm, Wgm, Wpm] = margin(G)以上只是控制系统的数学模型在MATLAB中实现的一些基本步骤和方法,实际应用中还可以根据具体的需求使用更多的函数和工具进行进一步的分析和设计。
基于MATLABSimulink的控制系统建模与仿真实践控制系统是现代工程领域中一个至关重要的研究方向,它涉及到对系统的建模、分析和设计,以实现对系统行为的控制和调节。
MATLAB Simulink作为一款强大的工程仿真软件,在控制系统领域有着广泛的应用。
本文将介绍基于MATLAB Simulink的控制系统建模与仿真实践,包括建立系统模型、进行仿真分析以及设计控制算法等内容。
1. 控制系统建模在进行控制系统设计之前,首先需要建立系统的数学模型。
MATLAB Simulink提供了丰富的建模工具,可以方便快捷地搭建系统模型。
在建模过程中,可以利用各种传感器、执行器、控制器等组件来描述系统的结构和功能。
通过连接这些组件,并设置其参数和初始条件,可以构建出一个完整的系统模型。
2. 系统仿真分析建立好系统模型后,接下来就是进行仿真分析。
MATLABSimulink提供了强大的仿真功能,可以对系统进行各种不同条件下的仿真实验。
通过改变输入信号、调节参数值等操作,可以观察系统在不同工况下的响应情况,从而深入理解系统的动态特性和性能指标。
3. 控制算法设计在对系统进行仿真分析的基础上,可以针对系统的性能要求设计相应的控制算法。
MATLAB Simulink支持各种常见的控制算法设计方法,如PID控制、状态空间法、频域设计等。
通过在Simulink中搭建控制算法,并与系统模型进行联合仿真,可以验证算法的有效性和稳定性。
4. 系统优化与调试除了基本的控制算法设计外,MATLAB Simulink还提供了优化工具和调试功能,帮助工程师进一步改进系统性能。
通过优化算法对系统参数进行调整,可以使系统响应更加迅速、稳定;而通过调试功能可以检测和排除系统中可能存在的问题,确保系统正常运行。
5. 实例演示为了更好地说明基于MATLAB Simulink的控制系统建模与仿真实践,接下来将通过一个简单的倒立摆控制系统实例进行演示。
《自动控制原理》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是一种广泛使用的工程软件,具有强大的模型开发和控制设计功能。
基于模型的控制系统设计是使用数学模型来描述系统动态特性,并使用这些模型来设计和优化控制器的一种方法。
在这篇文章中,我们将介绍MATLAB中基于模型的控制系统设计的一般方法和步骤。
一、系统建模:在进行基于模型的控制系统设计之前,首先需要建立系统的数学模型。
系统的数学模型通常是由微分方程或差分方程组成的,用于描述系统的输入、输出和动态行为。
MATLAB提供了各种建模工具和函数,可以通过实验数据、理论推导或系统识别等方法来构建系统模型。
常用的建模工具包括MATLAB的Control System Toolbox和System Identification Toolbox。
二、控制器设计:有了系统的数学模型之后,下一步是设计控制器。
在基于模型的控制系统设计中,通常使用经典控制理论和现代控制理论来设计控制器。
常用的控制器设计方法包括PID控制器、根轨迹法、频域设计、状态空间设计等。
MATLAB提供了各种控制器设计工具和函数,如MATLAB的Control System Toolbox和Robust Control Toolbox等。
这些工具可以自动生成控制器,也可以通过手动调节参数来优化控制器设计。
三、系统仿真:在进行控制器设计之前,可以使用MATLAB对系统进行仿真,以验证系统的稳定性和性能。
MATLAB提供了Simulink仿真平台,可用于建立系统的仿真模型,并进行连续或离散时间域的仿真。
在仿真中,可以通过改变输入信号、系统参数或控制器参数来研究系统的响应和特性,并通过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):返回系统零极点◆Pzmap(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都是常数矩阵。
⏹ss函数⏹sys=ss(A,B,C,D):有A,B,C,D矩阵直接得到连续系统状态空间模型⏹sys=ss(A,B,C,D,ts):有A,B,C,D矩阵和采样时间ts直接得到离散系统状态空间模型⏹[A,B,C,D]=ssdata(sys):得到连续系统参数⏹[A,B,C,D,ts]=ssdata(sys):得到离散系统参数系统模型之间的转换⏹[A,B,C,D]=tf2ss(num,den):tf模型参数转换为ss模型参数⏹[num,den]=ss2tf(A,B,C,D,iu):ss模型转换为tf模型参数,iu表示对应第i路传递函数⏹[z,p,k]=tf2zp(num,den):tf模型参数转换为zpk模型参数⏹[num,den]=zp2tf(z,p,k):zpk模型转换为tf模型⏹[A,B,C,D]=zp2ss(z,p,k):zpk模型参数转换为ss模型⏹[z,p,k]=ss2zp(A,B,C,D,):ss模型参数转换为zpk模型参数,i表示对应第i路传递函数⏹Conv(a,b):举个例子:1)表示1/[(s^2+s+1)*(s+1)]2)a=[1 1 1];b=[1 1];c=[1]3)d=conv(a,b);4)G=tf(c,d)方框图连接的化简⏹串联◆Sys=series(sys1,sys2):串联两个系统,等效于sys=sys1*sys2◆Sys=series(sys1,sys2,outputs1,inputs2):对于多输入输出系统,表示sys1的输出outputs1与sys2的输入inputs2相连⏹并联◆Sys=parallel(sys1,sys2):并联两个系统等效于sys=sys1+sys2◆Sys=parallel(sys1,sys2,inp1,inp2,out1,out2):对于多输入输出系统,表示sys1的输入inp1与sys2的输入inp2相连,sys1的输出out1与sys2的输出out2相连⏹反馈◆Sys=feedback(sys1,sys2):两系统负反馈连接◆Sys=feedback(sys1,sys2,sign):sign=-1表示负反馈,sign=1表示正反馈◆Sys=feedback(sys1,sys2,feedin,feedout,sign):对于多输入输出系统,部分负反馈连接,sys1的指定输出feedout连接到sys2的输入而sys2的输入连接到sys1的指定输入feedin,以此构成闭环系统控制系统的稳定性分析⏹直接判定的相关函数◆P=eig(g):求矩阵特征根,系统的模型g可以是传递函数,状态方程,零极点模型,可以是连续或离散的◆P=pole(g),p=zero(g):分别用来求系统的极点和零点◆[p,z]=pzmap(sys):求系统的极点和零点◆r=roots(p):求特征方程的根,p是系统闭环特征多项式降幂排列的系数向量。
控制系统的时域分析⏹系统阶跃响应函数(G=tf(num,den))◆Step(num,den)或者step(G):绘制系统响应曲线◆Step(num,den,t)或者step(G,t):绘制系统阶跃响应曲线。
由用户指定时间范围,如t是标量,则指定了终止时间,如t是向量,则指定了步距和起止时间。
◆Y=step(num,den,t)或者y=step(G,t):返回系统阶跃响应曲线y值,不绘制图形。
用户可用plot函数绘制。
◆[y t]=step(num,den,t)或者[y t]=step(G,t):返回系统阶跃响应曲线y值t值,不绘制图形,用户可用plot函数绘制。
◆Kp=dcgain(num,den):静态位置误差系数◆Kv=dcgain([num 0],den):静态速度误差系数◆Ka=dcgain([num 0 0],den):静态加速度误差系数◆S=length(t):计算t的向量个数⏹系统单位脉冲响应——impulse◆其用法与阶跃响应step函数一样。
⏹系统单位斜坡响应◆按照传递函数的形式转化为阶跃响应的形式,然后按照自动控制的方法求解⏹任意输入下的仿真函数——lsim◆Lsim(G,u,t)与[y t]=lsim(G,u,t):求去系统对任意输入u的响应,如返回参数列表使用则不输出响应曲线,不带返回参数列表则直接打印响应曲线。
◆注:G(s)为传递函数。
u(t)为时域下的输入函数单位阶跃响应函数step单位脉冲响应函数impulse零输入响应函数initial任意输入下的仿真函数lsim.控制系统根轨迹分析的相关函数⏹函数用法◆rlocus(G):绘制指定系统的根轨迹◆rlocus(G1,G2,G3…):绘制指定系统的根轨迹,多个系统绘制于一个图上。
◆rlocus(G,K):绘制指定系统的跟汇集。
K为给定的增益向量。
◆[r k]=rlocus(G):返回根轨迹参数。
R为复根位置根轨迹,r有length(k)列,每列对应增益的闭环根◆r=rlocus(G,k):返回指定增益k的根轨迹参数。
R为复根位置矩阵。
r有length(k)列,每列对应增益的闭环根◆[k,poles]=rlocfind(G):交互式的选取根轨迹增益,产生一个十字光标,用此光标在根轨迹上单击一个极点,同事给出该增益所有对应极点值。
◆[k,poles]=rlocfind(G,P):返回p所对应根轨迹增益K及K所对应的全部极点值。
◆Sgrid:在零极点图或者根轨迹图上绘制等阻尼线和等自然震荡频率线。
◆Sgrid(z,wn): 在零极点图或者根轨迹图上绘制等阻尼线和等自然震荡频率线。
用户可指定阻尼数值和自然震荡角频率值。
控制系统的频域分析与校正⏹频域分析相关函数的用法◆伯德图——bode●Bode(G):绘制系统BODE图,系统自动选取频率范围●Bode(G,w):绘制系统bode图,由用户指定选取频率范围●Bode(G1,’r--’,G2,’gx’…):同事绘制多系统bode图,图形属性可选●[mag,phase,w]=bode(G):赶回系统bode图相应的幅值相位和频率向量,可使用magdb=20*log10(mag)讲幅值转换为分贝值●[mag,phase]=bode(G,w):返回系统bode图与指定w相应的幅值,可使用magdb=20*log10(mag)讲幅值转换为分贝值◆拉普斯特图——nyquist●Nyquist(sys):绘制系统nyquist图,系统自动选取频率范围●Nyquist(sys,w):绘制系统nyquist图,有用户指定选取频率范围●Nyquist (G1,’r--’,G2,’gx’…):同事绘制多系统Nyquist图,图形属性可选●[re,im,w]= Nyquist (sys):赶回系统Nyquist图相应的实部,虚部,频率向量●[re,im]= Nyquist (sys,w):返回系统Nyquist图与指定w相应的实部,虚部◆Nichols图——与bode图用法一样基于频域法的控制系统稳定性判定⏹margin(G):绘制系统bode图,带有裕量及相应频率显示⏹[gm,pm,wg,wp]=margin(G):给出系统相应稳定参数,分别为幅值裕度,相角裕度,幅值穿越频率,相角穿越频率。
⏹[gm,pm,wg,wp]=margin(mag,phase,w):给出系统相应稳定参数。
由bode函数得到的幅值相角和频率向量计算,分别为幅值裕度,相角裕度,幅值穿越频率,相角穿越频率。
⏹s=allmargin(G):返回相对稳定参数组成的结构体。
包括幅值裕度,相角裕度,及其响应频率,时滞幅值裕度和频率,是否稳定的标识符。