Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void getX (double dP, int iDof){
- double dXaux = 1.0, dD = 0.5, dE = 0.00000001, dPSimpson = 0;
- boolean bDir = true, bLoop = true;
- while(bLoop){
- dPSimpson = Simpson(dXaux, iDof);
- if(Math.abs((dP - dPSimpson)) < dE){
- bLoop = false;
- break;
- }
- if((dPSimpson - dP) > dE){
- if(!bDir){
- dXaux -= dD;
- }
- else {
- dD /= 2;
- dXaux -= dD;
- bDir = true;
- }
- }
- if((dP - dPSimpson) > dE){
- if(bDir){
- dXaux += dD;
- }
- else {
- dD /= 2;
- dXaux += dD;
- bDir = false;
- }
- }
- }
- //set de la cantidad de decimales en x
- try{
- BigDecimal bdX = new BigDecimal(dXaux);
- bdX = bdX.setScale(5, BigDecimal.ROUND_HALF_UP);
- dXaux = bdX.doubleValue();
- }
- catch(NumberFormatException e){
- System.out.println("error");
- }
- //Manda a llamar a la impresion de datos
- Imprimir print = new Imprimir();
- print.ImprimirDatos(dP, iDof, dXaux);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement