grace_105 发表于 2006-6-23 16:36

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

<P>在做输出反馈控制器设计时,对于Xdot=AX+BU<br>                                                    Y=CX<br>设计一个静态输出反馈控制器U=kY时,得到的k是个常数,而需要的k是个1×2的才满足状态模型,怎样得到1×2维的k值呢?<br>程序如下:<br>a=;<br>b=;<br>c=;<br></P>
<P>setlmis([]);<br>x=lmivar(1,);<br>y=lmivar(1,);<br>ew=lmivar(2,);<br>   <br>lmiterm(,1,a','s');                  % LMI #1: x*a'+a*x<br>lmiterm(,b');                        % LMI #1: b'<br>lmiterm(,1,-1);                        % LMI #1: -y<br>lmiterm(,c,1);                         % LMI #1: c*x<br>lmiterm(,-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>=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编辑过]

realyyy 发表于 2006-6-23 21:40

共同关注ing (楼主的意思是y已知(y为一常数),且k*k'=y,如何求一个维数为1x2的k)
[此贴子已经被作者于2006-6-23 22:42:11编辑过]
页: [1]
查看完整版本: [求助]LMI求解中,若k×k'=y,已知y,怎样求k?