Estatística

Publicado por Reginaldo de Matias 07/05/2007

[ Hits: 18.697 ]

Homepage: http://mundodacomputacaointegral.blogspot.com/

Download Estatistica.c




No script em anexo, o usuário informa o número de elementos, logo em seguida é lido e armazenado no vetor de n - elementos definido pelo usuário.

As saídas do programa são:

    média,variância,desvio padrão,variância da amostra, desvio padrão da amostra, e também constrói um intervalo de confiança de 95% (mais usado na estatística).

    Se o valor do N for maior que 30 (N>30) é usado a Distribuição Normal y = 95% -> (z=1,96).

    Senão é usado a Distribuição de t Student y = 95% -> (p = 5%).

  



Esconder código-fonte

/**************************************************************************
Autor: Reginaldo de Matias
Curso Bacharelado de Ciência da Computação - UDESC
Disciplina: Probabilidade e Estatística - EST-CCI
Fase: 3
***************************************************************************
Home Page: http://mundodacomputacao.home.sapo.pt
***************************************************************************
O presente programa o usuário informa o número de elementos, logo em 
seguida é lido e armazenado no vetor de n - elementos definido pelo usuário.
As saídas do programa são: 
    média,variância,desvio padrão,variância da amostra, desvio padrão da amostra,
    e também constroi um intervalo de confiança de 95% (mais usado na estatística).
    Se o valor do N for maior que 30 (N>30) é usado a Distribuição Normal y = 95% -> (z=1,96).
    Senão é usado a Distribuição de t Student y = 95% -> (p = 5%).
OBS: Testado e executado no Dev-C++ 
     Sistema Operacional: Windons XP
***************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define z 1.96
int main()
{
    float *vet = NULL;
    float soma = 0,media, var = 0,var_amostra = 0, dp,dp_amostra,e,LI,LS,t,ez;
    int N,i,j,gl;
    system("color 9B"); system("title EST-CCI");
    printf("Programa que calcula a media,variancia e desvio padrao\n\n");
    printf("Quantos valores? ");
    scanf("%i",&N);
    vet = (float *)malloc(N * sizeof(float));
    if(vet == NULL)
    {
        printf("\n!!!ERRO!!! Fracasso na alocacao do vetor.\n");
        system("Pause");
        exit(1);
    }
    for(i = 0; i < N; i++)
    {
        printf("valor[%i]: ",i);
        scanf("%f",&vet[i]);
        soma = (soma + vet[i]); 
        //printf("%f\n",soma);
    }
    media = (soma)/N;
    for(i = 0; i < N; i++)
    {
        /*var(x) = Sn ((xi - média)^2 ) /N*/
        var = (var + (pow(vet[i] - media,2))/N);
        /*s(x) = Sn ((xi - média)^2) / (N - 1)*/
        var_amostra = (var_amostra + (pow(vet[i] - media,2))/(N-1));
    } 
    dp = sqrt(var);
    dp_amostra = sqrt(var_amostra);
    if(N > 30)
    {
        /*Distribuição Normal com nível de confiança de 95%, logo z = 1,96*/
            e = ((z)*(dp_amostra))/(sqrt(N));
            LI = media - e;
            LS = media + e;
    }
    else
    {
        /*Distribuição t de Student com nível de confiança de 95%  logo p = 5%
        analisando na tabela na coluna de 5% e verificando seu grau de liberdade*/
        gl = N-1;
        if(gl == 1) t = 12.706;
        else if(gl == 2) t = 4.0303;
        else if(gl == 3) t = 3.182;
        else if(gl == 4) t = 2.776;
        else if(gl == 5) t = 2.571;
        else if(gl == 6) t = 2.447;
        else if(gl == 7) t = 2.365;
        else if(gl == 8) t = 2.306;
        else if(gl == 9) t = 2.262;
        else if(gl == 10) t = 2.228;
        else if(gl == 11) t = 2.201;
        else if(gl == 12) t = 2.179;
        else if(gl == 13) t = 2.160;
        else if(gl == 14) t = 2.145;
        else if(gl == 15) t = 2.131;
        else if(gl == 16) t = 2.120;
        else if(gl == 17) t = 2.110;
        else if(gl == 18) t = 2.101;
        else if(gl == 19) t = 2.093;
        else if(gl == 20) t = 2.086;
        else if(gl == 21) t = 2.080;
        else if(gl == 22) t = 2.074;
        else if(gl == 23) t = 2.069;
        else if(gl == 24) t = 2.064;
        else if(gl == 25) t = 2.060;
        else if(gl == 26) t = 2.056;
        else if(gl == 27) t = 2.057;
        else if(gl == 28) t = 2.048;
        else if(gl == 29) t = 2.045;
        else if(gl == 30) t = 2.042;
        else if(gl == 35) t = 2.030;
        else if(gl == 40) t = 2.021;
        else if(gl == 50) t = 2.009;
        else if(gl == 60) t = 2.000;
        else if(gl == 120) t = 1.980;
     ez = ((t)*(dp_amostra))/(sqrt(N));
     LI = media - ez;
     LS = media + ez;
    }    
    printf("\n\nResultados obtidos\n");
    printf("Soma: %f\n",soma);
    printf("Media: %f\n",media);
    printf("Variancia: %f\n",var);
    printf("Desvio Padrao: %f\n",dp); 
    printf("Variancia da Amostra: %f\n",var_amostra);
    printf("Desvio Padrao da Amostra: %f\n",dp_amostra);
    printf("\n\nIntervalo de Confianca -> 95%% => ]%f ; %f[\n\n",LI,LS);
    printf("\n********************************************\n");
    printf("         By Reginaldo de Matias              \n");
    printf("       Ciencia da Computacao - UDESC         \n");
    printf("********************************************\n");
    free(vet); /*libera o vetor alocado anteriormente*/
    vet = NULL;
system("Pause");
}     

Scripts recomendados

Maior ou menor

Milesegundos em C

Jogo da Velha contra o Computador.

Goldbach

Comando strieql


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts