控制系统仿真_薛定宇第四章 线性控制系统的数学模型
- 格式:ppt
- 大小:7.67 MB
- 文档页数:138
第一部分: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.。
控制系统的数学模型一、控制系统的参数模型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. 对控制系统进行仿真通过仿真软件对控制系统进行仿真,可以实现在不同工作条件下模拟出控制系统的工作状态和性能,以验证控制系统的可行性。
第三十八章线性定常控制系统的数学模型第一节控制系统模型的构成一、控制系统的模型描述控制系统动态特性的数学表达式称为系统的数学模型,它是分析和设计系统的依据。
数学模型应当既能足够准确地反映系统的动态特性,又具有较简单的形式。
实际系统都程度不同地存在非线性和分布参数特性,如果这些因素影响不大,则可忽略不计。
在正常工作点附近变化时,可以用线性化模型来处理;但当系统在大范围内变化时采用线性化的模型就会带来较大误差。
可以根据系统内部的变化机理写出有关的运动方程,或者通过实验测取系统的输入!输出数据,然后对这些数据进行处理,从而建立系统的数学模型。
前者是机理法,后者是测试法,又称系统辨识。
二、微分方和差分方程微分方程是连续系统最基本的数学模型,可按下列步骤建立:"!将系统划分为单向环节,并确定各个环节的输入量、输出量。
单向环节是指后面的环节无负载效应,即后面的环节存在与否对该环节的动态特性没有影响。
#!根据系统内部机理,通过简化、线性化、增量化建立各个环节的微分方程。
$!消去中间变量,保留系统的输入量、输出量,得出系统的微分方程。
%!整理成标准形式,将含输出量的项写在方程左端,含输入量的项写在右端,并将各导数项按降阶排列。
设&!’,则单输入!单输出系统的微分方程的一般形式为((")())*+"((&!")())*…*+&!"(!())*+&(()),-./(’)())*-"/(’!")())*…*-’!"/!())*-’/())($0!")离散系统在某一时刻12的输出((1),可能既与同一时刻的输入与同一时刻的输入/(1)有关,又与过去时刻的输入((1!"),…,/(1!’)有关;而且还与过去时刻的输出/(1!"),…,((1!&)有关。
因此,&!’时,输入和输出之间的关系可表示为#($)*%"#($!")*…*%"#($!"),&.’($)*&"’($!")*…*&(’($!()($0!#)不失一般性,可以假定/(1),.,((1),.,13.。
第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 控制器消除稳态误差。
《控制系统仿真与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 线性系统定性分析了解系统稳定性的判定方法和系统的可控性和可观测性等系统性质的分析,并掌握其他的各种标准型实现。