/* 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