El siguiente programa genera una ristra valores que siguen una distribución uniforme de media y desviación típica elegidas por el usuario. En otras entradas se muestra como apartir de este programa, generar otros tipos de distribuciones distintas a la uniforme (Ver aquí). Los valores de salida se guardan en un fichero de texto. El código es el siguiente:
/*programa que genera una serie de numeros aleatorios
que siguen una distribución uniforme, pidiendo al usuario
el número de datos, y los registra en un fichero .txt*/
#include <stdio .h="">
#include <stdlib .h="">
FILE *archivo;
int i,dat;
float num, mini, maxi;
int main(void)
{
/*creamos el archivo de texto*/
archivo=fopen("prueba.txt","w");
printf("GENERADOR DISTRIBUCION UNIFORME \n");
printf("Seleccione valor minimo de la distribucion: ");
scanf("%f", &mini);
printf("Seleccione valor maximo de la distribucion: ");
scanf("%f", &maxi);
printf("Seleccione el numero de datos a crear: ");
scanf("%i", &dat);
/*reiniciamos la semilla de generacion de numeros
aleatorios (srand48 para generar numeros decimales)*/
//srand(time(NULL));
for (i=1; i<=dat; i++)
{
/*(rand()/RAND_MAX) nos devuelve un numero
aleatorio con distribucion uniforme entre 0 y 1.
Se hace un cast para pasar el numero que esta en
formato entero a formato coma flotante, para que
la division no sea entre eneteros*/
num=(float)rand()/RAND_MAX*(maxi-mini)+mini;
fprintf(archivo, "%f \n", num);
}
fclose (archivo);
return 0;
}
Salu10
Resolución de distintos problemas en el ámbito de la ingenieria mediante el uso de la programación. Los programas abarcan todos los niveles de dificultad, así como la mayoría de las herramintas con las que contamos al programar. Si tienes cualquier duda a cerca de un programa, o quieres proponer alguna nueva entrada, no dudes en contactar escribiendo en cualquiera de las entradas del blog ¡Bienvenido!
viernes, 12 de febrero de 2016
Distribución uniforme en C/C++
Etiquetas:
#C,
distribución uniforme,
Estadísitca,
probabilidad,
rand,
Señales
Suscribirse a:
Enviar comentarios (Atom)
Hola, soy Samuel Medina, creador y administrador de cobre2software.com y me gustaría que pudiesemos compartir códigos, tutoriales, ... para tener más visitas.
ResponderEliminarSi te interesa la idea escibeme a contacto@cobre2software.com
Un saludo