matlab infinity,Matlab的H-infinity控制的例子

根据这段程序,接下来如何设计H∞控制器

>> kt=0.09183;

pkt=0.1;

j=0.0000063857;

pj=0.1;

ky=1.2;

pky=0.05;

pie=3.14;

w1=2*pie*50;

pw1=0.05;

z1=0.05;

pz1=0.05;

w2=2*pie*2200;

pw2=0.12;

z2=0.024;

pz2=0.08;

w3=2*pie*6400;

pw3=0.08;

z3=0.129;

pz3=0.1;

w4=2*pie*8800;

pw4=0.15;

z4=0.173;

pz4=0.1;

Mkt=[0 kt;pkt kt];

Mji=[-pj 1/j;-pj 1/j];

Mky=[0 ky;pky ky];

Mw1=[0 w1;pw1 w1];

Mz1=[0 z1;pz1 z1];

Mv1=[0 w1;pw1 w1];

Mw2=[0 w2;pw2 w2];

Mz2=[0 z2;pz2 z2];

Mv2=[0 w2;pw2 w2];

Mw3=[0 w3;pw3 w3];

Mz3=[0 z3;pz3 z3];

Mv3=[0 w3;pw3 w3];

Mw4=[0 w4;pw4 w4];

Mz4=[0 z4;pz4 z4];

Mv4=[0 w4;pw4 w4];

int1=nd2sys([1],[1 0]);

int2=nd2sys([1],[1 0]);

int3=nd2sys([1],[1 0]);

int4=nd2sys([1],[1 0]);

int5=nd2sys([1],[1 0]);

int6=nd2sys([1],[1 0]);

int7=nd2sys([1],[1 0]);

int8=nd2sys([1],[1 0]);

int9=nd2sys([1],[1 0]);

int10=nd2sys([50800],[1 0]);

systemnames='Mkt Mji Mky Mw1 Mz1 Mv1 Mw2 Mz2 Mv2 Mw3 Mz3 Mv3 Mw4 Mz4 Mv4 int1 int2 int3 int4 int5 int6 int7 int8 int9 int10';

sysoutname='G';

inputvar='[ukt;uj;uky;uw1;uz1;uv1;uw2;uz2;uv2;uw3;uz3;uv3;uw4;uz4;uv4;ic]';

input_to_Mkt='[ic;ukt]';

input_to_Mji='[uj;int2+int4+int6+int8]';

input_to_Mky='[int10;uky]';

>> input_to_Mw1='[uw1;Mkt(2)-int2+Mz1(2)]';

>> input_to_Mz1='[uz1;int1]';

>> input_to_Mv1='[int1;uv1]';

>> input_to_Mw2='[uw2;Mkt(2)-int4+Mz2(2)]';

input_to_Mz2='[uz2;int3]';

input_to_Mv2='[int3;uv2]';

>> input_to_Mw3='[uw3;Mkt(2)-int6+Mz1(2)]';

input_to_Mz3='[uz3;int5]';

input_to_Mv3='[int5;uv3]';

>> input_to_Mw4='[uw4;Mkt(2)-int8+Mz1(2)]';

input_to_Mz4='[uz4;int7]';

input_to_Mv4='[int7;uv4]';

>> input_to_int1='[Mw1(2)]';

>> input_to_int2='[Mv1(2)]';

>> input_to_int3='[Mw2(2)]';

>> input_to_int4='[Mv2(2)]';

>> input_to_int5='[Mw3(2)]';

>> input_to_int6='[Mv3(2)]';

>> input_to_int7='[Mw4(2)]';

>> input_to_int8='[Mv4(2)]';

>> input_to_int9='[Mji(2)]';

>> input_to_int10='[int9]';

>> outputvar='[Mkt(1);Mji(1);Mky(1);Mw1(1);Mw2(1);Mw3(1);Mw4(1);Mv1(1);Mv2(1);Mv3(1);Mv4(1);Mz1(1);Mz2(1);Mz3(1);Mz4(1);Mky(2)]';

>> sysic;

nuWp=[1 80000 100000000];

dnWp=[1 70000 25000];

gainWp=0.0001;

Wp=nd2sys(nuWp,dnWp,gainWp);

nuWu=[0.385 1 1];

dnWu=[0.0001 0.002 1];

gainWu=1000000;

Wu=nd2sys(nuWu,dnWu,gainWu);

nuM=[1];

dnM=[0.00000000375 0.00012 1];

M=nd2sys(nuM,dnM);

nuWn=[0.1 1];

dnWn=[0.001 1];

gainWn=0.0006;

Wn=nd2sys(nuWn,dnWn,gainWn);

systemnames='G Wp Wu Wn M';

>> inputvar='[pert{15};dist;control;ref;noise]';

>> outputvar='[G(1:15);Wp;-Wu;ref+G(16)-Wn;M;Wn]';

>> input_to_G='[pert;dist+control]';

>> input_to_Wp='[-G(16)+M]';

>> input_to_Wu='[control]';

>> input_to_M='[ref]';

>> input_to_Wn='[noise]';

>> sysoutname='sys_ic';

>> cleanupsysic='yes';

>> sysic;

谢啦

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值