Mo Logo [Home] [Lexikon] [Aufgaben] [Tests] [Kurse] [Begleitmaterial] [Hinweise] [Mitwirkende] [Publikationen]

Mathematik-Online-Kurs: MATLAB - Anwendungen

Minimierung mit MATLAB


[vorangehende Seite] [nachfolgende Seite] [Gesamtverzeichnis][Seitenübersicht]

Ein lokales Minimum einer reellen Funktion auf einem Intervall $ [a,b]$ kann in MATLAB mit dem Befehl

[x,fx]=fminbnd(fct,a,b)
bestimmt werden. Die Funktion fct wird als als Funktions-Handle oder Inlinefunktion übergeben.

Der Rückgabewert x enthält die gefundene Minimalstelle, der optionale Rückgabewert fx den entsprechenden Funktionswert.

Das folgende Beispiel zeigt, dass sowohl lokale Randminima als auch innere lokale Minima gefunden werden, nicht immer jedoch das globale Minimum.

>> x=fzero('sin',3)
x =
    3.1416
>> fct = @(x) x*sin(x)
fct = 
   @(x) x*sin(x)

>> x = fminbnd(fct,0,pi)
x =
   4.5994e-005
>> x = fminbnd(fct,0,2*pi)
x =
   4.9132
>> x = fminbnd(fct,0,10*pi)
x =
   11.0855

Zur Minimierung multivariater Funktionen steht der Befehl

[x, fx]=fminsearch(fct,x0)
zur Verfügung. Damit wird ein lokales Minimum in der Nähe eines Startvektors x0 gefunden, wie in dem folgenden Beispiel illustriert ist.

>> fct=@(x) x(1)^4-x(1)^2+x(2)^4
fct = 
   @(x)x(1)^4-x(1)^2+x(2)^4

>> x = fminsearch(fct,[1 0])
x =
  0.7071   0.0003


[vorangehende Seite] [nachfolgende Seite] [Gesamtverzeichnis][Seitenübersicht]

  automatisch erstellt am 5.2.2008