diff --git a/robust/mult_uncertainty.m b/robust/mult_uncertainty.m index 4494af3..b5e565b 100644 --- a/robust/mult_uncertainty.m +++ b/robust/mult_uncertainty.m @@ -37,7 +37,10 @@ opt = wcOptions('MussvOptions','m3'); % for better lower bound resp_im = info_num.Bounds(:, 2) ./ info_den.Bounds(:, 1); data_2 = frd(resp_im, w); -I_m_analytic_2 = tf(fitmagfrd(data_2, 2)); +% constrain the uncertainty to stay above the magnitude data +Constraint.LowerBound = data_2; +Constraint.UpperBound = []; +I_m_analytic_2 = tf(fitmagfrd(data_2, 2, [], [], Constraint)); sigma(I_m, w); hold; semilogx(w, 20*log10(info.Bounds(:, 2)), 'green');