Saltar al contenido

Hallar el valor de la mediana de un array?

Puede darse el caso de que encuentres algún problema en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

Asumiendo el array X está ordenado y tiene una longitud norte:

Si n es impar entonces la mediana es x[(n-1)/2].
Si n es par entonces la mediana es ( x[n/2] + x[(n/2)-1] ) / 2.

Si desea utilizar cualquier biblioteca externa, aquí está la biblioteca de matemáticas de Apache commons, puede calcular la mediana.
Para obtener más métodos y usos, consulte la documentación de la API.

import org.apache.commons.math3.*;
.....
......
........
//calculate median
public double getMedian(double[] values)
 Median median = new Median();
 double medianValue = median.evaluate(values);
 return medianValue;

.......
  • Para obtener más información sobre el método de evaluación AbstractUnivariateStatistic#evaluate

Calcular en programa

Generalmente, la mediana se calcula utilizando las siguientes dos fórmulas dadas aquí

Si n es impar, entonces Mediana (M) = valor del ((n + 1)/2) término del elemento.
Si n es par entonces Mediana (M) = valor de [((n)/2)th item term + ((n)/2 + 1)th item term ]/2

Es muy fácil ya que tienes 9 elementos (número impar).
Encuentre el elemento medio de un array.
En tu programa puedes declarar array

//as you mentioned in question, you have array with 9 elements
int[] numArray = new int[9]; 

entonces tienes que ordenar array usando arreglos#ordenar

Arrays.sort(numArray);
int middle = numArray.length/2;
int medianValue = 0; //declare variable 
if (numArray.length%2 == 1) 
    medianValue = numArray[middle];
else
   medianValue = (numArray[middle-1] + numArray[middle]) / 2;

En Java:

int middleSlot = youArray.length/2;
yourArray[middleSlot];

o

yourArray[yourArray.length/2];

en una linea

Eso es posible porque en Java las matrices tienen un tamaño fijo.

Nota :3/2 == 1


Recursos :

  • Tutorial de Java – Matrices

Te mostramos las reseñas y valoraciones de los lectores

Si te animas, puedes dejar un enunciado acerca de qué te ha impresionado de este post.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *