% Script quadMin2
% Minimum and Maximum of a quadratic q(x) = x^2 + bx + c
% [Use ELSEIF]

close all

disp('Min and max of quadratic x^2 + bx + c over [L,R]')
b = input('Enter b: ');
c = input('Enter c: ');
L = input('Enter L: ');
R = input('Enter R (L<=R): ');

xc = -b/2;  % critical value
if L<=xc && xc<=R
   % critical point is inside the interval
   xMin= xc;
   if (xc-L)>(R-xc)
       xMax= L;
   else
       xMax= R;
   end
elseif xc < L
   xMin= L;
   xMax= R;
else
   xMin= R;
   xMax= L;
end
qMin= xMin^2 + b*xMin + c;
qMax= xMax^2 + b*xMax + c;

fprintf('Min value is %.4f\n', qMin)
fprintf('Max value is %.4f\n', qMax)

% Plot a graph
xvector= linspace(L, R, 100);
qvector= xvector.^2 + b*xvector + c;
plot(xvector,qvector, xMin,qMin,'o', xMax,qMax,'*')
title('q(x) from x=L to x=R')