Analisis Numerico

Páginas: 5 (1088 palabras) Publicado: 23 de abril de 2012
Clase adicional 7
Temas
Análisis numérico en Java
Búsqueda de raíces
Integración
Ejercicios de la clase adicional
Ejercicios de diseño

Análisis numérico en Java
El análisis numérico es una rama de la matemática aplicada que se dedica a crear y
evaluar técnicas para el empleo de ordenadores en la resolución de problemas
numéricos y a estudiar su convergencia y errores.
Considere crearuna función que busque la raíz de una función , f(x) = 0, en un
intervalo [a,b]. Este método de búsqueda de raíces debería tener la función f(x) como
argumento. En Java, dado que (casi) todo debe ser un objeto, esto se realiza
empaquetando la función que se desea pasar en un objeto. Posteriormente, se puede
pasar el objeto como un argumento al método que busca la raíz.
El empaquetado sesuele realizar declarando una interfaz que describe el objeto que
contiene una función. Una interfaz es como un modelo que especifica una o varias
capacidades (métodos) que se deben definir en cada clase que lo "implementa". Sólo se
pueden definir como interfaces los prototipos de función (los cuerpos de estos métodos
se pueden definir en las clases que implementan una interfaz concreta).
Porejemplo, vamos a declarar la siguiente interfaz:
interface MathFunction
{
public double func(double x);
}

Posteriormente, podemos utilizar esta interfaz para declarar una clase con una función
concreta:
class Function1 implements MathFunction
{
public double func(double x)
{
return x * x - 2; //definición para una función concreta,
//aquí, por ejemplo, representa f(x) = x*x-2;
}
} Ahora ya podemos definir nuestra función de búsqueda de raíces del siguiente modo:
public class RootFinder
{
public static double rootFindingMethod( MathFunction mathf, ...)
{
// busca la raíz para una función concreta
...
}
}

... y llamar a la función del siguiente modo con
Function1: double rootResult = RootFinder.rootFindingMethod(new Function1(),
...);

Por ejemplo, elsiguiente código buscará la raíz para Function1( f(x) = x2-2) utilizando el
método de bisección definido en el siguiente apartado (suponga que el método de
bisección está definido en la clase RootFinder): // método main() de la clase RootFinder
public static void main(String[] args) {
double root= RootFinder.bisect(new Function1(), -1.0, 2.0, 0.0001);
System.out.println("Raíz: " + root);System.exit(0);

}}

Búsqueda de raíces
Existen cuatro métodos "elementales" para buscar raíces. Entre ellos, el método de
bisección y el método de Newton se pueden utilizar para resolver problemas reales en
determinadas circunstancias. Los métodos de la secante y de posición falsa (regula
falsi) tienen únicamente un valor pedagógico. Consulte la referencia de fórmulas de C
para analizar éstos yotros métodos si realmente necesita buscar raíces; las primeras
páginas del texto de cada método son relativamente legibles y reveladoras.
En el caso de los métodos de bisección, secante y posición falsa, ofrecemos el
razonamiento que se esconde detrás de cada uno de ellos y un fragmento de
pseudocódigo que lo implementa. Este código es meramente ilustrativo, no es fiable y
no debe utilizarsepara problemas reales.
Bisección
Comience con un intervalo conocido para acotar una raíz.
Divídalo por la mitad, para reducir el intervalo a la mitad conocida y
contener una raíz. Repita esta acción hasta que el intervalo sea lo
suficientemente pequeño

public static double bisect( MathFunction f, double x1, double x2, double epsilon)
{
double m;
for (m= (x1+x2)/2.0; Math.abs(x1-x2)>epsilon; m= (x1+x2)/2.0)
if (f.func(x1)*f.func(m) epsilon)
{
y1 = f.func(x1);
y2 = f.func(x2);
root = x1-y1*(x2-x1)/(y2-y1);
x1 = x2;
x2 = root;
}

return root;
}
Posición falsa (regula falsi)
El método de posición falsa es prácticamente igual que el método secante. La
diferencia reside en que cuando el punto x* pasa a ser uno de los puntos finales del
siguiente intervalo, el otro...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analisis Numerico
  • Analisis Numerico
  • Analisis numerico
  • Analisis Numerico
  • Analisis Numerico
  • analisis numericos
  • Analisis Numerico
  • Analisis Numerico

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS