声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1570|回复: 1

[编程技巧] [求助]LMI求解中,若k×k'=y,已知y,怎样求k?

[复制链接]
发表于 2006-6-23 16:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P>在做输出反馈控制器设计时,对于Xdot=AX+BU<br>                                                    Y=CX<br>设计一个静态输出反馈控制器U=kY时,得到的k是个常数,而需要的k是个1×2的才满足状态模型,怎样得到1×2维的k值呢?<br>程序如下:<br>a=[0 0 0 0;0 -0.088317 0.625 0;0 0 0 1;0 -0.002725 0.3283625 0];<br>b=[0;-0.883167;0;2.356553];<br>c=[1 0 0 0;0 0 1 0];<br></P>
<P>  setlmis([]);<br>  x=lmivar(1,[4 1]);<br>  y=lmivar(1,[1 1]);<br>  ew=lmivar(2,[1 1]);<br>   <br>  lmiterm([1 1 1 x],1,a','s');                    % LMI #1: x*a'+a*x<br>  lmiterm([1 2 1 0],b');                          % LMI #1: b'<br>  lmiterm([1 2 2 y],1,-1);                        % LMI #1: -y<br>  lmiterm([1 3 1 x],c,1);                         % LMI #1: c*x<br>  lmiterm([1 3 3 0],-inv(ew));                    % LMI #1: -inv(ew)<br>       <br>  lmiterm([-2 1 1 x],1,1);                        % LMI #2: x 即令正定x&gt;0,默认为&lt;0,所以用-2表示第二个LMI大于0<br>  lmiterm([-3 1 1 ew],1,1);                        % LMI #3: ew 即令α&gt;0,是正实数,此处将α用ew表示,-3表示第三个LMI大于0<br>  s1=getlmis;<br>  <br>  [lp kp]=feasp(s1) %此处用来求s1的可行解,返回的lp&lt;0,则该LMI可行。<br>  <br>   x=dec2mat(s1,kp,x)<br>   y=dec2mat(s1,kp,y);<br>   ew=dec2mat(s1,kp,ew)<br>   p=inv(x)          % 到此已求出了x,y,ew,p的值,以下要用正交补求k<br>   <br>   <br>   y=y/ew;        %由ew×inv(y)除以.ew得到inv(y)<br>   y=inv(y)     %再求逆得到所求的y  此处y=0.1505<br><FONT color=#ff0000>   z=orth(y);  <br>   t=chol(y);<br>   k=(z*t)'      %此处得到k=0.3879,我想得到一个1×2的k,怎样修改程序呢?</FONT></P><br>
[此贴子已经被作者于2006-6-23 16:42:51编辑过]

回复
分享到:

使用道具 举报

发表于 2006-6-23 21:40 | 显示全部楼层
共同关注ing (楼主的意思是y已知(y为一常数),且k*k'=y,如何求一个维数为1x2的k)
[此贴子已经被作者于2006-6-23 22:42:11编辑过]

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 00:42 , Processed in 0.072278 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表