/* distNormal.js Esta unidade calcula a distribuição normal. Para utilizá-la é necessário utilizar também as unidades: distGlobais.js e distGammaI.js para usar a função normalInversa é necessário usar a unidade distInverte.js */ /* *************** FUNCTION NORMAL(z, tipo) ************* Esta função calcula a função a probabilidade de uma distribuição normal padrão. O parâmetro "tipo" especifica se a probabilidade retornada será a probab. acumulada (tipo=0) ou entre as caudas (tipo=1 diferente de zero). Ela retorna um objeto da classe "Resultado". Caso a propriedade "erro" seja true, a mensagem de erro estará na propriedade "valor". Caso não haja erro o objeto retornado terá a propriedade "valor" contendo a probabilidade. O parâmetro "tipo" indica se a probabilidade retornada é acumulada (tipo=0) ou central (tipo != 0). Caso o valor se z seja negativo o parâmetro tipo é ignorado e a probabilidade retornada é a acumulada. Pré-requisitos: * a classe Resultado * a função gammp(a,x) */ function normal(z,tipo){ var R = new Resultado() var G = gammp(0.5,0.5*z*z) if(G.erro) return R.msg(G.valor) else { if(z>=0.0) if(tipo==ACUMULADA) return R.val((1+G.valor)/2.0) //acumulada else return R.val(G.valor) //entre caudas else return R.val((1-G.valor)/2.0) //acumulada } }// normal /* ********* CLASS OBJETONORMAL(tipo) ******************* Encapsula as propriedades e métodos necessários para a criação de um objeto a ser usado como parâmetro das funções zbrac e "inverte" na geração da inversa da distribuição normal. O parâmetro "tipo" indica se a distribuição é acumulada (tipo=0) ou entre caudas (tipo não zero). O método "func(x)" retorna um objeto da classe "Resultado" com a probabilidade normal na propriedade "valor" Pré-requisito: * função normal(z, tipo) */ function ObjetoNormal(tipo){ this.tipo=tipo this.func=function func(x){ return normal(x,tipo) } // method func(x) }// ObjetoNormal /* *************** FUNCTION NORMALINVERSA(P, tipo) ************* Esta função calcula a função a inversa da probabilidade com uma distribuição normal padrão. O parâmetro "tipo" especifica se a probabilidade retornada será a probab. acumulada (tipo=0) ou entre as caudas (tipo=1 diferente de zero). Ela retorna um objeto da classe "Resultado". Caso a propriedade "erro" seja true, a mensagem de erro estará na propriedade "valor". Caso não haja erro o objeto retornado terá a propriedade "valor" contendo a probabilidade. Pré-requisitos: * a classe Resultado * a função inverte */ function normalInversa(P,tipo){ var R = new Resultado() var obj = new ObjetoNormal(tipo) return inverte(obj,P ,0,1,0.0000001) }//function normalInversa