Kyuubi
(usa Kurumin)
Enviado em 06/01/2008 - 01:34h
Bom dia! O meu problema é o seguinte.
Fiz um algoritmo que gera numeros aleatórios segundo uma distribuição de poisson. Estes dados são alocados num vector v. O problema é k eu tenho que mostrar o gráfico desta distribuição mas não sei como fazelo.
Já pesquisei o comando "plot" mas não sei como utilisalo. Agradecia que alguem me pudesse ajudar.
Este é o codigo que fiz até agora (estou compilando no kdevelop) Não é grande coisa porque eu não sou um pro na programação mas axo que esta a fubcionar como o esperado.
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>
#include <math.h>
double fatorial(double x);
int main (void){
int i,tam;
float lambeda;
double X,Xf,*v;
srand(time(NULL));
printf ("Quantos numeros pretende gerar?\n");
scanf ("%d", &tam);
printf ("Qual o valor de lambeda?\n");
scanf ("%f",&lambeda);
if( (v = malloc(tam * sizeof(int))) == NULL ) {
printf("Out of memory\n");
exit (1);
}
for (i=0; i<tam; i++){
X=( (float)rand() )/RAND_MAX;
Xf=fatorial(X);
printf("%f \t",Xf); //so para ver se o calculo esta bem feito
v[i]= (((pow (lambeda, X))/Xf)*(pow ((exp)(1), -X)));
}
for (i=0; i<tam; i++)
printf ("\n %f \n",v[i]);// ver o que esta no vector
}
double fatorial(double x){ // calculo do factorial de x, como x não é um numero inteiro, teremos que usar esta formula
double k;
double fat;
k = (x/(exp(1)));
fat = ((sqrt((2*3,14)*x))* pow (k , x));
return(fat);
}