controller design

function K=T2place(A,B,P);
%A,B are system matrix
%P is the desired characteristic polynomial
%(P=s^n+a_{n-1}s^{n-1}+\ldots+a_0)
%dimension of P is n+1
n=length(B);
Lc=ctrb(A,B);
m=rank(Lc);
if (m<n), disp('Uncontrollable'); return; end
[V1,D1,U1]=svd(Lc);
InLc=U1*inv(D1)*V1';
gamma=InLc(n,:);
Tinv=ctrb(A',gamma')';
[V2,D2,U2]=svd(Tinv);
T=U2*inv(D2)*V2';
Astf=Tinv*A*T;
for kk=1:n;
    Pi(kk)=P(n+2-kk);
end
Khat=Pi+Astf(n,:);
K=Khat*Tinv;
%调用
A=[1 1 0;0 0 1;10 3 -1];
B=[2;3;1];
p_temp=conv([1 1-j],[1 1+j]);
p=conv(p_temp,[1 2]);%期望的特征多项式
K=T2place(A,B,p);
%观测器设计
A=[1 1 0;0 0 1;10 3 -1];
C=[2 3 1];
p_temp2=conv([1 6],[1 6]);
po=conv( p_temp2,[1 6]);
Kob=T2place(A',C',po)';

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值