hinfsyn()函数在MATLAB扔一个0的控制器

2视图(30天)
我想了解吗 hinfsyn (P, n mea, ncont) 在MATLAB函数
作为练习,我设计了一个 简单的弹簧质量阻尼系统 并实施hinfsyn()函数。例如,这就是我使用:
m = 1;% 1公斤
b = 12;% 12 n / m
k = 20;% 20 N / m
s =特遣部队(“年代”);
G = 1 / (m * s ^ 2 + b * s + k)%系统传递函数
W1 = 1 / (s + 1);%将权重函数
Gnom = [0 1;w1 - g);%植物传递函数
P = ss (Gnom);%植物状态空间模型
n mea = 1;%。产出的测量
ncont = 1;%。的控制
[K CL伽马]= hinfsyn (P, n mea, ncont);%应用hinfsyn函数
[numK, denK] = ss2tf (K。K。B, K。C, K.D);%检索控制器的传递函数
Ktf =特遣部队(numK,德克);
虽然这是一种方法,我遇到了 它说,使用这些函数返回的状态空间模型稍微不同的分布式天线系统。因此,我也试着独立计算每个元素的状态空间模型使用tf2ss Gnom()函数,然后形成植物状态空间模型。然后我将植物模型传递给hinfsyn()函数。
读了些后,我使用了另一个 这里描述的方法 分布式天线系统以及检索控制器的传递函数k .这里的代码是:
%检索转变功能的控制器
我= 1:ncont
j = 1: n mea
[numk, denk] = ss2tf (K (i, j)。K (i, j)。B K (i, j)。C K (i, j) .D);
Ktf (i, j) =特遣部队(numk denk);
结束
结束
%显示控制器传递函数
disp (Ktf大小的);
disp(大小(Ktf));
numK =得到(Ktf,“分子”);
denK =得到(Ktf,“分母”);
disp (“num的Ktf”);
disp (numK {1});%显示控制器传递函数的分子
disp (“Ktf是窝”);
disp (denK {1});%显示控制器传递函数的分母
然而,使用这两种方法仍返回我一个控制器的分子是0如下:
大小Ktf是
2 - 2
全国矿工工会Ktf是
0 0 0 0
Ktf是
1.0000 13.0000 32.0000 20.0000
我相信这是一个错误的地方不可能是正确的。我可以有人指出任何错误。也帮我在做有效的以任何方式你认为的代码。谢谢你!
这是系统的控制回路图我想实现,供您参考。这里的δ块表示的不确定性应该占hinfsyn函数。

答案(0)

s manbetx 845


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!