Buenos Algoritmos
http://users.dsic.upv.es/asignaturas/eui/cnu/libro/
Libro Electrónico
LIBRO ELECTRÓNICO
TEMA 2 | TEMA 3 | TEMA 4 | TEMA 5 | TEMA 6 | TEMA 7 | TEMA 8 |
Tema 2
Raíces de funciones.
Prácticas
PRÁCTICAS
PRACTICA 1
PRACTICA 2 | PRACTICA 3 | PRACTICA 4 | PRACTICA 5 |
Introducción al MATLAB.
1.1 Introducción. | |
1.2 Ejercicios. | |
1.3 Material adicional para la práctica. |
PRACTICA 1.-
Introducción al MATLAB.
Objetivos para la evaluación.
- Conocer los comandos del entorno Matlab.
- Conocer las sentencias de repetición y decisión del lenguaje de programación Matlab.
- Conocer el formato de las rutinas escritas en Matlab.
- Escribir rutinas en lenguaje Matlab mediante ficheros .m.
- Utilizar los comandos de dibujo de Matlab.
- Utilizar la función feval de Matlab.
Tema 2
TEMA 2
TEMA 2
Raices de funciones.
Desde hace años se utiliza la fórmula cuadrática
(2.1)
para resolver ecuaciones del tipo
.
(2.2)
A los valores calculados con la ecuación (2.1) se les llama
"raíces" de la ecuación (2.2). Estas raíces representan los valores de x
que anulan la ecuación (2.2). Por lo tanto, se puede definir la raíz de una
ecuación como el valor de x que hace que f(x) = 0. Por esta razón,
algunas veces a las raíces de una función se les conoce como ceros de la
función.
Aunque la fórmula cuadrática es útil parar resolver la ecuación
(2.2), hay muchas funciones que no se pueden resolver de manera tan fácil.
Afortunadamente, los métodos numéricos que describiremos proporcionan medios eficientes
para obtener raíces de todo tipo de ecuaciones.
Antes de la aparición de los ordenadores digitales, ya existía una
serie de métodos para hallar raíces de ecuaciones algebraicas o trascendentes. En
algunos casos, las raíces se podían obtener con métodos directos, como se hace con la
ecuación (2.1), pero en muchos otros casos esto no era posible. Por ejemplo, hasta una
función aparentemente tan simple como
no se puede resolver analíticamente. En estos casos, la única
alternativa es una técnica de solución aproximada.
Una técnica para obtener una solución aproximada consiste en dibujar
la función y determinar dónde corta su gráfica al eje de abscisas. Este punto, que
representa el valor de x para el cual f(x) = 0, es una de las raíces
de dicha ecuación.
Aunque los métodos gráficos son útiles en la obtención de
estimaciones aproximadas de las raíces, están limitados por la carencia de precisión.
Una aproximación alternativa consiste en usar la técnica de ensayo y error. Esta
"técnica" consiste en escoger un valor de x, y evaluar si f(x)
es cero. Si no es así, como sucederá en la mayoría de las ocasiones, se hace otra
conjetura y se evalúa nuevamente f(x) para determinar si el nuevo valor
ofrece una mejor estimación de la raíz. El proceso se repite hasta que se obtenga un
valor que genere un valor de f(x) lo suficientemente cercano a cero.
Estos métodos fortuitos, obviamente son ineficientes e inadecuados
para las exigencias actuales de cualquier disciplina científica. Por suerte existen
técnicas que además de aproximar el valor de la raíz, emplean estrategias sistemáticas
para encaminarse a ella, y son de fácil implementación en programas de ordenador. La
combinación de estos métodos sistemáticos con el ordenador hace de la solución de la
mayor parte de los problemas de raíces de ecuaciones una tarea que puede resolverse de
forma simple y eficiente.
Aunque las raíces de ecuaciones caben dentro de otro contexto,
frecuentemente aparecen en problemas de ingeniería, por ejemplo en problemas de balance
de energía, balance de calor, problemas en los que aparecen las leyes de Newton del
movimiento o las leyes de Kirchhoff, etc.
Un ejemplo de tales modelos se presenta en la ecuación derivada de la
segunda ley de Newton, usada en el tema 1 para el cálculo de la velocidad en el ejemplo
del paracaidista:
(2.3)
Donde la velocidad v es la variable dependiente, el tiempo t
es la variable independiente y g la constante gravitacional; el coeficiente de
rozamiento c y la masa m son parámetros. Si se conocen los parámetros, la
ecuación (2.3) se puede usar para predecir la velocidad del paracaidista como una
función del tiempo. Estos cálculos se pueden llevar a cabo directamente ya que v
se expresa explícitamente como una función del tiempo. Sin embargo, supóngase
que se tiene que determinar el coeficiente de rozamiento para un paracaidista de una masa
dada en caída libre, de modo que alcance una velocidad determinada en un periodo dado de
tiempo.
Aunque la ecuación (2.3) proporciona una representación matemática
de la interrelación entre las variables del modelo y los parámetros, no se puede
resolver explícitamente para el coeficiente de rozamiento, es decir, no hay forma de
reordenar la ecuación para despejar c a un lado de la igualdad. En estos casos se
dice que c es implícita.
Esto representa un verdadero inconveniente, ya que muchos de los
problemas científicos involucran la especificación de las propiedades o la composición
de un sistema (representado por sus parámetros) para asegurar que funciona de la manera
deseada (representada por sus variables). Por lo tanto, estos problemas a menudo requieren
que se determinen sus parámetros de forma explícita.
La solución a este dilema la proporcionan los métodos numéricos para
raíces de ecuaciones. Para resolver el problema usando métodos numéricos es conveniente
reestructurar la ecuación (2.3). Esto se hace restando la variable dependiente v
de ambos lados de la ecuación, obteniendo:
(2.4)
Por lo tanto el valor de c que cumple f(c) = 0, es
la raíz de la ecuación. Este valor también representa el coeficiente de rozamiento que
soluciona el problema que nos hemos planteado.
Existen muchos métodos numéricos que permiten resolver ecuaciones
tales como (2.4). A modo de ejemplo, podríamos resolver esta ecuación utilizando el
llamado método del punto fijo, y ver si para los valores de masa, velocidad y tiempo
obtenidos en el ejemplo del tema 1, el coeficiente de rozamiento obtenido es el que
impusimos en aquel ejercicio.
Los datos del problema eran:
c = 12500 g/s. m = 68100 g
t = 2.,4,6,8,10,12 s
Con estos datos obtuvimos unos valores de v, utilizando primero
un método numérico aproximado, en forma de programa de computador, y utilizando después
un método analítico, con el que obtuvimos el resultado exacto.
Ahora vamos a tomar como datos iniciales m = 68100 g, t=2,4,6,8,10,12,
y la v obtenida por cada uno de los dos métodos en el tema 1, y vamos a calcular
mediante un método numérico conocido como la iteración del punto fijo el valor de c
que cumple la ecuación (2.4). En este ejemplo tomaremos como función de iteración
con lo que el algoritmo que presentamos a continuación sería
equivalente al método de Newton.
Algoritmo del punto fijo.
Elegir la función g(x), el punto de partida x0, la tasa de error y el número máximo de iteraciones I.
Hacer K = 1 (contador de iteraciones).
Hacer x1 = g(x0).
Mientras ( | x1 - x0 | > error y K < I ) hacer
x0 = x1Fin_Mientras
x1 = g(x0)
K = K + 1
Si K ³ I entonces "no converge"si no entonces solución = x1.
Tabla 2.1. Valores de c hallados por el método del punto
fijo para la v obtenida mediante el método numérico:
Precisión: 0.1
Punto inicial: a = 10
Función:
|
|||||||||||||||||||||||||||||||||||
|
En el tema 1 se propuso como ejercicio que se calculasen los valores de la velocidad con intervalos de tiempo menores que 2. Si realizaste ese ejercicio ahora puedes utilizar los valores que obtuviste, como entradas para el método del punto fijo, y observarás que el valor de c que se obtiene en este caso resulta más cercano al real.
Tabla 2.2. Valores de c hallados por el método del punto
fijo para la v obtenida mediante el método analítico:
Precisión: 0.1Punto inicial: a = 10
Función:
|
|||||||||||||||||||||||||||||||||||
|
Como se aprecia en las dos tablas, utilizando el método del punto fijo obtenemos rápidamente una solución satisfactoria, en muy pocas iteraciones.
Se consigue una importante mejora de prestaciones utilizando este método cuando sea posible en vez de los métodos menos precisos y más costosos comentados antes, como por ejemplo los métodos gráficos
No hay comentarios:
Publicar un comentario