Code covered by the BSD License  

Highlights from
MATLAB en zijn Symbolic Math Toolbox

image thumbnail

MATLAB en zijn Symbolic Math Toolbox

by

 

Leergang voor geïnteresseerden in de Computeralgebra - Systemen MATLAB en zijn Symbolic Math Toolbox

RelMaximum(f, a, b, Re, Ae)
function [xmax, ymax] = RelMaximum(f, a, b, Re, Ae)

%
% Bepaling van de plaats xmax van een relatief maximum op interval [a, b]
% van functie f
% Bepaling van de waarde ymax van f ter plaatse van xmax
%

m  = (a + b) / 2;
fa = feval(f, a);
fb = feval(f, b);
fm = feval(f, m);

while abs(b - a) > (abs(m) * Re + Ae)
   c  = (a + m) / 2;
   d  = (b + m) / 2;
   fc = feval(f, c);
   fd = feval(f, d);
   
   if     fc > fm
      int = 1;
   elseif fd > fm
      int = 2;
   else
      int = 3;
   end; % if
   
   switch int case { 1 }
      b  = m;
      fb = fm;
              case { 2 }
      a  = m;
      fa = fm;
              case { 3 }
      a  = c;
      b  = d;
      fa = fc;
      fb = fd;
   end; % switch
   
   m  = (a + b) / 2;
   fm = feval(f, m);
end; % while   

xmax = m;
ymax = fm;

%
%               ************ 
% Functiefile : RelMaximum.m 
%               ************
%

Contact us