Matlab实现系统能控性演示设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab实现系统能控性演示设计

系统能控性演示设计 自动化135 设计原理 能控性定义:线性x=Ax+Bu。若给定系统的一个初始状态x(t0)( t0可为0),如果在t1 t0的有限时间区间[t0 , t1]内,存在允许控制u(t),使x(t1)=0,则称系统在t0时刻是能控的。如果系统对任意的一个初始状态都是能控的,则称系统是完全能控的,简称系统是能控的。若系统能控,则C=[B A*B A2*B ……A(n-1)*B]满秩。 设计步骤 1.框架搭建: 首先,利用能控性定义,通过matlab的gui建立系统模型,确定输入输出参数,建立基本框架,并修改好每个框架的参数。 其中ABCD四个文本编辑框为四个输入状态矩阵位置,是否能控的按键可以通过算法得出结果,并将结果表现在系统能控性的文本编辑框中。 重置按键:单击重置按键,清空所有的输入参数,方便重新输入参数。 在t1处输入持续时间,在x(0)中输入初始状态参数。然后点击绘图可以实现x(t)的绘制。 2.回调函数编写: 1.判断是否能控 function sfnk_Callback(hObject, eventdata, handles) a=str2num(get(handles.a0,String)); b=str2num(get(handles.b0,String)); Qc=ctrb(a,b) Rc=rank(Qc) [m,n]=size(a) if rank(Qc)==m set(handles.ee,String,系统能控); else set(handles.ee,String,系统不能控); end 2.重置 set(handles.AA,String,); set(handles.BB,String,); set(handles.NENGKONG,String,); set(handles.ZHUANGTAI,String,); set(handles.SHIJIAN,String,); axes(handles.axes1); cla reset; 3.输入初始状态和持续时间“确定”按钮的回调函数 function huitu_Callback(hObject, eventdata, handles) a=str2num(get(handles.a0,String)); b=str2num(get(handles.b0,String)); c=str2num(get(handles.c0,String)); d=str2num(get(handles.d0,String)); I=str2num(get(handles.xxx,String)); T=str2num(get(handles.ttt,String)); syms x; y=expm((-a)*x)*b*b*expm((-a)*x); Wc=int(y,x,0,T); Wc1=inv(Wc); syms t; u=-b*expm((-a)*t)*Wc1*I; mt=expm(-a*t)*b*u; for M=0:0.01:T xT=expm(a*M)*I+expm(a*M)*(int(mt,t,0,M)); [iT jT]=size(xT); for i=1:iT m=xT(i,:); axes(handles.axes1); plot(M,m,*); title(系统在控制作用u(t)作用下状态量变化过程,fontname,楷体); grid on hold on end end 总结与经验: 在这一次大作业中,我学习到了两点知识: 1.关于课堂的知识,也就是能控性的知识,学会了判断系统是否具有能控性及其判断条件。 2.学会了使用matlab的gui功能实现自己想要的系统,更加系统却高效的判断能控性并绘出状态变化图。 其次在这次大作业中还有两点心得体会: 1.团结就是力量,钻研知识,科研都需要大家互相团结,互相帮助,解决了很多问题。 2.万事开头难,所有的问题都是自己想象的觉得会很难,其实不然,只要开了头,也没有想象中的那么难。所以要敢于挑战,敢于尝试。

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档