求助,关于Hinf控制器
num=400;den=
g=tf(num,den);
nw1=100*conv(,);
dw1=conv(,);
nw3=;
dw3=;
=tf2ss(num,den);
s=mksys(a,b,c,d);
w1=;
w3=;
tss=augtf(s,w1,[],w3);
=hinf(tss);
=branch(cf1);
gc=zpk(ss(af,bf,cf,df))
刚涉入鲁棒控制,有基本教材上都有这个例子,可是却实现不了,显示=hinf(tss);这里有错误,请高手指点,谢谢。 可以运行,运行结果如下:
<< H-inf Optimal Control Synthesis >>
Computing the 4-block H-inf optimal controller
using the S-L-C loop-shifting/descriptor formulae
Solving for the H-inf controller F(s) using U(s) = 0 (default)
Solving Riccati equations and performing H-infinity
existence tests:
1.Is D11 small enough? OK
2.Solving state-feedback (P) Riccati ...
a.No Hamiltonian jw-axis roots? OK
b.A-B2*F stable (P >= 0)? OK
3.Solving output-injection (S) Riccati ...
a.No Hamiltonian jw-axis roots? OK
b.A-G*C2 stable (S >= 0)? OK
4.max eig(P*S) < 1 ? OK
-------------------------------------------------------
all tests passed -- computing H-inf controller ...
DONE!!!
-------------------------------------------------------
Zero/pole/gain:
8597.8554 (s+42.84) (s^2+ 2s + 400)
-------------------------------------
(s+5)^2 (s^2+ 308.5s + 4.388e004) 哦,谢谢楼上,你倒是提醒了我,也许是我的matlab没安装完全,我只装了一个盘,怪不得helphinf 都找不到。下载个再安装试试 请问2楼,为什么我完全安装了matlab后还是不能运行,错误如下:
??? Attempt to execute SCRIPT hinf as a function.
Error in ==> hinf at 18
=hinf(tss); 我用的是7.1版本,按理来说这个不是问题 不好意思,原来是文件名不对,改个文件名就好了。 有时候一个不注意的小问题就能让人憋半天的。
页:
[1]