Programas > Ejemplo: búsqueda de min/max locales de vectores
Ejemplo: búsqueda de min/max locales de vectores
1. Escriba un programa, con una combinación de sentencias compuestas y bucles, para encontrar los mínimos locales de conjuntos de datos:
La función locmin examina el vector de entrada v y compara cada elemento con sus dos vecinos. Si el elemento k es menor que los situados delante y detrás de él, se trata de un mínimo local y su valor e índice se añaden al vector de salida m.
2. Utilice el programa anterior para escribir un segundo programa para encontrar los máximos del mismo conjunto de datos:
La función locmax usa los resultados recibidos al llamar a locmin con -v. Un mínimo local de -v es una imagen especular de un máximo local en el mismo índice. En consecuencia, cada valor de un mínimo local se multiplica por –1. El par índice-valor se guarda como un solo elemento en el vector de salida M.
3. Defina la función f que usa la función integrada dbinom que devuelve la densidad de probabilidad del valor k:
4. Trace las dos funciones anteriores:
5. Guarde los elementos de g(k,n) en un array de modo que se pueda pasar a los programas que ha definido:
6. Use la función de longitud integrada para ver cuántos puntos locmin y locmax han encontrado los programas:
7. Use sus programas para encontrar los tres puntos locales mínimos de la función:
8. Use sus programas para encontrar los dos puntos locales máximos de la función:
9. Trace la función y muestre sus tres puntos locales mínimos y sus dos puntos locales máximos:
10. Compare los resultados obtenidos mediante los programas con los obtenidos mediante las funciones integradas localmin y localmax (que requieren como entrada una matriz nx2):
a. Cree la matriz de entrada nx2 mediante la función augment:
b. Use las funciones integradas para obtener los puntos locales mínimo y máximo:
Los resultados concuerdan.
Compruebe siempre la disponibilidad de las funciones integradas antes de escribir nuevos programas.