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

Mathematik-Online-Kurs: MATLAB - Anwendungen

Nullstellenbestimmung mit MATLAB


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

Nullstellen einer reellen Funktion können in MATLAB mit dem Befehl
x=fzero(fct,x0)
bestimmt werden. Dabei beinhaltet fct die zu untersuchende Funktion (entweder als Funktions-Handle, Funktionsname oder Inlinefunktion) und x0 einen Punkt, in dessen Umgebung eine Nullstelle gefunden werden soll. Der Algorithmus basiert auf einer Kombination von Bisektion und inverser quadratischer Interpolation. Zunächst wird ein Intervall mit einem Vorzeichenwechsel der Funktion an den Endpunkten bestimmt. Ein solches Intervall kann auch anstelle eines Startwertes übergeben werden: x0=[a,b].

Die folgenden Beispiele illustrieren die Funktionsweise von fzero:

>> x=fzero('sin',3)
x =
    3.1416
>> x=fzero('sin',[-10,10])
x =
     0
>> x=fzero('x^2+4',0)
Exiting fzero: aborting search for an interval containing a sign change
    because NaN or Inf function value encountered during search.
(Function value at -1.7162e+154 is Inf.)
Check function or try again with a different starting value.
x =
   NaN

Das letzte Beispiel zeigt, dass komplexe Nullstellen nicht berechnet werden. Für Polynome steht hier der Befehl

z=roots(c)
zur Verfügung, der alle Nullstellen von $ p(z)=c_1z^n +c_2z^{n-1} +
\dots + c_{n+1}$ bestimmt. Beispielsweise erhält man mit
>> z=roots([1 0 4])
z =
        0 + 2.0000i
        0 - 2.0000i

die Nullstellen für das obige Beispiel.


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

  automatisch erstellt am 5.2.2008