Undefined function 'hinfnorm' for input arguments of type 'tf'.

1 回表示 (過去 30 日間)
Kashish Pilyal
Kashish Pilyal 2022 年 5 月 4 日
編集済み: Paul 2022 年 5 月 4 日
I am trying to calculate the H inf norm of a transfer function. The code is
theta=0;
kp=0.2;
kd=0.7;
tau=0.1;
h=0.5;
s=tf('s');
Gamma=(exp(-theta*s)*s^2*((0.6*s)+1)+(kd*s)+kp)/((h*s+1)*(s^2*((0.1*s)+1)+(kd*s)+kp));
ninf=hinfnorm(Gamma);
I do have the control system toolbox but I do not know why am I getting this error?

採用された回答

Paul
Paul 2022 年 5 月 4 日
編集済み: Paul 2022 年 5 月 4 日
Hi Kashish,
If you don't have the Robust Control Toolbox for hinfnorm(), you can probably use sigma() from the Control Systems Toolbox
Example from the Question:
theta=0;
kp=0.2;
kd=0.7;
tau=0.1;
h=0.5;
s=tf('s');
Gamma=(exp(-theta*s)*s^2*((0.6*s)+1)+(kd*s)+kp)/((h*s+1)*(s^2*((0.1*s)+1)+(kd*s)+kp));
ninf=hinfnorm(Gamma)
ninf = 1.0753
sv = sigma(Gamma);
max(sv(1,:))
ans = 1.0736
MIMO example from doc page for hinfnorm()
G = [0 tf([3 0],[1 1 10]);tf([1 1],[1 5]),tf(2,[1 6])];
ninf = hinfnorm(G)
ninf = 3.0150
sv = sigma(G);
max(sv(1,:))
ans = 2.9976
See the doc page for sigma() for more info to see if it will suit your needs.
Note that, unilke hinfnorm(),sigma() doesn't check for stability of the system.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeState-Space Control Design and Estimation についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by