Script gyak5_BIBO

file:   gyak5_BIBO.m
author: Peter Polcz <ppolcz@gmail.com>
Created on 2017.03.16. Thursday, 18:59:45

Contents

global SCOPE_DEPTH
SCOPE_DEPTH = 0;

TMP_QVgVGfoCXYiYXzPhvVPX = pcz_dispFunctionName;

try c = evalin('caller','persist'); catch; c = []; end
persist = pcz_persist(mfilename('fullpath'), c); clear c;
persist.backup();
%clear persist
┌gyak5_BIBO
│   - Persistence for `gyak5_BIBO` reused (inherited) [run ID: 6901, 2017.03.16. Thursday, 20:08:34]
│   - Script `gyak5_BIBO` backuped

System operator norm

s = tf('s');
H = (4 + s) / (2 + s + s^2)
[Hinf,peak_freq] = norm(H,Inf)

T = 12;
freqspan = [0.1 100];
[h,t] = impulse(H,T);
h_norm1 = trapz(t,abs(h))

figure('Position', [ 430 247 1218 355 ], 'Color', [1 1 1]), subplot(121)
bopts = bodeoptions;
bopts.MagUnits = 'abs';
bopts.PhaseUnits = 'rad';
bopts.XLim = freqspan;
plot(freqspan, [1 1]*Hinf,'r:', 'LineWidth', 1.5), hold on
plot([1 1]*peak_freq, [-10 10], 'r:', 'LineWidth', 1.5)
bodeplot(H,bopts);
ptitle(sprintf('$%s = %g$ (peak gain marked by red dotted line)','\\mathcal{H}_\\infty', Hinf))
grid on

subplot(122), hold on
plot(t,h)
plot(t([1,end]),[1 1]*dcgain(s*H),':','Color',[1 1 1]*0.5, 'LineWidth',2),
xlim([0,T])
ptitle(sprintf('$%s = %g$', '\\int_0^\\infty |h(t)| {\\rm d} t', h_norm1))
grid on
H =
 
     s + 4
  -----------
  s^2 + s + 2
 
Continuous-time transfer function.

Hinf =
    3.1625
peak_freq =
    1.2257
h_norm1 =
    3.8706
Warning: Error updating Text.

 String must have valid interpreter syntax:
$\mathcal{H}_\infty = 3.16249$ (peak gain marked by red dotted line)
 
Warning: Error updating Text.

 String must have valid interpreter syntax:
$\mathcal{H}_\infty = 3.16249$ (peak gain marked by red dotted line)
 

End of the script.

pcz_dispFunctionEnd(TMP_QVgVGfoCXYiYXzPhvVPX);
clear TMP_QVgVGfoCXYiYXzPhvVPX
└ 1.5828 [sec]