Programme > Beispiel: Suchen des lokalen Minimums/Maximums von Vektoren
Beispiel: Suchen des lokalen Minimums/Maximums von Vektoren
1. Schreiben Sie ein Programm zum Suchen der lokalen Minima von Datensätzen, und verwenden Sie dabei eine Kombination bedingter Anweisungen und Schleifen:
Die Funktion locmin sucht den Eingabevektor v und vergleicht jedes Element mit seinen beiden Nachbarelementen. Wenn das Element k kleiner ist als das Element vor ihm und das Element nach ihm, handelt es sich um ein lokales Minimum, und sein Wert und Index werden dem Ausgabevektor m hinzugefügt.
2. Erstellen Sie mithilfe des obigen Programms ein zweites Programm, um die Maxima des gleichen Datensatzes zu suchen:
Die Funktion locmax verwendet die beim Aufruf von locmin mit -v erhaltenen Ergebnisse. Das lokale Minimum -v ist ein Spiegelbild eines lokalen Maximums am gleichen Index. Daher wird jeder Wert eines lokalen Minimums mit -1 multipliziert. Das Index-Wert-Paar wird im Ausgabevektor M als ein einzelnes Element gespeichert.
3. Definieren Sie die Funktion f, welche die integrierte Funktion dbinom verwendet, die die Wahrscheinlichkeitsdichte für den Wert k zurückgibt:
4. Plotten Sie die beiden obigen Funktionen:
5. Speichern Sie die Elemente von g(k,n) in einem Array, damit dieses den von Ihnen definierten Programmen übergeben werden kann:
6. Verwenden Sie die integrierte Funktion length, um festzustellen, wie viele locmin- und locmax-Punkte von Ihren Programmen gefunden wurden:
7. Suchen Sie mithilfe Ihrer Programme nach den drei lokalen Minimumpunkten für die Funktion:
8. Suchen Sie mithilfe Ihrer Programme nach den beiden lokalen Maximumpunkten für die Funktion:
9. Plotten Sie die Funktion, und zeigen Sie die drei lokalen Minimum- und die beiden lokalen Maximumpunkte an:
10. Vergleichen Sie die Ergebnisse mithilfe Ihrer Programme mit den Ergebnissen, die mit den integrierten Funktionen localmin und localmax erzielt wurden (die als Eingabe eine nx2-Matrix benötigen):
a. Erstellen Sie die nx2-Eingabematrix:
b. Verwenden Sie die integrierten Funktionen, um die lokalen Minimum- und Maximumpunkte zu ermitteln:
Die Ergebnisse stimmen überein.
Prüfen Sie stets, ob integrierte Funktionen verfügbar sind, bevor Sie neue Programme schreiben.