Matlab - Valor intermedio en un vector

 
Vista:
sin imagen de perfil

Valor intermedio en un vector

Publicado por Alejandro (1 intervención) el 26/01/2023 20:18:51
Hola. Quisiera ver si me pueden asesorar con este problema.

Tengo un vector de 1x3 de números enteros entre valores 1 y 10, por ejemplo [2, 4, 8].
Quisiera un algoritmo que me devolviese el valor intermedio de los tres (es decir ni el valor mayor ni el menor de los tres números), en este caso el 4.
Y que funcionase en caso de vectores con dos o los tres valores iguales, por ejemplo que de [1, 1, 8] me devolviese el 1, en caso de [2, 7, 7] me devolviese el 7 y en casos de [9, 9, 9] el 9.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lindsey
Val: 419
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Valor intermedio en un vector

Publicado por Lindsey (119 intervenciones) el 26/01/2023 21:11:34
Hola, si siempre van a ser 3 elementos, podrías usar:

a=[2 4 8];

sort(a)(2)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Richtofen

Valor intermedio en un vector

Publicado por Richtofen (20 intervenciones) el 27/01/2023 10:59:18
Lo que preguntas no es el concepto de mediana? Si siempre son 3 elementos directamente te vale:

1
2
a = [1,2,3];
median(a)

Si tienes más elementos de longitud impar, te vale directamente.

Si tienes elementos impares, te devolvera la media de los dos elementos intermedios (tras ordenar de mayor a menor, pero median() ya hace todo eso por ti)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar