/* distStudent.js Essa unidade implementa a distribuição de Student e sua inversa. Pré-requisitos distGlobais.js distBetaI.js Se for usada a função studentInversa(P,gl): distInverte.js */ /* ************** FUNCTION STUDENT(t,GL,tipo) *************** Calcula a probabilidade "entrecaudas" da distribuição de Student com "GL" graus de liberdade. Retorna um objeto da classe Resultado. Pré-requisitos: * função betai(a,b,x) * classe Resultado() */ function student(t,GL,tipo){ var R = new Resultado() beta = betai(GL/2.0,0.5,GL/(GL+t*t)) if(beta.erro) return R.msg(beta.valor) if(tipo==ENTRECAUDAS) return R.val(1.0-beta.valor) // entre caudas else if (t>=0.0) return R.val(1.0-beta.valor/2.0) // acumulada else return R.val(beta.valor/2.0) // acumulada }// function student /* ************* CLASS OBJETOSTUDENT(gl,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 de Student. 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 student(x,gl) */ function ObjetoStudent(gl,tipo){ this.gl=gl this.tipo=tipo this.func=function func(x){ return student(x,this.gl,this.tipo) }// method func }// objetoStudent /* ************** FUNCTION STUDENTINVERSA(P,gl,tipo) *************** Calcula a inversa da probabilidade da distribuição de Student com "GL" graus de liberdade. Retorna um objeto da classe Resultado. Pré-requisitos: * classe ObjetoStudent */ function studentInversa(P,gl,tipo){ var obj = new ObjetoStudent(gl,tipo) return inverte(obj,P ,0,1,0.0000001) }// function studentInversa