/* distQui.js Implementa a distribuição Qui Quadrado. Deve ser usada junto com: distGlobais.js distGammaI.js e se for usada a função quiQuadradoInversa, a unidade distInverte.js */ /* ************* QUIQUADRADO(x2,gl) **************** Esta função calcula probabilidade acumulada de uma distribuição qui quadrado. O parâmetro "gl" especifica o número de graus de liberdade. 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 função gammp(a,x) */ function quiQuadrado(x2,gl){ return gammp(gl/2,x2/2) }// function quiQuadrado /* *********** CLASS OBJETOQUI(gl) *************** 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 qui quadrado. O parâmetro "gl" é o número de graus de liberdade. O método "func(x)" retorna um objeto da classe "Resultado" cuja propriedade "valor" é a probabilidade qui quadrado com "gl" graus de liberdade Pré-requisito: * função quiQuadrado(x,gl) */ function ObjetoQui(gl){ this.gl=gl this.func=function func(x){ return quiQuadrado(x,this.gl) }// method func }// ObjetoQui /* ************* QUIQUADRADOINVERSA(P,gl) **************** Esta função calcula inversa da probabilidade acumulada de uma distribuição qui quadrado. O parâmetro "gl" especifica o número de graus de liberdade. 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 função inverte(obj,y,x1,x2,tol) * a classe ObjetoQui(gl) */ function quiQuadradoInversa(P,gl){ var obj = new ObjetoQui(gl) return R = inverte(obj,P ,0,1,0.0000001) }// function quiQuadradoInversa