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

1 Ansicht (letzte 30 Tage)
Kashish Pilyal
Kashish Pilyal am 4 Mai 2022
Bearbeitet: Paul am 4 Mai 2022
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?

Akzeptierte Antwort

Paul
Paul am 4 Mai 2022
Bearbeitet: Paul am 4 Mai 2022
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.

Weitere Antworten (0)

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by