Java - Ayuda para desarrollar ecuaciones cubicas

   
Vista:

Ayuda para desarrollar ecuaciones cubicas

Publicado por Wilder Linares Agip (1 intervención) el 21/03/2015 02:35:11
Como estan, es la primara ves que participo en estos foros y espero puedan resolver una duda, ase algunos meses empece a programar en java solo como un pasatiempo sin embargo mientras escribia el esqueleto de un programa para desarrollar ecuaciones cubicas mediante la formula de Cardamo me di cuenta que, la formula en los valores "X1" y "X2" siempre me arroja como resultado el valor "1" y no se a que se debe esto.
Este es el esqueleto del programa, en relidad es muy basico solo ingresar datos, procesar en la formula y dar el reultado
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//espero su ayuda
 
package ecuaciones;
import java.util.Scanner;
 
public class Uso_Ecuaciones {
 
	public static void main(String[] args) {
 
		Scanner ingresar=new Scanner(System.in);
 
		String a,b,c,d;
 
                double valorA,valorB,valorC,valorD;
 
		double p,q;
 
		double delta;
 
		double X1,X2,X3, resul;
 
		System.out.println("Ingrese los coeficientes de la ecuacion: ");
		System.out.println("Ax^3 + Bx^2 + Cx + D");
 
		//pedir datos
 
		System.out.println("Ingrese el primer coeficiente, A: ");
		a=ingresar.nextLine();
		valorA=Double.parseDouble(a);
		System.out.println("Ingrese el segundo coeficiente, B: ");
		b=ingresar.nextLine();
		valorB=Double.parseDouble(b);
		System.out.println("Ingrese el tercer coeficiente, C: ");
		c=ingresar.nextLine();
		valorC=Double.parseDouble(c);
		System.out.println("Ingrese el cuarto coeficiente, D: ");
		d=ingresar.nextLine();
		valorD=Double.parseDouble(d);
 
		double coefA=(valorB/valorA);
		double coefB=(valorC/valorA);
		double coefC=(valorD/valorA);
 
		//operacion1
 
		p=(3*coefB-Math.pow(coefA, 2))/3;
 
		q=((2*Math.pow(coefA, 3))-(9*coefA*coefB)+(27*coefC))/27;
 
		//discriminante
 
		delta=Math.pow((q/2),2)+Math.pow((p/3),3);
 
		//Resultado
		//Es en esta formula donde creo que esta el error
 
		X1=(Math.pow((-q/2)+(Math.sqrt(delta)), 1/3));
		X2=(Math.pow((-q/2)-(Math.sqrt(delta)), 1/3));
		X3=(coefA/3);
 
		resul=X1+X2-X3;
 
		//esta parte la escribi con la finalidad de ver en que parte de la formula fallaba
 
		System.out.println("El resultado es: "+ resul);
 
		System.out.println("parte1: "+ X1);
		System.out.println("parte2: "+ X2);
		System.out.println("parte3: "+ X3);
		System.out.println("coefA: "+ coefA);
		System.out.println("coefB: "+ coefB);
		System.out.println("coefC: "+ coefC);
		System.out.println("p: "+ p);
		System.out.println("q: "+ q);
		System.out.println("discriminante: "+ delta);
 
	}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder