Code covered by the BSD License  

Highlights from
MATLAB en zijn Symbolic Math Toolbox

image thumbnail

MATLAB en zijn Symbolic Math Toolbox

by

Tjibbele Miedema

 

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

RelMinimum(f, a, b, Re, Ae)
function [xmin, ymin] = RelMinimum(f, a, b, Re, Ae)
%RELMINIMUM Bepaling van relatief minimum van functie f op interval [a, b]
%
% Bepaling van de plaats xmin van een relatief minimum op interval [a, b]
% van functie f
% Bepaling van de waarde ymin van f ter plaatse van xmin
%
%  Input parameters :
% -------------------
%
% --- f      : string die te onderzoeken definieert
% --- [a, b] : te onderzoeken interval
% --- Re, Ae : respectievelijk relatieve - en absolute fout
%
% Output parameters :
% -------------------
%
% --- xmin   : plaats van het gevonden minimum
% --- ymin   : waarde van het gevonden minimum
%

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 = 'intam';
   elseif fd < fm
      int = 'intmb';
   else
      int = 'intcd';
   end; % if
   
   switch int case { 'intam' }
      b  = m;
      fb = fm;
              case { 'intmb' }
      a  = m;
      fa = fm;
              case { 'intcd' }
      a  = c;
      b  = d;
      fa = fc;
      fb = fd;
   end; % switch
   
   m  = (a + b) / 2;
   fm = feval(f, m);
end; % while   

xmin = m;
ymin = fm;

%
%               ************ 
% Functiefile : RelMinimum.m 
%               ************
%

Contact us