evaluar funciones: ayuda
Hola a tod@s,
estoy intentando averiguar como evaluar funciones en Java: Os explico: estoy realizando una clase de operaciones matemáticas (sin, cos, e, ln...) con métodos optimizados (aproximacion de Taylor, etc) y ahora iba a implementar aproximaciones de integración por trapecios y por romberg cuando me he encontrado con el problema de q no sé como hacerlo para poder pasarle una función al método de integración para que ésta la evalue en un punto del intervalo. Es decir: si quiero hacer la integral de sin(x) en un intervalo [a,b], entonces al método integral le paso como parámetros "sin(x)","a" y "b" y el problema es cómo hago dentro del método "sin(a)" y "sin(b)". Estoy seguro q debe ser sencillÃsimo, pero no me acabo de aclarar. ¿Alguien me puede ayudar/orientar un poco? MUCHAS GRACIAS.
estoy intentando averiguar como evaluar funciones en Java: Os explico: estoy realizando una clase de operaciones matemáticas (sin, cos, e, ln...) con métodos optimizados (aproximacion de Taylor, etc) y ahora iba a implementar aproximaciones de integración por trapecios y por romberg cuando me he encontrado con el problema de q no sé como hacerlo para poder pasarle una función al método de integración para que ésta la evalue en un punto del intervalo. Es decir: si quiero hacer la integral de sin(x) en un intervalo [a,b], entonces al método integral le paso como parámetros "sin(x)","a" y "b" y el problema es cómo hago dentro del método "sin(a)" y "sin(b)". Estoy seguro q debe ser sencillÃsimo, pero no me acabo de aclarar. ¿Alguien me puede ayudar/orientar un poco? MUCHAS GRACIAS.
Define una interfaz Funcion que tenga un único método que devuelve el valor. Algo asÃ
public interface Funcion{
public double calcula(double);
}
Las funciones que quieras pasar como parámetros deberÃa implementar esta inteface.
Por ejemplo:
Funcion seno=new Funcion(){
public double calcula(double x){
//Aqui calculas el seno, o llamas a la función que ya habÃas creado
retun valor;
}
}
Para calcular sin(a) en tu método serÃa algo como:
public void tuMetodo(Funcion f,double a,double b){
//////...
sin_a=f.calcula(a);
//...
}
Asà tendrás una manera estandar de pasar funciones por parámetro.
Saludos!
public interface Funcion{
public double calcula(double);
}
Las funciones que quieras pasar como parámetros deberÃa implementar esta inteface.
Por ejemplo:
Funcion seno=new Funcion(){
public double calcula(double x){
//Aqui calculas el seno, o llamas a la función que ya habÃas creado
retun valor;
}
}
Para calcular sin(a) en tu método serÃa algo como:
public void tuMetodo(Funcion f,double a,double b){
//////...
sin_a=f.calcula(a);
//...
}
Asà tendrás una manera estandar de pasar funciones por parámetro.
Saludos!
