- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab问题系统综合.ppt
Ch.6 线性系统综合 Matlab问题(1/2) 6.7 Matlab问题 本章讨论系统综合问题,涉及的主要计算问题有 连续线性定常系统的状态反馈与极点配置、 系统镇定、 系统解耦、 状态规测器设计等。 本节将讨论上述问题基于Matlab的问题求解和系统仿真。 Matlab问题(2/2) 在这一节中,还将介绍进行线性定常系统综合问题的仿真平台软件lti_synth_analysis,以及该软件平台在状态反馈与极点配置、系统镇定、系统解耦、状态规测器设计以及线性二次型最优控制等系统综合问题中的应用。 下面分别介绍 反馈控制系统的模型计算 反馈极点配置 系统镇定 系统解耦 状态观测器 反馈控制系统的模型计算(1/7) 6.7.1 反馈控制系统的模型计算 基于Matlab提供的建立状态空间模型函数ss()和建立传递函数模型函数tf(),可以实现反馈控制系统的模型计算。 编著者为此设计了反馈系统模型计算函数fdb_model()。 该函数可以实现状态反馈和输出反馈的闭环系统状态空间模型和传递函数模型计算。 反馈控制系统的模型计算(2/7) 反馈系统模型计算函数fdb_model()的源程序为 反馈控制系统的模型计算(3/7) 反馈控制系统的模型计算(4/7) 反馈系统模型计算函数fdb_model()用于计算反馈控制律 状态反馈律: u=-Kx+Hv 输出反馈律: u=-Ky+Hv 下的闭环系统模型。 基于反馈系统模型函数fdb_model (),可方便地求解闭环控制系统的状态空间模型和传递函数模型。 函数fdb_model()的调用格式为: clsys = fdb_model(sys,K,H,type1,type2) 其中,sys为状态空间模型; K为反馈矩阵; H为前馈矩阵。 反馈控制系统的模型计算(5/7) 若type1为字符串‘state’,则K为状态反馈矩阵; type1为字符串‘output’,则K为输出反馈反馈矩阵。 type2为字符串‘ss’,则表示输出模型clsys为状态空间模型; 若type2为字符串‘tf’,则输出模型clsys为传递函数模型矩阵。 输入项type2和type1可以按从右到左顺序分别缺省为ss和state。 反馈控制系统的模型计算(6/7) Matlab问题6-1 试在Matlab中计算例6-1的系统 在状态反馈矩阵K=[3 1]下的状态反馈闭环系统的传递函数模型。 Matlab程序m6-1如下。 反馈控制系统的模型计算(7/7) Matlab程序m6-1执行结果如下. 在状态反馈矩阵K=[3 1]下的状态反馈闭环系统的传递函数模型。 函数fdb_model()的源程序运用了3个新的Matlab的语句和函数,分别为 计算函数调用输入项项数函数nargin()、检查函数调用输入项项数范围函数nargchk()和 错误报告函数error()。 函数nargin()和nargchk()(1/4) (1) 函数nargin()和nargchk() 前面介绍的Matlab函数(M文件)大多允许在调用时允许有不同的输入格式和输出格式,允许部分输入输出项缺省,使得一个函数可以实现多个相同或相似功能。 这种具有多重功能函数的程序设计方法称为函数重载。 Matlab的函数重载主要是通过检查函数调用时输入输出的项数以及各输入输出项的数据结构类型来实现的。 为此,Matlab提供了查询函数调用时输入输出项数、检查该项数是否合法以及输入输出项类型的函数。 函数nargin()和nargchk()(2/4) 函数nargin()用于Matlab的函数(M文件)体中,它查询它所在函数当前被调用时实际输入项的项数,其主要调用格式为: n = nargin 其中,返回的数值n即为函数nargin所在函数体内当前被调用时的实际输入项的项数。 函数nargchk()的用途是在函数体内检查函数当前被调用的实际输入项是否符合指定的范围,其主要调用格式为 msgstr = nargchk(minargs, maxargs, numargs) msgstr = nargchk(minargs, maxargs, numargs, string) 其中,minargs和maxargs为所在函数被调用的输入项项数的合法最小值和最大值; numargs为求得的输入项项数,可以直接为函数nargin(返回的值为输入项项数)。 函数nargin()和nargchk()(3/4) 对第1种调用格式,当输入项项数小于最小值minargs或大于最大值maxargs时,输出msgstr分别为符号串‘Not enough input arguments.’或‘Too many input arguments.’。 对第2种调用格
文档评论(0)