控制系统仿真_薛定宇第四章 线性控制系统的数学模型
控制系统仿真4讲
2020/1/5
二、零极点增益模型
零极点模型是传递函数模型的另一种表现形式,是分 别对原系统传递函数的分子、分母进行因式分解,以 获得系统的零点和极点的表示形式。
一、连续系统的传递函数模型
G(s)
C(s) R(s)
b1sm a1sn
b2sm1 a2sn1
... bns ... ans
bm1 an 1
对线性定常系统,式中s的系数均为常数,这时系统 在MATLAB中可以方便地由分子和分母系数构成的 两个向量唯一地确定出来,这两个向量分别用num 和den表示。
Closed loop Transfer Function C(s) G(s) R(s) 1 G(s)H (s)
To apply positive feedback, use the syntax
2020/1/5
sys = feedback(G(s),H(s),+1)
MATLAB的传递函数描述
Design of the controller
2020/1/5
Design and test the production
Selection of the hardware to used
Dynamic analysis of the complete system
控制系统 的数学描述与建模
在线性系统理论中,一般常用的数学模 型形式有:
2020/1/5
L[output] L[input] zero initial conditions
控制系统仿真 答案 薛定宇 第二版
第一部分:MATLAB 必备基础知识、控制系统模型与转换、线性控制系统的计算机辅助分析(4学时)1.2.3.答:(a)>> s=tf('s');G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5))Transfer 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(b)>> num=[1 0 0.568];den=[1 -1.2 1.19 -0.99];H=tf(num,den,'Ts',0.1)Transfer function:z^2 + 0.568-----------------------------z^3 - 1.2 z^2 + 1.19 z - 0.99Sampling time: 0.14.设y(t)=x1;A=[0,1,0;0,0,1;-13,-4,-5];B=[0;0;2];C=[1,0,0];D=0;G=SS(A,B,C,D)a =x1 x2 x3x1 0 1 0x2 0 0 1x3 -13 -4 -5b =u1x1 0x2 0x3 2c =x1 x2 x3y1 1 0 0d =u1y1 0Continuous-time model.传递函数模型:对式子两联进行拉氏变换,G(s)=2/(s^3+13*s^2+4*s+5)对分子分母进行分解因式处理5.进行Z变换6.s=tf('s');syms J Kps Ki;G=(s+1)/(J*s^2+2*s+5);Gc=(Kps+Ki)/s;H=1;GG=feedback(G*Gc,H) 7.(a)s=tf('s');G=(211.87*s+317.64)/((s+20)*(s+94.34)*(s+0.1684));Gc=(169.6*s+400)/s/(s+4);H=1/(0. 01*s+1);GG=feedback(G*Gc,H)Transfer function:359.3 s^3 + 3.732e004 s^2 + 1.399e005 s + 127056----------------------------------------------------------------------------------0.01 s^6 + 2.185 s^5 + 142.1 s^4 + 2444 s^3 + 4.389e004 s^2 + 1.399e005 s + 1270568.Ga=feedback(1/s^2,50);G1=feedback((1/(s+1))*(s/(s^2+2)),(4*s+2)/((s+1)^2));G2=feedback(Ga* G1,(s^2+2)/(s^3+14));G=3*G2Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s-----------------------------------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3 + 7732 s^2 + 5602 s + 14009.>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500)Transfer function:s^4 + 4 s^3 + 405 s^2 + 802 s + 400-------------------------------------------------------s^6 + 16 s^5 + 2694 s^4 + 34040 s^3 + 393225 s^2+ 2.695e006 s + 6.25e006>> step(G)s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,0.01)Transfer function:4.716e-005 z^5 - 0.0001396 z^4 + 9.596e-005 z^3 + 8.18e-005 z^2 - 0.0001289 z + 4.355e-005 ------------------------------------------------------------------------------------------z^6 - 5.592 z^5 + 13.26 z^4 - 17.06 z^3 + 12.58 z^2 - 5.032 z + 0.8521>> step(G1)Sampling time: 0.01>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,0.1) Transfer function:0.0003982 z^5 - 0.0003919 z^4 - 0.000336 z^3+ 0.0007842 z^2 - 0.000766 z + 0.0003214-------------------------------------------------------z^6 - 2.644 z^5 + 4.044 z^4 - 3.94 z^3 + 2.549 z^2- 1.056 z + 0.2019Sampling time: 0.1>> step(G1)>> s=tf('s');G=(s+1)^2*(s^2+2*s+400)/(s+5)^2/(s^2+3*s+100)/(s^2+3*s+2500);G1=c2d(G,1) Transfer function:8.625e-005 z^5 - 4.48e-005 z^4 + 6.545e-006 z^3+ 1.211e-005 z^2 - 3.299e-006 z + 1.011e-007-------------------------------------------------------z^6 - 0.0419 z^5 - 0.07092 z^4 - 0.0004549 z^3+ 0.002495 z^2 - 3.347e-005 z + 1.125e-007Sampling time: 1>> step(G1)10.(a)>> s=tf('s');G=1/(s^3+2*s^2+s+2);eig(G)ans =-2.00000.0000 + 1.0000i0.0000 - 1.0000i临界稳定(b)>> s=tf('s');G=1/(6*s^4+3*s^3+2*s^2+s+1);eig(G) ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i不稳定(c)>> s=tf('s');G=1/(s^4+s^3-3*s^2-s+2);eig(G)ans =-2.0000-1.00001.00001.0000不稳定11.(a)>> z=tf('z');G=(-3*z+2)/(z^3-0.2*z^2-0.25*z+0.05);abs(eig(G))ans =0.50000.50000.2000稳定(b)z=tf('z');G=(3*z^2-0.39*z-0.09)/(z^4-1.7*z^3+1.04*z^2+0.268*z+0.024);abs(eig(G)) ans =1.19391.19390.12980.1298不稳定12.求矩阵A的特征根,判断其特征根是否全具有负实部,则稳定13.14.15.16.17.第二部分:Simulink 在系统仿真中的应用、控制系统计算机辅助设计、控制工程中的仿真技术应用(4 学时)3.4.5.6.7.8.9.。
控制系统的数学模型new
控制系统的数学模型一、控制系统的参数模型1多项式模型线性定常系统的数学模型传递函数 G(s) —般可以表示成:G(s) = ◎斗竺二土电 R(s) a n s +a nJL s +..^a 1^a 0其中分子分母多项式中的 a n 与b m 均为常系数。
MATLAB 语言描述:构造分子多项式: num=[b m ,b m-i ,…,b,b o ];或 num=[b m b m-i …b b o ]构造分母多项式: den=[a n ,a n-i ,…,a,a o ];或 den=[a n a n-i …a i a o ]构造并显示传递函数: printsys(num,den);其中num 与den 是习惯用法,也可用其它变量名代替,但在显示时会出现 通用输出显示格式,与输入变量名称无关。
例1:>>num=[1 12 44 48];>>de n=[1 16 86 176 105];>>pri ntsys( nu m,de n)显示:num/den =s A 3 + 12 s A 2 + 44 s + 48sA4 + 16 sA3 + 86 sA2 + 176 s + 105例2 :系统开环传递函数为写出多项式模型。
>>n=con v([5],[1 1]);>>d=co nv([1 0 0],co nv([1 2],[1 6 10]));>>pri ntsys (n,d)显示:num/den =sA5 + 8 sA4 + 22 sA3 + 20 sA2 2、模型的连接函数[num]=cloop()用于计算单位反馈时闭环传递函数多项式模型的参数向量, G(s)二5(s 1) s 2(s 2)(s 2 6s 10) num/den ,这是 右变量为开环参数,左变量返回系统的闭环参数,反馈极性 例3:系统开环传递函数为 5(S °写出单位负反馈时闭环传递函数的多项式模型。
控制系统的数学模型及传递函数【可编辑全文】
可编辑修改精选全文完整版控制系统的数学模型及传递函数2-1 拉普拉斯变换的数学方法拉氏变换是控制工程中的一个基本数学方法,其优点是能将时间函数的导数经拉氏变换后,变成复变量S的乘积,将时间表示的微分方程,变成以S表示的代数方程。
一、拉氏变换与拉氏及变换的定义1、拉氏变换:设有时间函数,其中,则f(t)的拉氏变换记作:称L—拉氏变换符号;s-复变量; F(s)—为f(t)的拉氏变换函数,称为象函数。
f(t)—原函数拉氏变换存在,f(t)必须满足两个条件(狄里赫利条件):1)在任何一有限区间内,f(t)分断连续,只有有限个间断点。
2)当时,,M,a为实常数。
2、拉氏反变换:将象函数F(s)变换成与之相对应的原函数f(t)的过程。
—拉氏反变换符号关于拉氏及变换的计算方法,常用的有:①查拉氏变换表;②部分分式展开法。
二、典型时间函数的拉氏变换在实际中,对系统进行分析所需的输入信号常可化简成一个成几个简单的信号,这些信号可用一些典型时间函数来表示,本节要介绍一些典型函数的拉氏变换。
1.单位阶跃函数2.单位脉冲函数3.单位斜坡函数4.指数函数5.正弦函数sinwt由欧拉公式:所以,6.余弦函数coswt其它的可见表2-1:拉氏变换对照表F(s) f(t)11(t)t三、拉氏变换的性质1、线性性质若有常数k1,k2,函数f1(t),f2(t),且f1(t),f2(t)的拉氏变换为F1(s),F2(s),则有:,此式可由定义证明。
2、位移定理(1)实数域的位移定理若f(t)的拉氏变换为F(s),则对任一正实数a有, 其中,当t<0时,f(t)=0,f(t-a)表f(t)延迟时间a. 证明:,令t-a=τ,则有上式=例:, 求其拉氏变换(2)复数域的位移定理若f(t)的拉氏变换为F(s),对于任一常数a,有证:例:求的拉氏变换3、微分定理设f(t)的拉氏变换为F(s),则其中f(0+)由正向使的f(t)值。
线性控制系统的建模与仿真
线性控制系统的建模与仿真控制系统是现代工程技术中的基石之一,常见的控制系统包括电机控制、飞行器控制、机器人控制等。
线性控制系统是一种较为常见的控制系统,其恒定的输入和输出之间呈线性关系。
本文将探讨线性控制系统的建模与仿真。
一、线性控制系统的基本概念为了更好地理解线性控制系统的建模和仿真,首先需要了解线性控制系统的一些基本概念。
1.系统模型系统模型是指对于一个复杂的系统,通过抽象和简化的方式,将系统刻画成一个具有输入、输出和状态的数学模型,以便对系统进行研究和设计。
2.控制器控制器是指控制系统中负责对输入信号进行处理,从而实现对输出信号的控制的一种设备或程序。
控制器通常采用数学模型的方式来描述。
3.传感器传感器是指在控制系统中负责传感外部信号的一种设备或器件,重要的传感器包括温度传感器、压力传感器、光传感器等。
二、线性控制系统的数学建模线性控制系统的建模是指将线性控制系统抽象成一个数学模型,以便进行控制器的设计和仿真。
线性控制系统的数学建模通常包括以下几个步骤:1.建立系统框图建立系统框图就是将线性控制系统分解成其各个组成部分的框图。
通常,系统框图包括输入信号、输出信号、控制器、传感器和其他外部设备。
2.列方程根据系统框图,可以列出线性控制系统的数学模型,该模型通常是一个或一组线性微分方程。
例如,在电机控制系统中可以使用电机方程,包括速度方程、电动势方程等,来描述电机系统的动态行为。
3.求解模型参数求解模型参数是指确定控制系统中各个元件的参数、控制器的参数等,以便对系统进行仿真和分析。
4.仿真模型将控制系统的数学模型建立成仿真模型,用计算机程序模拟系统的运行过程,进行系统的仿真和分析。
仿真模型可以使用模拟软件、Matlab等工具来实现。
三、线性控制系统的仿真系统的仿真是指用计算机程序模拟线性控制系统的运行行为,以便对系统进行分析和设计。
1.模拟软件模拟软件是一种特殊的仿真工具,例如LabVIEW,该软件可以利用图形化的编程语言,快速建立控制系统的仿真模型,进行仿真和分析。
自动控制系统的建模与仿真
自动控制系统的建模与仿真自动控制系统的建模和仿真是实现控制系统设计、分析、调试和优化的一种重要方法。
本文将从控制系统建模的概念入手,介绍控制系统建模的基本方法,并通过实例介绍控制系统的仿真过程。
一、控制系统建模的基本概念1. 控制系统建模的概念控制系统建模是指将控制系统抽象为数学模型的过程,其目的是方便对控制系统进行设计、分析和优化。
2. 控制系统的分类根据输入输出信号的性质,控制系统可分为模拟控制系统和数字控制系统。
模拟控制系统是指输入输出信号为模拟信号的控制系统,数字控制系统是指输入输出信号为数字信号的控制系统。
3. 控制系统的基本结构控制系统由控制器、执行器和被控对象三部分组成。
控制器负责对被控对象进行信号处理和决策,输出控制信号;执行器接收控制信号,通过转换为相应的动力或能量信号控制被控对象的运动;被控对象是控制系统的实际操作对象,其状态受执行器控制信号影响而改变。
4. 控制系统的数学模型控制系统的数学模型是描述其输入输出关系的数学方程或模型,可将其简化为传递函数的形式。
控制系统的数学模型有两种主要表达方式,一种是状态空间表达式,一种是等效传递函数式。
二、控制系统建模的基本方法1. 确定控制系统类型和目标在建模之前,需要对控制系统的类型和目标进行确定,包括控制系统的输入和输出信号的特征、被控对象的特性等。
2. 建立被控对象的数学模型被控对象的数学模型包括其动态特性和静态特性。
动态特性即描述被控对象内部变化规律的数学模型,静态特性即描述被控对象输入输出关系的数学模型。
3. 建立控制器的数学模型控制器的数学模型要根据被控对象的数学模型和控制系统的控制目标进行设计。
4. 建立控制系统的数学模型将被控对象的数学模型和控制器的数学模型相结合,得到控制系统的数学模型,可推导得到控制系统的传递函数。
5. 对控制系统进行仿真通过仿真软件对控制系统进行仿真,可以实现在不同工作条件下模拟出控制系统的工作状态和性能,以验证控制系统的可行性。
《控制系统计算机辅助设计MATLAB语言与应用第2版》薛定宇_课后习题答案
【17】
(1)z=xy
>>[x,y]=meshgrid(-3:0.01:3,-3:0.01:3);
z=x.*y;
mesh(x,y,z);
>> contour3(x,y,z,50);
(1)z=sin(xy)
>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);
【2】
相应的MATLAB命令:B=A(2:2:end,:)
>>A=magic(8)
A=
642361606757
955541213 515016
174746 202143 4224
4026273736 303133
323435 292838 3925
4123224445191848
491514 5253 11 10 56
【10】
function y=fib(k)
if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endﻭif nargout>1,error('出错:输出变量个数过多!');end
if k<=0,error('出错:输入序列应为正整数!');endﻭifk==1|k==2,y=1;ﻭelsey=fib(k-1)+fib(k-2);endﻭend
858 5954 62 631
>>B=A(2:2:end,:)
B =
955 541213515016
40262737 36303133
41232244451918 48
858 5954 62631
第三章线性控制系统的数学模型综述
2019/3/22
13
采用上面第一种方法很容易输入,方法真 直观,但如果分子或分母多项式给出的不 是完全的展开式,而是若干个因式的乘积, 则事先需要将其变换为完全展开式的形式, 两个多项式的乘积在matlab中可以用conv() 函数得出:p=conv(p1,p2) 其中p1和p2是两个多项式,调用这个函数 就能返回多项式乘积p 如果有3个多项式的乘积,就需要嵌套使用 此函数。
14
2019/3/22
conv的嵌套使用
p=conv(p1,conv(p2,p3))或者 p=conv(conv(p1,p2),p3) 例如上面的例子: num=3*[1 0 3]; den=conv(conv(conv(conv([1 2 1],[1 0 5]),[1 2]),[1 2]),[1 2]); G=tf(num,den)
27
2019/3/22
获得零极点模型之后,可以给出pzmap() 命令在复数平面上表示出该系统的零极点 位置,用×表示极点位置,用o表示零点位 置。
2019/3/22
22
例3-5
2019/3/22
23
带时间延迟的状态方程
数学模型
MATLAB输入语句
其他延迟属性:ioDelay
24
2019/3/22
3.1.3 线性系统的零极点模型Βιβλιοθήκη 零极点模型是因式型传递函数模型
零点 、极点 零极点模型的 MATLAB表示
和增益
2019/3/22
8
传递函数可以表示成两个多项式的比值, 在matlab中,多项式可以用向量表示。 将多项式的系数按s降幂次序排列可以得到 一个数值向量,用这个向量就可以表示多 项式。
matlab控制系统仿真与应用 第四章
》[z,p,k]=ss2zp(A,B,C,D,iu)
》z= -4.5616 p= -1
k=1
-0.4384
-1
2)已知一个单输入三输出系统的传递函数模型为:
》num=[0 0 -2;0 -1 -5;1 2 0];den=[1 6 11 6];
》[A,B,C,D]=tf2ss(num,den)
》A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0
[num,den]=zp2tf(z,p,k)可将以z,p,k表示的零极点增益形式变换 成传递函数形式。 参见:ss2tf,ss2zp,tf2ss,tf2zp,zp2ss
用法举例: 1)已知系统状态空间模型为:
》A=[0 1; -1 -2]; B=[0;1]; 》C=[1,3]; D=[1]; 》[num,den]=ss2tf(A,B,C,D,iu) %iu用来指定第n个输入,当只有一个输入时可忽略。 》num=1 5 2; den=1 2 1;
三、部分分式展开
• 控制系统常用到并联系统,这时就要对系统函数进 行分解,使其表现为一些基本控制单元的和的形式。
• 函数[r,p,k]=residue(b,a)对两个多项式的比进行部分 展开,以及把传函分解为微分单元的形式。
• 向量b和a是按s的降幂排列的多项式系数。部分分式 展开后,余数返回到向量r,极点返回到列向量p,常 数项返回到k。
• 通过拉氏变换和反变换,可以得到线性定常系统的解 析解,这种方法通常只适用于常系数的线性微分方程, 解析解是精确的,然而通常寻找解析解是困难的。 MATLAB提供了ode23、ode45等微分方程的数值解法 函数,不仅适用于线性定常系统,也适用于非线性及 时变系统。
例exp3_1.m
线性定常控制系统的数学模型
第三十八章线性定常控制系统的数学模型第一节控制系统模型的构成一、控制系统的模型描述控制系统动态特性的数学表达式称为系统的数学模型,它是分析和设计系统的依据。
数学模型应当既能足够准确地反映系统的动态特性,又具有较简单的形式。
实际系统都程度不同地存在非线性和分布参数特性,如果这些因素影响不大,则可忽略不计。
在正常工作点附近变化时,可以用线性化模型来处理;但当系统在大范围内变化时采用线性化的模型就会带来较大误差。
可以根据系统内部的变化机理写出有关的运动方程,或者通过实验测取系统的输入!输出数据,然后对这些数据进行处理,从而建立系统的数学模型。
前者是机理法,后者是测试法,又称系统辨识。
二、微分方和差分方程微分方程是连续系统最基本的数学模型,可按下列步骤建立:"!将系统划分为单向环节,并确定各个环节的输入量、输出量。
单向环节是指后面的环节无负载效应,即后面的环节存在与否对该环节的动态特性没有影响。
#!根据系统内部机理,通过简化、线性化、增量化建立各个环节的微分方程。
$!消去中间变量,保留系统的输入量、输出量,得出系统的微分方程。
%!整理成标准形式,将含输出量的项写在方程左端,含输入量的项写在右端,并将各导数项按降阶排列。
设&!’,则单输入!单输出系统的微分方程的一般形式为((")())*+"((&!")())*…*+&!"(!())*+&(()),-./(’)())*-"/(’!")())*…*-’!"/!())*-’/())($0!")离散系统在某一时刻12的输出((1),可能既与同一时刻的输入与同一时刻的输入/(1)有关,又与过去时刻的输入((1!"),…,/(1!’)有关;而且还与过去时刻的输出/(1!"),…,((1!&)有关。
因此,&!’时,输入和输出之间的关系可表示为#($)*%"#($!")*…*%"#($!"),&.’($)*&"’($!")*…*&(’($!()($0!#)不失一般性,可以假定/(1),.,((1),.,13.。
控制系统计算机辅助设计_MATLAB语言与应用(第2版)薛定宇_课后复习题答案
第1章控制系统计算机辅助设计概述第2章 MATLAB语言程序设计基础第3章线性控制系统的数学模型第4章线性控制系统的计算机辅助分析第5章 Simulink在系统仿真中的应用第6章控制系统计算机辅助设计第1章控制系统计算机辅助设计概述【1】/已阅,略【2】已阅,略【3】已经掌握help命令和Help菜单的使用方法【4】区别:MATLAB语言实现矩阵的运算非常简单迅速,且效率很高,而用其他通用语言则不然,很多通用语言所实现的矩阵运算都是对矩阵维数具有一点限制的,即使限制稍小的,但凡维数过大,就会造成运算上的溢出出错或者运算出错,甚至无法处理数据的负面结果【5】【8】(1)输入激励为正弦信号(2)输入激励为脉冲模拟信号(3)输入激励为时钟信号(4) 输入激励为随机信号(5) 输入激励为阶跃信号δ=0.3δ=0.05δ=0.7结论:随着非线性环节的死区增大,阶跃响应曲线的围逐渐被压缩,可以想象当死区δ足够大时,将不再会有任何响应产生。
所以可以得到结论,在该非线性系统中,死区的大小可以改变阶跃响应的幅值和超调量。
死区越大,幅值、超调量将越小,而调整时间几乎不受其影响第2章 MATLAB语言程序设计基础【1】>> A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1]A =1 2 3 44 3 2 12 3 4 13 24 1>>B=[1+4i,2+3i,3+2i,4+i;4+i,3+2i,2+3i,1+4i;2+3i,3+2i,4+i,1+4i;3+2i,2+3i,4+i,1+4i]B =1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i2.0000 +3.0000i 3.0000 + 2.0000i4.0000 + 1.0000i 1.0000 + 4.0000i3.0000 + 2.0000i 2.0000 + 3.0000i4.0000 + 1.0000i 1.0000 + 4.0000i >> A(5,6)=5A =1 2 3 4 0 04 3 2 1 0 02 3 4 1 0 03 24 1 0 00 0 0 0 0 5∴若给出命令A(5,6)=5则矩阵A的第5行6列将会赋值为5,且其余空出部分均补上0作为新的矩阵A,此时其阶数为5×6【2】相应的MATLAB命令:B=A(2:2:end,:)>> A=magic(8)A =64 2 3 61 60 6 7 579 55 54 12 13 51 50 1617 47 46 20 21 43 42 2440 26 27 37 36 30 31 3332 34 35 29 28 38 39 2541 23 22 44 45 19 18 4849 15 14 52 53 11 10 568 58 59 5 4 62 63 1>> B=A(2:2:end,:)B =9 55 54 12 13 51 50 1640 26 27 37 36 30 31 3341 23 22 44 45 19 18 488 58 59 5 4 62 63 1∴从上面的运行结果可以看出,该命令的结果是正确的【3】>> syms x s; f=x^5+3*x^4+4*x^3+2*x^2+3*x+6f =x^5 + 3*x^4 + 4*x^3 + 2*x^2 + 3*x + 6>> [f1,m]=simple(subs(f,x,(s-1)/(s+1)))f1 =19 - (72*s^4 + 120*s^3 + 136*s^2 + 72*s + 16)/(s + 1)^5m =simplify(100)【4】>> i=0:63; s=sum(2.^sym(i))s =615【5】>> for i=1:120if(i==1|i==2) a(i)=1;else a(i)=a(i-1)+a(i-2);endif(i==120) a=sym(a); disp(a); endend[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, , , , , , 5, 7, 2, 9, 1, 20, 61, 81, 42, 723, 565, 288, 853, 141, 0994, 9135, 0129, 9264, 9393, 28657, 78050, 06707, 84757, 91464, , , , , , 8, 5, 3, 8, 31, 89, 20, 09, 29, 738, 167, 905, 072, 977, 6049, 9026, 5075, 4101, 9176, 83277, 82453, 65730, 48183, 413913, 662096, 076009, 738105, 814114, 0552219, 6366333, 6918552, 3284885, 0203437, 93488322, 23691759, 17180081, 40871840]【6】>>k=1;for i=2:1000for j=2:iif rem(i,j)==0if j<i, break;endif j==i, A(k)=i; k=k+1; break; endendendenddisp(A);Columns 1 through 132 3 5 7 11 13 17 19 23 29 31 37 41 Columns 14 through 2643 47 53 59 61 67 71 73 79 83 89 97 101 Columns 27 through 39103 107 109 113 127 131 137 139 149 151 157 163 167 Columns 40 through 52173 179 181 191 193 197 199 211 223 227 229 233 239 Columns 53 through 65241 251 257 263 269 271 277 281 283 293 307 311 313 Columns 66 through 78317 331 337 347 349 353 359 367 373 379 383 389 397 Columns 79 through 91401 409 419 421 431 433 439 443 449 457 461 463 467 Columns 92 through 104479 487 491 499 503 509 521 523 541 547 557 563 569 Columns 105 through 117571 577 587 593 599 601 607 613 617 619 631 641 643 Columns 118 through 130647 653 659 661 673 677 683 691 701 709 719 727 733 Columns 131 through 143739 743 751 757 761 769 773 787 797 809 811 821 823 Columns 144 through 156827 829 839 853 857 859 863 877 881 883 887 907 911 Columns 157 through 168919 929 937 941 947 953 967 971 977 983 991 997【7】说明:h和D在MATLAB中均应赋值,否则将无法实现相应的分段函数功能syms x; h=input(‘h=’); D=input(‘D=’);y=h.*(x>D)+(h.*x/D).*(abs(x)<=D)-h.*(x<-D)【10】function y=fib(k)if nargin~=1,error('出错:输入变量个数过多,输入变量个数只允许为1!');endif nargout>1,error('出错:输出变量个数过多!');endif k<=0,error('出错:输入序列应为正整数!');endif k==1|k==2,y=1;else y=fib(k-1)+fib(k-2);endend【13】-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81【14】>> t=[-1:0.001:-0.2,-0.1999:0.0001:0.1999,0.2:0.001:1]; y=sin(1./t); plot(t,y);grid on;-1-0.8-0.6-0.4-0.20.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81【15】(1) >> t=-2*pi:0.01:2*pi; r=1.0013*t.^2;polar(t,r);axis('square')90270180(2) >> t=-2*pi:0.001:2*pi; r=cos(7*t/2);polar(t,r);axis('square')2700902701800(3) >> t=-2*pi:0.001:2*pi;r=sin(t)./t;polar(t,r);axis('square')90180【17】(1)z=xy>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3);z=x.*y;mesh(x,y,z);>> contour3(x,y,z,50);-2-112-22-10-5510(1)z =sin(xy )>> [x,y]=meshgrid(-3:0.01:3,-3:0.01:3); z=sin(x.*y);mesh(x,y,z);>> contour3(x,y,z,50);-2-112-22第3章 线性控制系统的数学模型【1】(1) >> s=tf('s');G=(s^2+5*s+6)/(((s+1)^2+1)*(s+2)*(s+4)) Transfer function:s^2 + 5 s + 6--------------------------------s^4 + 8 s^3 + 22 s^2 + 28 s + 16(2) >> z=tf('z',0.1);H=5*(z-0.2)^2/(z*(z-0.4)*(z-1)*(z-0.9)+0.6) Transfer function:5 z^2 - 2 z + 0.2---------------------------------------z^4 - 2.3 z^3 + 1.66 z^2 - 0.36 z + 0.6 Sampling time (seconds): 0.1【2】(1)该方程的数学模型>> num=[6 4 2 2];den=[1 10 32 32];G=tf(num,den)Transfer function:6 s^3 + 4 s^2 + 2 s + 2------------------------s^3 + 10 s^2 + 32 s + 32(2)该模型的零极点模型>> G=zpk(G)Zero/pole/gain:6 (s+0.7839) (s^2 - 0.1172s + 0.4252)-------------------------------------(s+4)^2 (s+2)(3)由微分方程模型可以直接写出系统的传递函数模型【5】(1) >> P=[0;0;-5;-6;-i;i];Z=[-1+i;-1-i];G=zpk(Z,P,8)Zero/pole/gain:8 (s^2 + 2s + 2)-------------------------s^2 (s+5) (s+6) (s^2 + 1)(2) P=[0;0;0;0;0;8.2];Z=[-3.2;-2.6];H=zpk(Z,P,1,'Ts',0.05,'Variable','q')Zero/pole/gain:(q+3.2) (q+2.6)---------------q^5 (q-8.2)Sampling time (seconds): 0.05【8】(1)闭环系统的传递函数模型>> s=tf('s');G=10/(s+1)^3;Gpid=0.48*(1+1/(1.814*s)+0.4353*s/(1+0.4353*s));G1=feedback(Gpid*G,1)Transfer function:7.58 s^2 + 10.8 s + 4.8-------------------------------------------------------------- 0.7896 s^5 + 4.183 s^4 + 7.811 s^3 + 13.81 s^2 + 12.61 s + 4.8(2)状态方程的标准型实现>> G1=ss(G1)a =x1 x2 x3 x4 x5x1 -5.297 -2.473 -2.186 -0.9981 -0.7598x2 4 0 0 0 0x3 0 2 0 0 0x4 0 0 2 0 0x5 0 0 0 0.5 0b =u1x1 2x2 0x3 0x4 0x5 0c =x1 x2 x3 x4 x5y1 0 0 0.6 0.4273 0.3799d =u1y1 0Continuous-time state-space model.(3)零极点模型>> G1=zpk(G1)Zero/pole/gain:9.6 (s^2 + 1.424s + 0.6332)--------------------------------------------------------(s+3.591) (s^2 + 1.398s + 0.6254) (s^2 + 0.309s + 2.707)【11】>> Ga=feedback(s/(s^2+2)*1/(s+1),(4*s+2)/(s+1)^2);Gb=feedback(1/s^2,50);G=3*feedback(Gb*Ga,(s^2+2)/(s^3+14))Transfer function:3 s^6 + 6 s^5 + 3 s^4 + 42 s^3 + 84 s^2 + 42 s---------------------------------------------------------------------------s^10 + 3 s^9 + 55 s^8 + 175 s^7 + 300 s^6 + 1323 s^5 + 2656 s^4 + 3715 s^3+ 7732 s^2 + 5602 s + 1400【13】c1=feedback(G5*G4,H3)=G5*G4/(1+G5*G4*H3)c2=feedback(G3,H4*G4)=G3/(1+G3*H4*G4)c3=feedback(c2*G2,H2)=c2*G2/(1+c2*G2*H2)=G3*G2/(1+G3*H4*G4+G3*G2*H1)G=feedback(G6*c1*c3*G1,H1)=G6*c1*c3*G1/(1+ G6*c1*c3*G1*H1)=G6*G5*G4*G3*G2*G1/(1+G3*H4*G4+G3*G2*H1+G5*G4*H3+G5*G4*H3*G3*H4*G4+G5*G4*H3*G3* G2*H1+G6*G5*G4*G3*G2*G1*H1)【14】>> s=tf('s');c1=feedback(0.21/(1+0.15*s),0.212*130/s);c2=feedback(c1*70/(1+0.0067*s)*(1+0.15*s)/(0.051*s),0.1/(1+0.01*s));G=(1/(1+0.01*s))*feedback(130/s*c2*1/(1+0.01*s)*(1+0.17*s)/(0.085*s),0.0044/(1+ 0.01*s))Transfer function:0.004873 s^5 + 1.036 s^4 + 61.15 s^3 + 649.7 s^2 + 1911 s--------------------------------------------------------------------------- 4.357e-014 s^10 + 2.422e-011 s^9 + 5.376e-009 s^8 + 6.188e-007 s^7+ 4.008e-005 s^6 + 0.001496 s^5 + 0.03256 s^4 + 0.4191 s^3+ 2.859 s^2 + 8.408 s 第4章线性控制系统的计算机辅助分析【1】(1) >> num=[1];den=[3 2 1 2];G=tf(num,den);eig(G)ans =-1.00000.1667 + 0.7993i0.1667 - 0.7993i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(2) >> num=[1];den=[6 3 2 1 1];G=tf(num,den);eig(G)ans =-0.4949 + 0.4356i-0.4949 - 0.4356i0.2449 + 0.5688i0.2449 - 0.5688i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(3) >> num=[1];den=[1 1 -3 -1 2];G=tf(num,den);eig(G)ans =-2.0000-1.00001.00001.0000分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(4) >> num=[3 1];den=[300 600 50 3 1];G=tf(num,den);eig(G)ans =-1.9152-0.14140.0283 + 0.1073i0.0283 - 0.1073i分析:由以上信息可知,系统的极点有2个是在s域的右半平面的,因此系统是不稳定的(5) >> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2));eig(G)ans =-3.0121-1.0000-0.1440 + 0.3348i-0.1440 - 0.3348i分析:由以上信息可知,系统的所有极点都在s域的左半平面,因此系统是稳定的【2】(1) >> num=[-3 2];den=[1 -0.2 -0.25 0.05];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.5000 0.5000 0.2000分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(2) >> num=[3 -0.39 -0.09];den=[1 -1.7 1.04 0.268 0.024];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =1.1939 1.1939 0.1298 0.1298分析:由以上信息可知,由于前两个特征根的模均大于1,因此该系统是不稳定的(3) >> num=[1 3 -0.13];den=[1 1.352 0.4481 0.0153 -0.01109 -0.001043];H=tf(num,den,'Ts',0.5);abs(eig(H)')ans =0.8743 0.1520 0.2723 0.2344 0.1230分析:由以上信息可知,所有特征根的模均小于1,因此该系统是稳定的(4) >> num=[2.12 11.76 15.91];den=[1 -7.368 -20.15 102.4 80.39 -340];H=tf(num,den,'Ts',0.5,'Variable','q');abs((eig(H))')ans =8.2349 3.2115 2.3415 2.3432 2.3432分析:由以上信息可知,所有特征根的模均大于1,因此该系统是不稳定的【3】(1) >>-4-3.5-3-2.5-2-1.5-1-0.50x 10-6P ole-Zero Map Real Axis (seconds -1)I m a g i n a r y A x i s (s e c o n d s -1)A=[-0.2,0.5,0,0,0;0,-0.5,1.6,0,0;0,0,-14.3,85.8,0;0,0,0,-33.3,100;0,0,0,0,-10]; eig(A) ans =-0.2000 -0.5000 -14.3000 -33.3000 -10.0000分析:由以上信息可知,该连续线性系统的A 矩阵的所有特征根的实部均为负数,因此该系统是稳定的(2)>>F=[17,24.54,1,8,15;23.54,5,7,14,16;4,6,13.75,20,22.5589;10.8689,1.2900,19.099,…21.896,3;11,18.0898,25,2.356,9];abs(eig(F)') ans =63.7207 23.5393 12.4366 13.3231 19.7275分析:由以上信息可知,该离散系统的F 矩阵的所有特征根的模均大于1,因此该系统是不稳定的【4】>> A=[-3 1 2 1;0 -4 -2 -1;1 2 -1 1;-1 -1 1 -2]; B=[1 0;0 2;0 3;1 1];C=[1 2 2 -1;2 1 -1 2];D=[0 0;0 0];G=ss(A,B,C,D); tzero(G)pzmap(G)ans =-3.6124-1.2765结论:∴可以得到该系统的 零点为-3.6124、-1.2765分析:由以上信息可知,系统的特征根的实部均位于s 域的左半平面,因此该系统是稳定的>> s=tf('s');G=0.2*(s+2)/(s*(s+0.5)*(s+0.8)*(s+3)+0.2*(s+2)); Gc=sscanform(G,'ctrl')Go=sscanform(G,'obsv')a =x1 x2 x3 x4x1 0 1 0 0x2 0 0 1 0x3 0 0 0 1x4 -0.4 -1.4 -4.3 -4.3b =u1x1 0x2 0x3 0x4 1c =x1 x2 x3 x4y1 0.4 0.2 0 0d =u1y1 0Continuous-time state-space model.a =x1 x2 x3 x4x1 0 0 0 -0.4x2 1 0 0 -1.4x3 0 1 0 -4.3x4 0 0 1 -4.3b =u1x1 0.4x2 0.2x3 0x4 0c =x1 x2 x3 x4y1 0 0 0 1d =u1y1 0Continuous-time state-space model.(1)>> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R1,P1,K1]=residue(num,[den 0]);[R1,P1]ans =-1.2032 -8.0000-1.0472 -7.00000.2000 -6.00000.7361 -5.0000-2.8889 -4.00002.2250 -3.0000-2.0222 -2.00003.0004 -1.00001.0000 0>> [n,d]=rat(R1);sym([n./d]')ans =[ -379/315, -377/360, 1/5, 53/72, -26/9, 89/40, -91/45, 7561/2520, 1][阶跃响应的解析解]y(t)=(-379/315)*e-8t+(-377/360)*e-7t+(1/5)*e-6t+(53/72)*e-5t+(-26/9)*e-4t+(89/40)*e-3t +(-90/45)*e-2t+(7561/2520)*e-t+1(2) >> num=[18 514 5982 36380 122664 222088 185760 40320];den=[1 36 546 4536 22449 67284 118124 109584 40320];[R2,P2,K2]=residue(num,den);[R2,P2]ans =9.6254 -8.00007.3306 -7.0000-1.2000 -6.0000-3.6806 -5.000011.5556 -4.0000-6.6750 -3.00004.0444 -2.0000-3.0004 -1.0000>> [n,d]=rat(R2);sym([n./d]')ans =[ 3032/315, 887/121, -6/5, -265/72, 104/9, -267/40, 182/45, -7561/2520][脉冲响应的解析解]y(t)=(3032/315)*e-8t+(887/121)*e-7t+(-6/5)*e-6t+(-265/72)*e-5t+(104/9)*e-4t+(-267/40) *e-3t+Linear Simulation ResultsA m p l i t u d e(182/45)*e -2t +(-7561/2520)*e -t(3) >> syms t;u=sin(3*t+5); Us=laplace(u) Us =(3*cos(5) + s*sin(5))/(s^2 + 9) >> s=tf('s');Us=(3*cos(5)+s*sin(5))/(s^2+9);num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320]; G=tf(num,den); Y=Us*G; num=Y.num{1}; den=Y.den{1};[R3,P3,K3]=residue(num,den); [R3,P3] ans =1.1237 -8.0000 0.9559 -7.0000 -0.1761 -6.0000 -0.6111 -5.00002.1663 -4.0000 -1.1973 - 0.0010i 0.0000 +3.0000i -1.1973 + 0.0010i 0.0000 - 3.0000i -1.3824 -3.0000 0.8614 -2.0000 -0.5430 -1.0000 >> [n,d]=rat(R3); sym([n./d]') ans =[109/97, 282/295, -59/335, -965/1579, 951/439, - 449/375 + (18*i)/17981, - 449/375 - (18*i)/17981, -1663/1203, 317/368, -82/151] [正弦信号时域响应的解析解]y(t)=(109/97)*e -8t+(282/295)*e -7t+(-59/335)*e -6t+(-965/1579)*e -5t+(-449/375)*e -4t+(-1663/1203)*e -3t +(317/368)*e -2t +(-82/151)*e -t-2.3947sin(3t) [输出波形]>> num=[18 514 5982 36380 122664 222088 185760 40320]; den=[1 36 546 4536 22449 67284 118124 109584 40320];G=tf(num,den); t=[1:.1:20]';u=sin(3*t+5); lsim(G,u,t);分析:由解析解可知,输出信号的稳态 部分是振荡的,并且其幅值与相位始终 在到达稳态的时候保持不变,因此 右图所示的输出波形与解析解所得的结论是一致的【10】(1)因为PI 或PID 控制器均含有Ki/s 项,这是一个对误差信号的积分环节,假设去掉这一环节,则当Kp →∞,即|e(t)|很小也会存在较大扰动,这会影响到系统的动态特性;当加入这一环节后,如果要求|e(t)|→0,则控制器输出u(t)会由Ki/s 环节得到一个常值,此时系统可以获得较好的动态特性,因此这两个控制器可以消除闭环系统的阶跃响应的稳态误差(2)不稳定系统能用PI 或PID 控制器消除稳态误差。
控制系统的数学建模
性质:叠加性、均匀性(齐次性)
输入量r1+r2对应输 出量c1+c2 输入量ar1对应输出 量ac1
3.2.1传递函数概念 线性定长系统传递函数定义:在零初始条件下,输 出量与输入量的拉氏变换之比。 对应微分方程: 零初始条件:
C(s)为c(t)的拉氏变换; R(s)为r(t)的拉氏变换
3.2.3典型环节及其传递函数 典型环节框图 比例环节 惯性环节 积分环节
振荡环节
微分环节
理想微分环节
一阶微分环节
二阶微分环节
3.3.1结构图的组成 四种基本单元:信号线、引出点、比较点、方框
3.3.2结构图的建立 1列出控制系统中各元件的微分方程式或方程组 2对所列方程进行拉式变换,得到反映输入变量和输 出变量的传递函数,并将其写入方框 3按系统中各变量传递顺序依次将各元件的传递函 数方框用带箭头线段连接起来,将系统输入变量置于 左端,输出变量置于右端
3.1.1概述 控制系统数学模型是描述系统内部各物理量(或变量) 之间关系的数学表达式。静态条件(变量的各阶导数 为0)描述各变量之间的关系的数学方程是静态模型; 动态过程用微分方程描述,建立动态模型。 本章研究动态模型 常见的数学模型建立法:分析法、实践法 分析法:利用控制系统或其组成元件所依据的物理或化 学规律来建立模型并加以实验验证。 实践法:通过对实际控制系统或元件作用一定形式的 输入信号,求取孔子系统或元件的输出相应的方法。
3.3.3结构图的等效变换 2信号综合点和分离点的移动和互换 (1)一般情况下综合点和分离点在移动前后应保持 所变换的信号在变换前后的等效性,一般情况下综 合电荷分离点之间的位置不宜交换,比较符号-不能 超过综合点、分离点。 (2)信号综合点的移动:原信号不变,在信号综合 点移动后保证信号相加的代数和不变。
《控制系统仿真与CAD》课程教学大纲
《控制系统仿真与CAD》课程教学大纲一、课程基本信息二、理论教学内容及基本要求1 控制系统仿真与计算机辅助设计概述(1.5学时)1.1 为什么采用MATLAB语言?1.2 课程的主要结构1.3 控制系统计算机辅助设计方法概述2 MATLAB 必备基础知识(2.5学时)2.1 MATLAB 语言程序设计基础了解MATLAB 数据结构并掌握基本语句结构,包括直接赋值语句和函数调用语句。
了解并掌握循环语句结构、条件语句结构、开关语句结构以及与众不同的试探语句。
2.2 MATLAB 语言图形绘制方法掌握二维图形和三维图形绘制命令与函数与各种图形的绘制方法,可以将实验结果和仿真结果用可视的形式显示出来。
2.3 图形用户界面设计技术3 科学运算问题的MATLAB求解(4学时)掌握MATLAB 语言在线性代数问题、微分方程问题及最优化问题中的应用,系统地了解数学运算问题的MATLAB 求解方法。
4 线性控制系统的数学模型(7学时)4.1 线性连续系统的数学模型输入了解基本的数学模型,并掌握这些模型在MATLAB 环境下的表示方法及多变量系统的表示方法。
4.2 线性离散系统的数学模型输入了解基本的数学模型,并掌握这些模型在MATLAB 环境下的表示方法。
4.3 系统模型的相互转换掌握基于MATLAB 的系统模型转换方法,如连续与离散系统之间的相互转换和状态方程转换成传递函数模型的方法,以及转换成状态方程模型的各种实现方法。
4.4 方框图模型的化简了解三类典型的连接结构:串联、并联和反馈连接,并掌握模块输入、输出从一个节点移动到另一个节点所必需的等效变换及复杂系统的等效变换和化简。
4.5 线性系统的模型降阶了解线性系统的模型降阶的原理与实现。
4.6 线性系统的模型辨识了解线性系统的模型辨识的原理与实现。
5 线性控制系统的计算机辅助分析(5学时)5.1 线性系统定性分析了解系统稳定性的判定方法和系统的可控性和可观测性等系统性质的分析,并掌握其他的各种标准型实现。
薛定宇控制系统仿真与CAD精品课课件chapter4
2020/1/20
控制系统计算机辅助设计---MATLAB语言与应用
东北大学信息学院
4
4.1.1 线性系统的稳定性分析
给定线性系统模型,如何分析稳定性?
由控制理论可知,用Routh 表格可以判定该系统稳定性。
Edward John Routh (1831-1907) 历史局限性
2020/1/20
控制系统计算机辅助设计---MATLAB语言与应用
东北大学信息学院
5
状态方程系统的稳定性
连续线性状态方程
解析阶
稳定性: 矩阵的特征根均有负实部
2020/1/20
控制系统计算机辅助设计---MATLAB语言与应用
东北大学信息学院
6
离散系统的稳定性
离散系统状态方程
离散系统时域响应解析阶
第4 章
线性控制系统的计算机辅助分析
薛定宇著《控制系统计算机辅助设计---MATLAB 语言与应用》第二版,清华大学出版社,2006
CAI课件开发:张望舒 哈尔滨工程大学
薛定宇 东北大学
2020/1/20
控制系统计算机辅助设计---MATLAB语言与应用
东北大学信息学院
1
系统的分析方法
充分利用计算机对线性系统进行分析 更新系统分析的观念 求解传统方法难以求解的问题
2020/1/20
控制系统计算机辅助设计---MATLAB语言与应用
东北大学信息学院
46
例4-9 已知离散系统模型
2020/1/20
控制系统计算机辅助设计---MATLAB语言与应用
东北大学信息学院
47
4.2 线性系统时域响应解析解法
给线性系统一个激励信号,输出是什么? 有两大类方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制系统仿真与CAD 国家级精品课程
2014-12-31
44/138
4.3.3 控制系统的状态方程实现
由传递函数到状态方程的转换 不同状态变量选择,结果不唯一 默认变换方式,采用MATLAB函数
G可以是传递函数、状态方程和零极点模型 适用于有延迟的、离散的或多变量模型 可以将延迟传递函数模型转成内部延迟
2014-12-31
5/138
4.1.1 线性连续系统数学模型及 MATLAB 表示
线性系统的常系数线性常微分方程模型
为阶次, 为常数, 物理可实现 线性定常系统 LTI (linear time invariant)
控制系统仿真与CAD 国家级精品课程
2014-12-31
6/138
传递函数的理论基础 ——Laplace变换
2014-12-31
47/138
均衡实现 (banlanced realization)
由一般状态方程输入输出关系显著程度不 明显,需要进一步变换 均衡实现是一种很有用的方式 用MATLAB直接求解
得出均衡实现的模型 得出排序的 Gram 矩阵
控制系统仿真与CAD 国家级精品课程
2014-12-31
离散系统也有内部延迟模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
33/138
4.3 系统模型的相互转换
前面介绍的各种模型之间的相互等效变换
主要内容
连续模型和离散模型的相互转换 系统传递函数的获取 控制系统的状态方程实现 状态方程的最小实现 传递函数与符号表达式的相互转换
48/138
例
原系统模型
引入
(内部坐标变换)
控制系统仿真与CAD 国家级精品课程
2014-12-31
49/138
4.3.4 状态方程的最小实现
例4-15 观察传递函数模型
未见有何特殊 求取零极点模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
50/138
得出结果
离散延迟系统与输入
数学模型
延迟为采样周期的整数倍 MATLAB输入方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
29/138
滤波器型描述方法
滤波器型离散模型
分子、分母除以 记 ,则
控制系统仿真与CAD 国家级精品课程
2014-12-31
30/138
零极点型模型可以用zpk函数输入 例4-9 零极点型传递函数
数学表示 (z 变换代替Laplace变换)
MATLAB表示 (采样周期 )
算子输入方法:
控制系统仿真与CAD 国家级精品课程
2014-12-31
27/138
例4-8 离散传递函数,采样周期
MATLAB输入方法
另一种输入方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
28/138
11/138
MATLAB的传递函数对象
传递函数对象属性:新版本
控制系统仿真与CAD 国家级精品课程
2014-12-31
12/138
传递函数属性修改
例4-4 延迟传递函数
,即
若假设复域变量为 ,则
直接赋值方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
13/138
传递函数参数提取
控制系统仿真与CAD 国家级精品课程
2014-12-31
21/138
4.1.4 线性系统的零极点模型
零极点模型是因式型传递函数模型
零点 、极点 零极点模型的 MATLAB表示
和增益
控制系统仿真与CAD 国家级精品课程
2014-12-31
22/138
例4-6 零极点模型
MATLAB输入方法
也可以定义算子 本例有复数极点,不适合用此方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
31/138
4.2.2 离散状态方程模型
数学形式
注意兼容性 MATLAB表示方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
32/138
离散延迟系统的状态方程
数学模型
MATLAB表示方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
36/138
例4-10 双输入模型,
输入模型、变换
控制系统仿真与CAD 国家级精品课程
2014-12-31
37/138
例4-11 时间延迟系统的离散化
MATLAB求解 零阶保持器变换
变换结果
控制系统仿真与CAD 国家级精品课程
2014-12-31
国家级精品课程
控制系统仿真与CAD
第四章 线性控制系统的数学模型
东北大学信息学院 薛定宇
控制系统仿真与CAD 国家级精品课程
2014-12-31
1/138
系统的数学模型
系统数学模型的重要性
系统仿真分析必须已知数学模型 系统设计必须已知数学模型 本课程数学模型是基础
系统数学模型的获取
建模方法:从已知的物理规律出发,用数学推 导的方式建立起系统的数学模型 辨识方法:由实验数据拟合系统的数学模型
矩阵是 方阵, 为 矩阵 为 矩阵, 为 矩阵 可以直接处理多变量模型 给出 矩阵即可 注意维数的兼容性
控制系统仿真与CAD 国家级精品课程
2014-12-31
17/138
例4-5
MATLAB 模型输入
控制系统仿真与CAD 国家级精品课程
2014-12-31
18/138
带时间延迟的状态方程
数学模型
MATLAB输入语句
其他延迟属性:ioDelay
控制系统仿真与CAD 国家级精品课程
2014-12-31
19/138
4.1.3 带有内部延迟的状态方程输入
框图描述,更一般的状态方程模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
20/138
数学描述
其中
内部延迟
、
为内部信号,提取模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
15/138
线性状态方程
时变模型
线性时不变模型 (linear time invariant, LTI)
控制系统仿真与CAD 国家级精品课程
2014-12-31
16/138
线性时不变模型的MATLAB描述
MATLAB 输入方法
例4-2 如何处理如下的传递函数?
定义算子
,再输入传递函数
控制系统仿真与CAD 国家级精品课程
2014-12-31
10/138
应该根据给出传递函数形式选择输入方法 例4-3 输入混合运算的传递函数模型
显然用第一种方法麻烦,所以
不同方法有不同的适用范围
控制系统仿真与CAD 国家级精品课程
2014-12-31
控制系统仿真与CAD 国家级精品课程
2014-12-31
34/138
4.3.1 连续模型和离散模型的相互转换
连续状态方程的解析阶
采样周期 选择
控制系统仿真与CAD 国家级精品课程
2014-12-31
35/138
这样可以得出离散模型
记
则可以得出离散状态方程模型 MATLAB函数直接求解 还可以采用Tustin变换(双线性变换)
则
控制系统仿真与CAD 国家级精品课程
2014-12-31
42/138
因此可以得出传递函数
难点 基于Fadeev-Fadeeva算法能得出更好结果
由零极点模型,直接展开分子分母 用MATLAB统一求解
控制系统仿真与CAD 国家级精品课程
2014-12-31
43/138
例4-13 多变量模型,求传递函数矩阵
两种输入方法
控制系统仿真与CAD 国家级精品课程
2014-12-31
25/138
4.2 线性离散时间系统的数学模型
单变量系统:差分方程取代微分方程
主要内容
离散传递函数 离散状态方程 离散的零极点模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
26/138
4.2.1 离散传递函数模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
40/138
例4-12 对前面的连续状态方程模型离散化, 对结果再连续化,则
可以基本上还原连续模型
控制系统仿真与CAD 国家级精品课程
2014-12-31
41/138
4.3.2 系统传递函数的获取
已知状态方程
两端Laplace变换
相同位置的零极点,可以对消 问题:状态方程如何处理? MATLAB解决方法
控制系统仿真与CAD 国家级精品课程