Boa noite, preciso de um algoritmo que mostre a abcissa do ponto de interseção entre 3 funções, 2 a 2. São elas f(x) = 4 - x, g (x) = arctg (x) e h(x) = pow (e , -x). Nesse meu código todos os resultados estão dando 0, tentei com double e com BigDecimal. Podem me ajudar?
import static java.lang.Math.pow;
import java.math.BigDecimal;
public class Abscissas {
public static BigDecimal Funcaoh (double x) {
BigDecimal y = new BigDecimal("4.000");
double num = y.doubleValue();
num = num - x;
BigDecimal z = new BigDecimal(num);
return z;
}
public static BigDecimal Funcaog (double x) {
BigDecimal y = new BigDecimal("0.000");
BigDecimal e = new BigDecimal("2.718");
double i = -1*x;
double num = y.doubleValue();
double num2 = e.doubleValue();
num = pow(num2,(i));
BigDecimal z = new BigDecimal(num);
return z;
}
public static BigDecimal Funcaof (double x) {
BigDecimal y = new BigDecimal("0.000");
double num = y.doubleValue();
num=Math.atan(x);
BigDecimal z = new BigDecimal(num);
return z;
}
public static BigDecimal CalculaAbscissafg (double x) {
BigDecimal resultado = new BigDecimal("0");
for (x=0.000;x<10.000;x+=0.001) {
if (Funcaof(x) == Funcaog(x))
resultado = new BigDecimal(x);
}
return resultado;
}
public static BigDecimal CalculaAbscissafh (double x) {
BigDecimal resultado = new BigDecimal("000");
for (x=0.000;x<10.000;x+= 0.001) {
if (Funcaof(x) == Funcaoh (x))
resultado = new BigDecimal(x);
}
return resultado;
}
public static BigDecimal CalculaAbscissagh (double x) {
BigDecimal resultado = new BigDecimal("000");
for (x=0.000;x<10.000;x+= 0.001) {
if (Funcaog(x) == Funcaoh(x))
resultado = new BigDecimal(x);
}
return resultado;
}
public static void main(String[] args) {
double x=0.000;
System.out.println("Abscissa da interesecao entre f(x) e g(x):" + CalculaAbscissafg(x).toString());
System.out.println("Abscissa da intersecao entre f(x) e g(x):" + CalculaAbscissafh(x).toString());
System.out.println("Abscissa da interesecao entre g(x) e h(x):" + CalculaAbscissagh(x).toString());
}
}