版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验 一 利用MATLAB进行线性系统的模型转换及联结实验目的:1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数、零极点模型之间相互转换的方法;2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。3、通过编程、上机调试,掌握系统模型的联结方法。实验原理:一、连续系统(1)状态空间模型 (1.1)其中:是系统的状态向量,是控制输入,是测量输出,是维状态矩阵、是维输入矩阵、是维输出矩阵、是直接转移矩阵。在MATLAB中,用(A,B,C,D)矩阵组表示。系统传递函数和状态空间模型之间的关系如式(1.2)所示。 (1.2)(2)传递函数模型在MATLAB中,直接用分子/
2、分母的系数表示(3)零极点增益模型在MATLAB中,用z, p, k矢量组表示,即例1.1 求由以下状态空间模型所表示系统的传递函数,编写并执行以下的m-文件: A=0 1 0;0 0 1;-5 25 5; B=0;25;-120; C=1 0 0; D=0;num,den=ss2tf(A,B,C,D) 得到: num= 0 -0.0000 25.0000 5.0000 den= 1.0000 5.0000 25.0000 5.0000 因此,所求系统的传递函数是例1.2 考虑由以下状态空间模型描述的系统:求其传递函数矩阵。 解 这是一个2输入2输出系统。描述该系统的传递函数是一个维矩阵,它包
3、括4个传递函数:当考虑输入时,可设为零,反之亦然。执行以下的m-文件:A=0 1;-25 4; B=1 1;0 1; C=1 0;0 1; D=0 0;0 0; num1,den1=ss2tf(A,B,C,D,1) num2,den2=ss2tf(A,B,C,D,2)得到: num1=0 1 40 0 -25 den1= 1 4 25 num2= 0 1.0000 5.0000 0 1.0000 -25.0000 den2= 1 4 25 因此,所求的4个传递函数是例1.3 试给出以下传递函数的状态空间实现解 执行以下的m-文件: num=0 0 10 10; den=1 6 5 10; A,
4、B,C,D=tf2ss(num,den) 得到 A= -6 -5 -101 0 0 0 1 0 B= 1 0 0 C= 0 10 10 D= 0 因此,所考虑传递函数的一个状态空间实现是二、离散系统(1)传递函数模型(2)零极点增益模型(3)状态空间模型三、三种模型间的转换表示状态空间模型和传递函数的MATLAB函数。 函数ss(state space的首字母)给出了状态空间模型,其一般形式是 SYS = ss(A,B,C,D) 函数tf(transfer function的首字母)给出了传递函数,其一般形式是 G=tf(num,den) 其中的num表示传递函数中分子多项式的系数向量(单输入
5、单输出系统),den表示传递函数中分母多项式的系数向量。 (1)传递函数模型与状态空间模型间的转换:函数tf2ss给出了传递函数的一个状态空间实现,其一般形式是A,B,C,D=tf2ss(num,den)函数ss2tf给出了状态空间模型所描述系统的传递函数,其一般形式是num,den=ss2tf(A,B,C,D,iu)其中对多输入系统,必须确定iu的值。例如,若系统有三个输入和,则iu必须是1、2或3,其中1表示,2表示,3表示。该函数的结果是第iu个输入到所有输出的传递函数。 (2)传递函数模型与零极点模型间的转换:函数tf2zp将传递函数模型转换为零极点模型,其一般形式是z, p, k=t
6、f2zp(num,den)函数zp2tf将零极点模型转换为传递函数模型,其一般形式是num,den=zp2tf(z, p, k)(3)零极点模型与状态空间模型间的转换:函数tf2zp将零极点模型转换为状态空间模型,其一般形式是A,B,C,D=zp2ss(z, p, k)函数zp2tf将状态空间模型转换为零极点模型,其一般形式是z, p, k=ss2zp(A,B,C,D,iu)四、系统建模与模型联结(1)并联 将两个系统按并联方式连接,用parallel函数实现格式:a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2)a,b,c,d=parallel(a1,b1,c
7、1,d1,inp1,inp2,out1,out2)a,b,c,d=parallel(num1,den1,num2,den2)例1.4 两子系统为将两者作并联连接输入num1=3;den1=1,4;num2=2,4;den2=1,2,3;num,den=parallelnum1,den1,num2,den2得到num= 0 5 18 25den= 1 6 11 12;因此(2)串联 将两个系统按串联方式连接,用series函数实现(3)闭环 将系统通过正负反馈连接成闭环系统,用cloop函数实现(4)反馈将两个系统按反馈方式连接成闭环系统,用feedback函数实现(5)利用函数sppend构造
8、增广系统;(6)函数blkbuild和connect得到多个子系统任意联结构成的系统。实验步骤: 1、根据所给系统的已知条件,如传递函数、零极点模型或(A、B、C、D),实现状态空间模型、传递函数模型、零极点增益模型之间的转换,采用MATLAB的相关函数编写m-文件。 2、应用系统建模工具,并联、串联、闭环、反馈等函数解决实际问题。3、在MATLAB界面下调试程序。 实验要求: 1在运行以上例程序的基础上,应用MATLAB求下面传递函数阵的状态空间实现提示:num =0 0 1 2;0 1 5 32一个双输入双输出系统求出此模型的能控标准型和能观标准型。提示:写出两个子系统的传递函数模型,进而
9、求出这两个传递函数模型的能控标准型实现或能观标准型实现,讨论是否能通过子系统的能控标准型实现或能观标准型实现求出原来系统的能控标准型和能观标准型。2008年12月11日 星期四 下午 05:09今天终于把matlab数学实验这本书的基础部分看完了。从中可以看出,很多都是通过矩阵解出的。学习它,需要知道微积分,数值分析,这个是基础的。当学到符号函数的时候,非常高兴,因为在我看来,这可以给出准确完整的结果。但是,符号解法并不是matlab的长项,maple在这方面是厉害的。在控制原理中,例如求零点、极点,求状态方程,传递函数,能观能控判别,matlab都已经有相关的函数解决,很是方便,不必麻烦再去
10、编程了。下面收集了一些matlab小技巧。1. Ctrl+C 中断正在执行的操作2. figure命令新建一个绘图窗口figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口。当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象。所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到)。figure(N),将编号为N的窗口置为当前figure,出现在所有窗口的最前面,如果该窗口不存在,则新建一个编号为N的空白figure。3. 注释掉一段程序:%、%。经典方法是用 if 0,但缺点是不够直观
11、,注释掉的内容仍然保持代码的颜色。现在可以用 %和 的组合。输入%后,后面的代码都会变绿,在注释结束的地方再加上 % 。也可以选中要注释内容,在右键菜单中选择Comment (Uncomment去掉注释标记),或使用快捷键Ctrl+R。将光标放在需要注释的行中,按Ctrl+R,将该行变为注释。取消注释也是一样的,快捷键为Ctrl+T。4. doc 命令名,打开命令的帮助文档与help命令不同,帮助文档MATLAB Help中对命令的描述更详细,往往还有一些例子,更便于理解。5. clc 清屏清除命令窗口中的所有输入和输出信息,不影响命令的历史记录。6. clear 和clear allclea
12、r 变量名:可以清除workspace中的无用的变量,尤其是一些特别大的矩阵,不用时及时清理,可以减少内存占用。clear all 清除所有的变量,使workspace一无所有,当重新开始一次算法验证时,最好执行一次,让workspace中的变量一目了然。7. close all如果开了多个绘图窗口,用这个命令将它们一起关掉。8. 上下光标键在命令窗口中,上下光标键可以将历史记录中的命令复制到输入位置,便于快速重新执行。如果输入命令的前几个字母如 row, col =,再使用光标键,则只会选择以这些字母开始的命令。9. Tab补全对名称记得不太清楚的命令,可以输入开头的几个字母,然后按Tab键
13、,当只有一个以这些字母开头的命令时,将自动补全命令名,否则显示一个命令名列表,方便从中选择。当然,只在命令窗口中有效。10. cell模式在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了。cell模式相当于将其中的代码拷贝到命令窗口中运行。两个%后接一个空格(% )开始一个cell。将输入光标放到一个cell中时,背景将变为浅黄色,Ctrl+Enter执行cell中的代码。执行cell中代码时不需要保存m文件,该m文件可以不在路径列表中。cell模式中,断点不起作用,当然,调用的子程序中的断点还是正常的。11. 获取文件列表,批处理MATLA
14、B内置了一些文件操作命令,例如cd(切换工作目录),dir(同ls,显示目录内文件列表)等。dir命令可以返回目录中的文件和文件夹列表,存在一个结构体数组中。如果需要对一些数据文件进行批处理,而文件名又没有一定的规律,你可能需要借助于这个命令。12.符号函数求导的一点体会:比如要表示dx/dt,应该这样操作,“syms t;x=sym(x(t);xx=diff(x,t)”; 需要注意的是sym(x(t),x(t)换成x(h)、y都不对,只有表示成x(t),matlab中隐含对t求导,必须表示成x(t)。Matlab符号数学工具箱应用简介Matlab符号运算是通过集成在Matlab中的符号数学工
15、具箱(Symbolic Math Toolbox)来实现的。和别的工具箱有所不同,该工具箱不是基于矩阵的数值分析,而是使用字符串来进行符号分析与运算。实际上,Matlab中的符号数学工具箱是建立在Maple基础上的,当进行Matlab符号运算时,它就请求Maple软件去计算并将结果返回给Matlab。Matlab的符号数学工具箱可以完成几乎所有得符号运算功能。这些功能主要包括:符号表达式的运算,符号表达式的复合、化简,符号矩阵的运算,符号微积分、符号函数画图,符号代数方程求解,符号微分方程求解等。此外,工具箱还支持可变精度运算,既支持符号运算并以指定的精度返回结果。在一般的Matlab书籍中都
16、会对Matlab的符号运算做一些介绍,本文将略去这些简单的部分,主要对比较复杂的部分做一些介绍,另外,限于篇幅,和前面几篇一样,在此也仅仅列出函数的名称和功能,至于其参数设置,可借助Matlab的帮助系统一、符号表达式的运算n,d=numden(a) 提取符号表达式a的分子和分母,并将其存放在n和d中n=numden(a) 提取符号表达式a的分子和分母,只将分子存放在n中symadd(a,b) 返回符号表达式a和b的和,也可直接用a+bsymsub(a,b) 返回符号表达式a和b的差,也可直接用a-bsymmul(a,b) 返回符号表达式a和b的积,也可直接用a*bsymdiv(a,b) 返回
17、符号表达式a和b的商,也可直接用a/bsympow(a,b) 返回符号表达式a的b次幂,也可直接用abcompose(f,g) 返回复合函数f(g(y)compose(f,g,z) 返回自变量为z的复合函数f(g(z)compose(f,g,x,z) 返回复合函数f(g(z),并使x成为f函数的独立变量。即,如果f=cos(x/t),则compose(f,g,x,z)返回复合函数cos(g(z)/t),而compose(f,g,t,z)返回cos(x/g(z)compose(f,g,x,y,z) 返回复合函数f(g(z),并且使x与y分别成为f与g函数的独立变量。即如果f=cos(x/t),g
18、=sin(y/u),compose(f,g,x,y,z)返回cos(sin(z/u)/t),而compose(f,g,x,u,z)返回cos(sin(y/z)/t)finverse(f) 返回符号函数f的反函数finverse(f,v) 返回自变量为v的符号函数f的反函数symsum(s) 返回10)(xxssymsum(s,v) 返回10)(xvssymsum(s,a,b) 返回baxs)(symsum(s,v,a,b) 返回bavs)(二、符号与数值间的转换以及符号的可变精度计算numeric(p) 将符号表达式p 转化为数值表达式eval(p) 将符号表达式p 转化为数值表达式sym2p
19、oly(p) 将符号多项式p 转换成它的Matlab 等价系数向量digit 察看现在系统中的算术运算精度digit(n) 将系统的运算精度调整为小数点后n 位subs(f,new,old) f 为符号表达式,new 与old 是字符、字符串或其他的符号表达式,new 字符串将替换符号表达式f 中的old 字符串三、符号表达式的化简pretty(f) 将符号表达式化简成与高等数学课本上显示符号表达式形式类似collect(f) 合并符号表达式的同类项horner(f) 将一般的符号表达式转换成嵌套形式的符号表达式factor(f) 对符号表达式进行因式分解expand(f) 对符号表达式进行展
20、开simplify(f) 对符号表达式进行化简,它利用各种类型的代数恒等式,包括求和、积分、三角函数、指数函数以及Bessel 函数等来化简符号表达式simple(f) 对符号表达式尝试多种不同的算法进行化简,以显示长度最短的符号表达式简化形式r,how=simple(f) 返回的r 为符号表达式进行化简后的形式,how 为所采用的简化方法四、符号矩阵transpose(A) 符号矩阵的转置determ(A) 符号矩阵的行列式det(A) 符号矩阵的行列式inv(A) 符号矩阵求逆rank(A) 符号矩阵求秩B,C=eig(A) B为A 的特征向量,C 为A 特征值B,C=eigensys(A) B 为A 的特征向量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业项目成本控制与预算管理手册
- 企业员工团队建设指南(标准版)
- 建筑施工质量检测标准操作手册
- 企业财务管理与预算
- 企业战略管理与企业变革手册
- 企业技术管理手册
- 商场运营管理与服务规范(标准版)
- 城市园林绿化养护操作规范
- 环保监测技术操作指南
- 物流运输成本管理与效率提升手册
- 回收反向开票课件
- 脾胃病科知识培训课件
- 2026年陕西机电职业技术学院单招职业技能测试题库新版
- 2025年下半年宝山区国有企业员工招聘笔试参考题库附答案解析
- 液压系统安全培训教学课件
- 2025年高考化学真题分类汇编专题08 电化学综合(原卷版)
- 陕西省2026年中考数学仿真模拟试卷试题(含答案详解)
- 农业生产用水使用权合同书
- 急诊护理的人文关怀
- 2025年道路危险货物运输押运人员从业资格考试题库(含答案)
- 2025年机动车检测维修专业技术人员职业资格考试(检测评估与运用技术-案例分析)历年参考题库含答案详解(5套)
评论
0/150
提交评论