LMC-Complexity: Complejidad estadística

Lidia Lipe Schlieper

// Se trata de calcular la complejidad estadísitca de una distribución discreta.
// Después de calcular H y D, calculamos el indicador de complejidad C=H*D.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define DIM 20

int main()
{
    int n, i;
    float p[DIM], H=0, D=0, a;

    printf ("Cuantos numeros tiene la probabilidad discreta que escribira a continuacion?n");
    scanf ("%d", &n);

    printf ("Escriba la probabilidad discreta:n");
    for (i=1; i<=n; i++)
       scanf("%f", &p[i]);

       //Cálculo de H (entropía de Shannon).

    for (i=1; i<=n; i++)
       H=H+(p[i]*log(p[i]));

    printf ("El valor de H es %fn", -H);

       //Cálculo de D (disequilibrium).

    for (i=1; i<=n; i++)
    {
       a=0;
       a=p[i]-(1.0/n);
       D=D+(pow( a, 2));
    }

    printf ("El valor de D es %fn", D);

       //Cálculo de C.

    printf ("El valor de C es %fn", (-H)*D);

      system("PAUSE");
      return 0;
}

// He estado haciendo comprobaciones y D no lo calcula bien, pero no he encontrado el error.

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

2 respuestas a LMC-Complexity: Complejidad estadística

  1. Ricardo dijo:

    mira ahora D si funciona: en la división he puesto (1.0/n) , que antes tal como estaba (1/n)  se hacía como un entero.por lo demás está correcto.Ricardo.

  2. Ricardo dijo:

    No hacia yo otra cosa que discutir con el ordenador.Muchas gracias.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s