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


0