《计算机仿真技术与CAD.pdf》由会员分享,可在线阅读,更多相关《计算机仿真技术与CAD.pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自控系统数字仿真 实验指导书西安建筑科技大学信息与控制工程学院1 目录目录.1 1 课程简介,实验内容及学时安排.1 1.1 课程简介.1 1.2 实验内容及学时安排.1 2 线性系统理论基础课程实验.3 实验一 MATLAB 的基本运算和符号运算的使用.3 实验二 MATLAB 语言程序设计和图形绘制.8 实验三 Simulink基础.12 实验四连续系统数值积分法仿真.17 附录一MATLAB 函数参考.错误!未定义书签。附录二控制工具箱介绍.错误!未定义书签。1 1 课程简介,实验内容及学时安排1.1 课程简介自控系统数字仿真课程是电子信息类专业及仪器测量类专业本科生的专业应用技术课程,
2、通过本课程的学习,使学生建立系统仿真的基本概念、掌握常用的仿真方法、模型的建立、仿真常用参数的选择、系统参量间的配合,能够分析仿真结果与实际系统响应的关系,掌握系统仿真在控制系统设计中应用等。同时对当今最具代表性的控制系统数字仿真语言MATLAB/Simulink 进行学习,掌握MATLAB的基本概念和原理,侧重于学习MATLAB语言编程基础与技巧,数值分析算法的MATLAB 实现,着重掌握动态系统的数学模型及仿真工具SIMULINK等。自控系统数字仿真课程作为联系理论教学内容与“课程设计”、“毕业设计”等实践教学环节的一门专业类课程,是以提高学生能力为主要目的的,自控系统数字仿真实验是学习数
3、字仿真技术的一个重要环节。通过该实验课的基本训练,使学生充分理解控制系统仿真的原理,掌握基本的仿真步骤和方法,熟悉 MATLAB 软件的使用,具备对一般控制过程的仿真能力,为学生在今后的学习、工作中提供一个强有力的工具,能有效地加强教学中的实践教学环节,培养学生的独立工作能力和创造性思维能力,为学生今后从事该领域的科学研究和技术开发工作打下扎实的基础。1.2 实验内容及学时安排本课程的实践环节单元实验和综合实验构成,目前实验主要基于MATLAB仿真软件进行仿真实验。单元实验每个实验2 学时,综合实验4 学时,要求学生一人一机,独立完成,由此使学生得到较全面的基础训练。序号实 验 内 容实验类型
4、开出要求实验学时1 MATLAB 的基本运算和符号运算的使用验证必作2 2 MATLAB 语言程序设计和图形绘制验证必作2 3 Simulink基础验证必作2 4 连续系统数值积分法仿真验证必作2 2 通过该课程的实验训练,应达到下列要求:1.使学生掌握控制系统仿真的基本方法和手段;2.使学生了解MATLAB仿真软件的使用方法和基本编程方法,重点掌握MATLAB控制工具箱的使用方法;学会使用Simulink;3.能对简单的实际系统进行仿真计算和分析。3 2 线性系统理论基础课程实验实验一 MATLAB的基本运算和符号运算的使用一、实验目的1熟悉 MATLAB 开发环境,掌握矩阵、变量、表达式的
5、各种基本运算;2熟悉符号对象和符号表达式;掌握符号表达式和符号函数的操作,学习求解符号代数方程。二、实验基本知识(一)熟悉 MATLAB 环境:MATLAB 环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB 有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而 Simulink 另外又有 Simulink 模型编辑窗口。熟悉 MATLAB 桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。(二)掌握矩阵、变量、表达式的各种
6、基本运算;掌握 MATLAB 常用命令:clc 清除命令窗口中内容clear 清除工作空间中变量help 对所选函数的功能、调用格式及相关函数给出说明lookfor 查找具有某种功能的函数但却不知道该函数的准确名称MATLAB 变量与运算符表1 MATLAB 的特殊变量与常量变量名功能说明变量名功能说明ANS 默认变量名,以应答最近一次操作运算结果realmin 最小的正实数i 或j 虚数单位INF(inf)无穷大pi 圆周率NAN(nan)不定值(0/0)eps 浮点数的相对误差nargin 函数实际输入参数个数realmax 最大的正实数nargout 函数实际输出参数个数表2 MATLA
7、B 算术运算符操作符功能说明操作符功能说明+加-减*矩阵乘.*数组乘 矩阵左除.数组左除4/矩阵右除./数组右除 矩阵乘方.数组乘方 矩阵转置.数组转置表3 MATLAB 关系运算符操作符功能说明=等于=不等于 大于=大于等于=小于等于表 4 MATLAB 逻辑运算符逻辑运算符逻辑运算说明&And 逻辑与|Or 逻辑或 Not 逻辑非Xor 逻辑异或表5 MATLAB 特殊运算符号功能说明示例符号功能说明示例:1:1:4;1:2:11.;分隔行.,分隔列()%注释 构成向量、矩阵!调用操作系统命令 构成单元数组=用于赋值MATLAB 的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格
8、式指令格式指令功能A(r,c)数组 A 中r 指定行、c 指定列之元素组成的子数组A(r,:)数组 A 中r 指定行对应的所有列之元素组成的子数组A(:,c)数组 A 中c 指定列对应的所有行之元素组成的子数组A(:)数组 A 中各列元素首尾相连组成的“一维长列”子数组A(i)一维长列 子数组中的第 i个元素A(r,c)=Sa数组 A 中r 指定行、c 指定列之元素组成的子数组的赋值A(:)=D(:)数组全元素赋值,保持A 的行宽、列长不变,A、D 两组元素总合应相同MATLAB 的基本运算5 表7 两种运算指令形式和实质内涵的异同表数组运算矩阵运算指令含义指令含义A 非共轭转置A 共轭转置s
9、.*A标量 s 分别与 A 元素之积s*A标量 s 分别与 A 每个元素之积s./B,B.s 标量 s 分别被 B 的元素除S*inv(B)B 阵的逆乘 s A.n A 的每个元素自乘n 次An A 阵为方阵,自乘 n 次A.p 对A 各元素分别求非整数幂Ap 方阵 A 的非整数乘方A.*B 对应元素相乘A*B 内维相同矩阵相乘A./B A 的元素被 B 的对应元素除A/B A 右除 B B.A 与上相同BA A 左除 B exp(A)以自然数 e 为底,分别以 A 的元素为指数,求幂expm(A)A 的矩阵指数函数log(A)对A 的各元素求对数logm(A)A 的矩阵对数函数sqrt(A)
10、对A 的各元素求平方根sqrtm(A)A 的矩阵平方根函数MATLAB 的常用函数表8 标准数组生成函数指令含义指令含义diag 产生对角形数组(对高维不适用)rand 产生均匀分布随机数组eye 产生单位数组(对高维不适用)randn 产生正态分布随机数组magic 产生魔方数组(对高维不适用)zeros 产生全 0 数组ones 产生全 1 数组size()返回指定矩阵的行数和列数表9 数组操作函数指令含义diag 提取对角线元素,或生成对角阵flipud 以数组“水平中线”为对称轴,交换上下对称位置上的数组元素fliplr 以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素resh
11、ape 在总元素数不变的前提下,改变数组的“行数、列数”rot90 矩阵逆时针旋转 90 度det方阵的行列式值rank矩阵的秩(三)符号运算基本指令1、符号对象的生成和使用:syms 2、表 10 符号运算的基本函数collect合并同类项simple搜索符号表达式的最简形式6 expand符号表达式的展开simplify符号表达式的化简factor符号因式分解vpa精确计算表达式精度值numden符号表达式的分子与分母finverse函数的反函数horner 嵌套形式的多项式的表达式funtool 函数计算器的使用subs 符号变量代换digith 指定精度的数值解函数三、实验内容练习 A
12、1、新建一个文件夹(自己的名字命名);2、启动 MATLAB,将该文件夹添加到MATLAB 路径管理器中(File Set Path Add Folder);3、学习使用 help 命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令 eye(其它不会用的指令,依照此方法类推);4、学习使用 clc、clear,了解其功能和作用,观察command window、command history 和workspace 等窗口的变化结果;练习 B1输入一个 2 维数值数组,体会标点符号的作用(空格和逗号的作用);2两种运算指令形式和实质内涵的比较。设有 3 个二维数组 A(24
13、),B(24),C(22),写出所有由2 个数组参与的合法的数组运算和矩阵指令;3学习使用表 8 列出的常用函数(通过help 方法);4利用 diag(),ones()生成下如下矩阵四、实验设备及注意事项5 0-2 0 0 0 0 0 0 4 0-2 0 0 0 0 0 0 3 0-2 0 0 0 0 0 0 2 0-2 0 0 3 0 0 0 1 0-2 0 0 4 0 0 0 0 0-2 0 0 5 0 0 0-1 0 0 0 0 6 0 0 0-2 7 1.计算机 174 台;2.MATLAB 软件 1 套。注意不同版本MATLAB软件的异同。五、实验报告要求记录完成实验内容所采取的步
14、骤、方法和结果。六、预习要求及思考题要求实验前,必须预习实验知识点,按实验内容的要求的做好设计,并写出根据自己的理解应得的结果,以便在实验时进行比较、验证。8 实验二 MATLAB 语言程序设计和图形绘制一、实验目的1.熟悉 MATLAB 程序编辑与设计环境,掌握各种编程语句语法规则及程序设计方法;2.函数文件的编写和设计;3.学习 MATLAB 图形绘制的基本方法,熟悉和了解 MATLAB 图形绘制程序编辑的基本指令;4.熟悉掌握利用MATLAB 图形编辑窗口编辑和修改图形界面,并添加图形的各种标注。二、实验基本知识(一)程序流程控制语句1、for 循环结构语法:for i 初值:增量:终值
15、语句 1,语句 n end 说明:1)i初值:终值,则增量为1。2)i初值、增量、终值,则增量可正可负,可以是整数,也可以是小数,只须符合数学逻辑。2、while 循环结构语法:while 逻辑表达式循环体语句end 说明:1)whiIe 结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次,在反复执行时,每次都要进行判断。若表达式的值为假,则程序执行end 之后的语句。2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加 break 语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while 后面所跟关系式的值
16、。)3)while 循环也可以嵌套、其结构如下:9 while 逻辑表达式 1 循环体语句 1 while 逻辑表达式 2 循环体语句 2 end 循环体语句 3 end 3、if-else-end 分支结构语法:if 表达式1 语句 1 else if 表达式2(可选)语句 2 else(可选)语句 3 End end 说明:1)if 结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if 结构。2)if 表达式 2 与else 为可选项,这两条语句可依据具体情况取舍。3)每一个 if 都对应一个 end,即有几个 if,记就应有几个end。4、switch-case
17、结构语法:switch 表达式case 常量表达式 1 语句组 1 case 常量表达式 2 语句组 2,otherwise 语句组 n end 说明:1)switch 后面的表达式可以是任何类型,如数字、字符串等。10 2)当表达式的值与case 后面常量表达式的值相等时,就执行这个case 后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise 后的执行语句。5、程序流程控制指令break、return、pause(二)函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。M 函数文件的结构:1.函数定义行(fu
18、nction)2.H1 行(函数帮助文本的第一行)3.函数帮助文本4.函数体5.注释注意:函数文件编写后,保存时,其文件名必须与函数名相同;函数名不要与MATLAB 自身的函数命令相同。(三)线性坐标图形绘制1)plot(x,y)绘制由 x,y 所确定的曲线;2)多组变量绘图:plot(x1,y1,选项 1,x2,y2,选项 2,);3)双Y 轴绘图:plotyy()函数;4)图形窗口的分割(subplot);5)图形编辑窗口的使用(Edit Figure Properties)。三、实验内容(一)程序设计熟悉 MATLAB 程序编辑与设计环境。在MATLAB 的m-文件编辑窗口完成下面编程任
19、务。(在 MATLAB 主界面上选择菜单“File New M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件。)1、用 for 循环语句实现求1100 的和。2、编写命令文件:计算1000321n的最大 n 值。3、编写函数文件:分别用for 和while 循环结构编写程序,求2的0到n次幂的和。(二)图形绘制1、输入所给程序,观察产生的图形,分析各语句的功能,再按要求进行相关的实验。11(1)t=(0:pi/50:2*pi);k=0.4:0.1:1;Y=cos(t)*k;plot(t,Y)再实验 plot(t),plot(Y),p
20、lot(Y,t),观察产生图形的不同。(2)用图形表示连续调制波形y=sin(t)sin(9t)及其包络线。t=(0:pi/100:pi);y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,b,t3,y3,bo);axis(0,pi,-1,1)2、运行下列程序,观察结果,请用命令为图形加标题“受热压力容器温度与压力的阶跃响应曲线”,为x轴加标注“时间t(s)”、y轴分别加标注“温度C(circ)”及“压力 F(MPa)”。考虑直接用 plot()绘图,通过图形编辑窗口
21、如何完成以上要求。四、实验设备及注意事项1、计算机174 台;2、MATLAB 软件 1 套。注意不同版本MATLAB软件的异同。五、实验报告要求记录完成实验内容所采取的步骤、方法和结果。六、预习要求及思考题要求实验前,必须预习实验知识点,按实验内容的要求的做好设计,并写出根据自己的理解应得的结果,以便在实验时进行比较、验证。12 实验三 Simulink基础一、实验目的1、熟悉 SIMULINK 工作环境及特点,掌握SIMULINK 的建模与仿真方法;2、掌握线性系统仿真常用基本模块的用法;3、子系统的创建和封装设计。二、实验基本知识1了解SIMULINK 模块库中各子模块基本功能连续系统库
22、常用模块数学库常用模块非线性系统库常用模块输出库常用模块13 信号与系统库常用模块2.SIMULINK 的建模与仿真方法(1)打开模块库浏览器,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中,双击每个模块设置参数,按相互关系连接每个模块即可建立Simulink 中的仿真模型。(2)设置仿真控制参数。(3)运行并分析结果。3.自定义子系统与子系统的封装1)自定义子系统对于复杂、大型系统的模型,为了减少功能模块的个数,简化图形,使控制系统仿真模型的结构清晰,上下层次分明,相互关系明确,常常把能够实现某些功能的相关模块组合(Group)在一起,构成新的功能模块,成为子系统。自定义新功能模块的
23、方法:(1)在 Simulink 模块库浏览器的“Ports&systems”模块组中的“Subsystem”功能模块,利用其编辑区重新设计组合新的功能模块(可将要构成子系统的模块复制到其中);(2)在模型窗口中,选择要构成子系统的模块,然后执行菜单“Edit”下的“Greate Subsystem”,创建新功能模块。2)子系统的封装当一个大系统中子系统很多时,管理起来会相当麻烦,因为当修改子系统,特别是要修改子系统内多个模块的参数时,就要逐个打开模块参数对话框来进行操作,子系统封装后,可以将多个模块参数对话框集成为一个对话框,方便参数修改;其次,可以制作被封装子系统的图标,形象标识被封装子系
24、统模块并说明其用途;最后,可以将对个别模块的描述或者帮助集成在一起,能有效地帮助了解被封装定制的子系统。子系统封装的方法:选中要封装的子系统,然后执行菜单“Edit”下的“Mask Subsystem”,将打开“Mask editor”即子系统的封装编辑器,根据要求进行相应14 设置,便可得到封装了的子系统。封装步骤创建子系统;封装子系统;设置参数;修改和设计模块图标。三、实验内容1 双环调速的电流环系统的方框图模型如图3-1 所示:图中参数设为Ks=44;Ts=0.00167;Ta=0.017;R=1;Tm=0.075;Ce=0.1925;Kt=0.01178;T1=0.049;T2=0.0
25、88,(1)在 Simulink 集成环境下建立模型,在给定信号作用点处输入单位给定阶跃响应信号,并绘制相应的响应曲线。(2)将虚框中的模块自定义为一个新的功能模块,命名为控制对象。(3)设计 PID 调节器替代图中的比例积分调节器,调节KP,Ti,Td 用使系统满足超调量 15%,上升时间 0.3s,调节时间 0.4s 的要求。(要求将加入的PID 控制器封装成一个模块使用)2 带饱和输出特性的PID控制系统的被控对象为8001()601sGses,其 PID控制器为110.022()(1)4cPDPIDIGsKT sKKK sT sss。以0()Gs 与()cGs 为前向通道构成单位反馈系
26、统。(1)试对于 PID控制器分别采用3种方法:PID控制 3个分量叠加、传递函数方框图与PID控制子系统绘制其Simulink 仿真模型图,并对其进行仿真;(2)将仿真结果输出到MATLAB 命令窗口,用 plot 命令绘制响应图,并通过图形编辑窗口,为图形加图名、坐标标注及图注。15 四、实验设备及注意事项1.计算机 70 台;图3-1 16 2.MATLAB 软件 1 套。注意不同版本MATLAB软件的异同。五、实验报告要求记录完成实验内容所采取的步骤、方法和结果。六、预习要求及思考题要求实验前,必须预习实验知识点,按实验内容的要求的做好设计,并写出根据自己的理解应得的结果,以便在实验时
27、进行比较、验证。17 实验四连续系统数值积分法仿真一、实验目的 1掌握数值积分法的基本概念和原理,掌握常用的数值积分法的使用;2分析数值积分算法的计算步长计算精度、速度、稳定性与的关系;3.对数值算法中的“病态问题”进行研究。二、实验基本知识用数字计算机来仿真或模拟一个连续控制系统的目的就是求解系统的数学模型。由控制理论知,一个n 阶连续系统可以被描述成由n 个积分器组成的模拟结构图。因此利用数字计算机来进行连续系统的仿真,从本质上讲就是要在数字计算机上构造出n 个数字积分器,也就是让数字计算机进行n 次数值积分运算。龙格-库塔(Runge-kutta)法是求解常微分方程初值问题最常用的一种数
28、值积分算法。著名的四阶RK法算法如下:112341213243(22)6(,)(,)22(,)22(,)kkkkkkkkkkhxxkkkkkf txhhkf txkhhkf txkkf th xhk(4-1)(一)面向方程的数值积分法仿真1、MATLAB 程序设计思路若系统的状态空间表达式为xAxbuyCx(4-2)其中A:nn;b:n1;C:1 n 假设在仿真中,数值积分法采用四阶龙格库塔方法,因对于n 阶系统,其状态方程式(4-2)可写成以下n 个一阶微分方程1122123.(,)(1,2,)iiiinniinxa xa xa xbuf t x xxxin18 故根据式(4-1)可得求解以
29、上一阶微分方程组的四阶龙格库塔公式如下:(1)()1234(22)(1,2,)6kkiiiiiihxxkkkkin11122211113112241133()()()()222()()()222()()()kkkiiiinnikkkiiiinniikkkiiiinniikkkiiiinniikka xa xa xbu thhhkaxkaxkbu thhhkaxkaxkbu tkaxhkaxhkb u th(4-3)式中kix为t=tk时刻的xi值,1kix为t=tk+h时刻的xi值。令:11111212111211212222313233414244TkkkknTkkkknTnTnTnTnxx
30、xxxxxxKkkkKkkkKkkkKkkk则式(4-3)可写成如下矩阵的形式112341213243(22)6()()()22()()22()()kkkkkkkkkkhxxKKKKKAxbu thhKA xKbu thhKA xKbu tKA xhKbu th根据式(4-2)可得t=tk+1时刻的输出11kkyCx19 2、基于 MATLAB ode函数的面向微分方程的数字仿真1)ode 的基本分类 ode45:中阶 RK法;ode23:低阶 RK法;ode113:变阶法;ode15s:变阶法,精度较高;ode23s:低阶法2)基本调用格式(以ode45 为例)t,y=ode45(F,tsp
31、an,y0)F ode 文件名字符串,对(,)yF t y进行描述,是一m函数;tspan=T0 TFINAL,可指定时刻;y0初始条件。t,y=ode45(F,tspan,y0,options)options=odeset(name1,value1,name2,value2,)options=odeset(oldopts,name1,value1,)给定系统参数并根据需要转为 状 态 空 间 表 达输入仿真时间和计算步长根 据 龙 格 库 塔 法K1,K2,K3,K4求和值1kx1kyt=Tf输出结果Ny图 4-1 面向方程的数值积分法仿真程序框开始给定输入信号20 options=odes
32、et(oldopts,newopts)(二)面向框图的数值积分法仿真当所给系统是以方框图的形式给出时,只需将各环节的参数及各环节的连接方式输入计算机,有仿真程序自动求出闭环系统的状态空间表达式,然后采用数值积分法进行求解。这种方法与上节介绍的方法相比,有以下几个主要优点:1)便于研究各环节参数对系统的影响;2)可以得到每个环节的动态响应;3)可对多变量系统进行仿真。下面具体介绍面向结构图的仿真方法。1、确定典型环节为了编制比较简单而且通用的仿真程序必须恰当选择仿真环节。在这里选用图4-2 所示的典型环节作为仿真环节,即()()()X scdsG sU sabs式中u为典型环节的输入,x为典型环
33、节的输出。利用这个典型环节,只要改变a,b,c 和d参数的值,便可分别表示以上所述的各一阶环节,至于二阶振荡环节,则可用两个一阶环节等效连接得到,如图4-3 所示。假设系统由n 个典型环节组成,一般将系统中各典型环节的系数写成如下矩阵的形式:11112222nnnnabcdabcdPabcd(4-4)2、连接矩阵一个控制系统用典型环节来描述时,必须用连接矩阵把各个典型环节连接起来。所谓连接矩阵,就是用矩阵的形式表示各个典型环节之间的关系。下面介绍连接矩阵的建立方法,假设多输入多输出系统的结构图如图4-4 所示。xubsadcx21TsTs1ku+-图 4-3 二阶振荡环节的等效结构图图 4-2
34、 典型环节21 图中带数字的方框表示典型环节,,表示比例系数。由图可得各环节的输入与各环节的输出间的关系以及系统的输出与环节的输出间关系分别为155121222323334354uxruxxruxxruxux和1423yxyx写成矩阵形式11522123323443550000100100001001000010010000000010000uxuxruxruxrux12132450001000100 xxyxyxxV352r1r2r3+-y1y2x3u4u3x2x1u2u1x4x5u5图 4-4 多变量系统结构图+22 写成0cuWxW ryW x(4-5)定义式中的W,W0 和Wc 阵为连
35、接矩阵,W反映了各典型环节输入输出间的连接关系,W0 反映了系统的参考输入与各环节输入间的连接关系,Wc 反映了系统的输出与各环节输出间的关系。3、系统的状态空间表达式假设系统由n 个典型环节组成,则根据典型环节的传递函数有()()()iiiiiiiXscd sGsUsabs即()()()()iiiiiiab s Xscd s Us写成矩阵形()()()()ABs X sCDs U s(4-6)式中:112200000000,0000nnababABab112200000000,0000nncdcdCDcd将式(4-5)进行拉氏变换后代入式(4-6)中可得000()()()()()()()()
36、()()()ABs X sCDs WX sW R sBDW sX sCWA X sCW R sDW sR s对上式两边取拉氏反变换得23 00()()BDW xCWA xCW rDW r(4-7)若参考输入向量r=r1r2,rmT中的r1,r2,rm均为阶跃函数,则上式可简化为0()()BDW xCWA xCW r(4-8)令,HBDW QCWA则式(4-8)可写成0HxQxCW r若H的逆存在,则有110 xHQxHCW r再令110,AHQBHCW可得xAxBr(4-9)上式即为闭环系统的状态方程,它是一个典型的状态方程,利用前面介绍的求解方法可方便地求出各典型环节的输出响应,最后根据式(
37、4-2)中的第二式便可求出系统的输出响应。MATLAb语言环境下的工具软件Simulink是这种仿真思路的典型体现。软件中以模块库形式提供了非常齐全的环节形式,包括了控制系统常用的各类环节。24(三)MATLAB中有关系统建模的命令series 串行系统连接Blkbuild 从方框图中构造状态空间系统parallel 并联系统连接Append 两个状态空间系统的组合feedback 反馈系统连接Connect 方框图建模cloop 单位反馈系统连接Augstate 将状态变量增广到输出中ssselect 从大系统中选择子系统Ssdelete 从模型中删除输入、输出或状态(四)病态系统对一个控制
38、系统,若其最大特征值与最小特征值相差很大,则在仿真中,对步长的选取很敏感,对算法的数值稳定性要求也很高,而描述这类系统的常微分方程,数学上通常称为“病态(stiff)”方程,该控制系统被认为是病态系统。三、实验内容1、求下图所示系统的阶跃响应()y t的数值解。(1v,1k,00t,给定环节参数及连接矩阵输入仿真时间和计算步长求和 Q阵值1HH,求A,B阵t=Tf输出结果根据龙格库塔法求状态方程的解Ny图 4-5 面向结构图的数值积分法仿真程序框图开始给定输入信号25 10ft0.25h)分析k、v对系统响应的影响。(编程完成;Simulink)2、已知系统状态状态方程为21192019212
39、0,(0)101404040Txx x采用RK4 法,步长分别取0.01,0.04,0.06h,求系统的零输入响应,并绘图分析各状态变量的响应状态及产生的原因。(提示:病态系统)四、实验设备及注意事项1.计算机 70 台;2.MATLAB 软件 1 套。注意不同版本MATLAB 软件的异同。五、实验报告要求记录完成实验内容所采取的步骤、方法和结果。回答思考题。六、预习要求及思考题要求实验前,必须预习实验知识点,按实验内容的要求的确定仿真方案,完成程序设计,以便在实验时进行调试、分析。思考题:1、在进行仿真计算时,是否选用的数值积分法的阶次越高越好?2、选用数值积分法进行仿真的原则。22(21)()(0.251)ksG sssv()y t()1()r tt保持器