Buscar

martes, 8 de abril de 2014

Mis calculadoras

Recuerdo mis primeras experiencias con calculadoras, esas máquinas maravillosas que permitían realizar cálculos como rapidez, la calculadora de mi papi era una tentación para hacer las tarea de primaria.
En la secundaria mi papi me regalo mi primera calculadora científica, una hermosa CASIO FX-5500, que permitía realizar cálculos aritméticos, algunas operaciones algebraicas y resolución de sistemas lineales de ecuación, una joya para un chico de 13 años.

Mi amor por los números, herencia de mis papis, se compartió por mi calculadora, pasando horas con ella revisando la tarea, buscando en los libros de matemáticas esos símbolos que no mi corta edad y mi formación escolar no me dejaban entender, aprendí mucho de matemáticas frente a mi calculadora.
A los 15 años mi vida cambio, llegaron a mi vida dos máquinas; la primera, una computadora Pentium MMX de 233MHz y la segunda mi primera calculadora programable, una HP48G.

En su funda de tela mi HP48G paso a ser mi compañera inseparable, sus capacidades me dejaban boquiabierto todo lo que mis ojos veían que hacia y lo que el manual me prometía me parecía simplemente increíble, mi afán por conocerla a fondo me llevo a leer el manual completo, ese libro gordo y pesado además de presentarme de forma completa a la calculadora me enseñaba palabras nuevas, palabras propias de las matemáticas y propias de un ingeniero, vi una derivada y una integral por primera vez en ese manual, aprendí a resolverlas sin entender bien si utilidad.
Un día llegue a un capítulo corto y flaco de hojas, al verlo pensé que seria fácil de leer y continuar, pues el final estaba cerca y eso me entusiasmaba; pero que equivocado estaba, corto en hojas pero complejo en contenido, era el capítulo de programación, releí ese capítulo varias veces sin entender nada de lo que decía, llegaba al punto de la frustración.
Un día el técnico de la tienda donde compre la calculadora me explico ese molesto capítulo, hizo un programa en una hoja de papel y luego lo paso a mi calculadora; me parecía mágico lo que hacía, poder ordenar a la calculadora que haga lo que uno quiere y de la forma que uno lo desea, me quede fascinado, ese día nació mi amor a la programación, mi HP se convirtió en la herramienta para hacer posible mis más locos proyectos.
Por mis manos han pasado una HP48G compañera fiel de mis años de colegios, una HP49G inseparable en la universidad, las he usado hasta conocer todos sus secretos.
Hoy mis calculadoras descansan en el librero y siempre que las veo nace una sonrisa en mis labios y un gracias en mi mente, hoy ha tomado el testigo mi celular con una aplicación que emula perfectamente a mi querida HP48G.
En estos días de avance y conectividad, donde el celular se han convertido en una extensión de nosotros, ¿qué esta pasando con los procesos de enseñanza y aprendizaje?, ¿los colegios y universidades están a la altura de las nuevas tecnologías?, ¿los docentes siguen pidiendo a sus alumnos que usen calculadoras del siglo pasado y vetan el uso de celulares?, ¿el celular en el examen sigue siendo una falta?
Dejo estas preguntas para que compartan sus experiencias y opiniones en los comentarios.

Método de Bisección


El Método de Bisección consiste en suponer dos valores x0 y x1 , que forman un segmento, en dicho segmento se debe encontrar la raíz. Se divide el segmento por la mitad encontrando un nuevo x2, se repite este procedimiento hasta que f(x2) sea aproximadamente 0.

A continuación el código en Python para este método.

__author__ = 'jboris'

ERROR = 1E-6
#Entradas
ec = raw_input('f(x):')
x0 = float(raw_input('x0:'))
x1 = float(raw_input('x1:'))
#Proceso
f0 = eval(ec, {'x': x0}) #f(x0)
f1 = eval(ec, {'x': x1}) #f(x1)
f2 = 1E10
if f0 * f1 < 0:
    while abs(f2) > ERROR:
        x2 = (x0 + x1) / 2
        f2 = eval(ec, {'x': x2}) #f(x2)
        if f1 * f2 < 0:
            x0 = x2
        if f0 * f2 < 0:
            x1 = x2
    respuesta = {'x': x2}
else:
    respuesta = 'Datos incorectos'
#Salidas
print respuesta
El código se puede descargar aquí.
Los invito a programar el método en el lenguaje de programación que más les guste y comparar los tiempos de ejecución con Python. Espero las comparativas en los comentarios. Saludos.

jueves, 3 de abril de 2014

Estimación del error

Los métodos numéricos son técnicas que permiten plantear problemas matemáticos usando operaciones aritméticas,  como la suma, resta, multiplicación y división.
Los métodos numéricos dan como respuesta aproximaciones, por lo tanto es necesario medir adecuadamente el error de los cálculos realizados.



Una vez entendido el error y su importancia en los Métodos Numéricos, les planteo las siguientes preguntas:

¿Cuánto es el error máximo permitido para trabajos de ingeniería?
¿Cuáles han sido los criterios para definir dicho valor permitido del error?

Espero sus comentarios con sus respuestas. Saludos.

miércoles, 2 de abril de 2014

Saludos

El presente blog presenta a los métodos numéricos y su implementación en el lenguaje de programación Python.