Ejemplo:
arreglo=[4,2,-17,1,5,6,7,8,3,-2,16,28,2];
>> arreglo
arreglo =
4 2 -17 1 5 6 7 8 3 -2 16 28 2
>> [a,b]=min(arreglo)
a =
-17
b =
3
>> [c,d]=max(arreglo)
c =
28
d =
12 Sin embargo, si se quiere realizar usando ciclos y comparativas lo podemos realizar de la siguiente manera:
clc%limpiar la ventana de comandos
clear%borrar las variables declaradas
close all%cerra las ventanas de figuras
%% ejemplo para encontrar minimo y maximo
%declaramos nuestro arreglo llamado "arreglo"
arreglo=[4,2,-17,1,5,6,7,8,3,-2,16,28,2];
%declaramos una variable llamada "num_max" para almacenar al
número más
%grande del arreglo, al cual le asignamos el valor del arreglo en su
%posicion inicial, en el caso de matlab en la posición 1, si se trata de
%otro lenguaje de programación seria la posicion 0
num_max=arreglo(1);
pos_num_max=1;%declaramos
la variable para almacenar la posicion, como
%a num_max le asignamos el valor de la posición 1 a pos_num_max le
%asignamos 1
%realizamos lo mismo para el numero más pequeño
num_min=arreglo(1);
pos_num_min=1;%declaramos
la variable para almacenar la posicion, como
%a num_max le asignamos el valor de la posición 1 a pos_num_min le
%asignamos 1
%ahora creamos un ciclo for que vaya desde segunda posición del arreglo
%hasta el tamano total de elementos del arreglo, pues ya vimos la primer
%posicion
for i=2:1:length(arreglo)
%aqui
inician las comparaciones recorriendo cada uno de los ementos del arreglo
%comparamos el valor del elemento del arreglo en su posicion i, si es
%menor entonces asignamos ese eleento a nuestra variable num_min y así
%sucecivamente hasta recorrer todo el arreglo tendiendo al final
%en nuestra variable num_min el elemento con el menor valor
if arreglo(i)<num_min
num_min=arreglo(i);
pos_num_min=i;%actualizamos
la pocicion asignando el valor de i
end
%lo mismo hacemos para encontrar el elemento de mayor valor pero
cambiamos
%el signo de comparacion por lo cual al terminar todas las iteraciones
%tendremos en num_max al elemento de mayor valor
if arreglo(i)>num_max
num_max=arreglo(i);
pos_num_max=i;%actualizamos
la pocicion asignando el valor de i
end
end
No hay comentarios:
Publicar un comentario