Conceptos Basicos
Conceptos Basicos
Conceptos Basicos
y aproximaciones
Los métodos numéricos constituyen técnicas mediante las cuales es posible formular
problemas matemáticos, de tal forma que puedan resolverse utilizando operaciones
aritméticas.
2
Conceptos básicos: Algoritmos
y aproximaciones
3
Conceptos básicos: Algoritmos
y aproximaciones
En la actualidad, las computadoras y los métodos numéricos ofrecen una alternativa para los
cálculos complicados. Al usar la potencia de la computadora se obtienen soluciones
directamente, de esta manera se pueden aproximar los cálculos sin tener que recurrir a
consideraciones de simplificación o a técnicas muy lentas.
Como resultado, se dispone de más tiempo para aprovechar las habilidades creativas
personales, concediendo más importancia a la formulación de un problema y a la
interpretación de la solución.
4
Conceptos básicos: Algoritmos
y aproximaciones
Los métodos numéricos y la práctica en ingeniería
La amplia disponibilidad de las computadoras han llevado a una verdadera explosión en el uso y
desarrollo de los métodos numéricos. La reciente evolución de computadoras personales de bajo costo
ha permitido el acceso, de mucha gente, a las poderosas capacidades de cómputo.
5
Conceptos básicos: Algoritmos
y aproximaciones
Los métodos numéricos y la práctica en ingeniería
Así, existen diversas razones por las cuales se deben estudiar los métodos numéricos:
1. Los métodos numéricos son herramientas muy poderosas para la solución de problemas. Son
capaces de manipular sistemas de ecuaciones grandes, manejar no linealidades y resolver geometrías
complicadas, comunes en la práctica de la ingeniería y, a menudo, imposibles de resolver en forma
analítica.
3. Hay muchos problemas que no pueden resolverse con programas comerciales. Si usted es
conocedor de los métodos numéricos y es hábil en la programación de computadoras, entonces
tiene la capacidad de diseñar sus propios programas para resolver los problemas, sin tener que
comprar un software costoso.
6
Conceptos básicos: Algoritmos
y aproximaciones
Los métodos numéricos y la práctica en ingeniería
Así, existen diversas razones por las cuales se deben estudiar los métodos numéricos:
4. Los métodos numéricos son un vehículo eficiente para aprender a servirse de las computadoras. Es
bien sabido que una forma efectiva de aprender programación consiste en escribir programas para
computadora. Debido a que la mayoría de los métodos numéricos están diseñados para usarlos en las
computadoras, son ideales para tal propósito.
5. Los métodos numéricos son un medio para reforzar su comprensión de las matemáticas, ya que una de
sus funciones es convertir las matemáticas superiores en operaciones aritméticas básicas, de esta manera
se puede profundizar en los temas que de otro modo resultarían oscuros.
7
Conceptos básicos: Algoritmos
y aproximaciones
Un modelo matemático se define, de manera general, como una formulación o una ecuación que
expresa las características esenciales de un sistema físico o de un proceso en términos
matemáticos. En general, el modelo se representa mediante una relación funcional de la forma:
donde F es la fuerza neta que actúa sobre el objeto (N), m es la masa del objeto (kg) y a es su
aceleración ( ).
9
Conceptos básicos: Algoritmos
y aproximaciones
10
Conceptos básicos: Algoritmos
y aproximaciones
La ecuación posee varias de las características típicas de los modelos matemáticos del mundo físico:
2. Representa una idealización y una simplificación de la realidad. Es decir, ignora los detalles
insignificantes del proceso natural y se concentra en sus manifestaciones esenciales.
11
Conceptos básicos: Algoritmos
y aproximaciones
12
Conceptos básicos: Algoritmos
y aproximaciones
Para ilustrar un modelo más complicado de este tipo, se utiliza la segunda ley
de Newton para determinar la velocidad final de la caída libre de un cuerpo
que se encuentra cerca de la superficie de la Tierra. Nuestro cuerpo en caída
libre será el de un paracaidista.
Para un cuerpo que cae a distancias cercanas a la Tierra, la fuerza total está
compuesta por dos fuerzas contrarias: la atracción hacia abajo debida a la
gravedad y la fuerza hacia arriba debida a la resistencia del aire .
15
Conceptos básicos: Algoritmos
y aproximaciones
La fuerza total es la diferencia entre las fuerzas hacia abajo y las fuerzas
hacia arriba. Por lo tanto, combinando las ecuaciones anteriores, se obtiene
16
Conceptos básicos: Algoritmos
y aproximaciones
17
Conceptos básicos: Algoritmos
y aproximaciones
18
Conceptos básicos: Algoritmos
y aproximaciones
Solución analítica del problema del paracaidista que cae
19
Conceptos básicos: Algoritmos
y aproximaciones
Solución analítica del problema del paracaidista que cae
20
Conceptos básicos: Algoritmos
y aproximaciones
A la ecuación
se le llama solución analítica o exacta ya que satisface con exactitud la ecuación diferencial original.
Por desgracia, hay muchos modelos matemáticos que no pueden resolverse con exactitud. En
muchos de estos casos, la única alternativa consiste en desarrollar una solución numérica que se
aproxime a la solución exacta.
21
Conceptos básicos: Algoritmos
y aproximaciones
Los métodos numéricos son aquellos en los que se
reformula el problema matemático para lograr
resolverlo mediante operaciones aritméticas. Esto
puede ilustrarse para el caso de la segunda ley de
Newton, observando que a la razón de cambio de
la velocidad con respecto al tiempo se puede
aproximar mediante
22
Conceptos básicos: Algoritmos
y aproximaciones
A la ecuación
23
Conceptos básicos: Algoritmos
y aproximaciones
24
Conceptos básicos: Algoritmos
y aproximaciones
25
Conceptos básicos: Algoritmos
y aproximaciones
Solución numérica al problema de la caída de un paracaidista
Planteamiento del problema. Un paracaidista con una masa de 68.1 kg salta de un globo aerostático fijo.
Calcular la velocidad antes de que se abra el paracaídas. Considere que el coeficiente de resistencia es igual
a 12.5 kg/s. Emplee un tamaño de paso de 2 s para el cálculo.
Solución. Al empezar con los cálculos ( = 0), la velocidad del paracaidista es igual a cero. La velocidad en
= 2 s:
26
Conceptos básicos: Algoritmos
y aproximaciones
Solución numérica al problema de la caída de un paracaidista
Planteamiento del problema. Un paracaidista con una masa de 68.1 kg salta de un globo aerostático fijo.
Calcular la velocidad antes de que se abra el paracaídas. Considere que el coeficiente de resistencia es igual
a 12.5 kg/s. Emplee un tamaño de paso de 2 s para el cálculo.
Solución. Se continúa con los cálculos de manera similar para obtener los valores siguientes:
27
Conceptos básicos: Algoritmos
y aproximaciones
28
Conceptos básicos: Algoritmos
y aproximaciones
29
Conceptos básicos: Algoritmos
y aproximaciones
Para el ejemplo anterior obtener una buena precisión sería necesario desarrollar muchos pasos pequeños.
Hacerlo a mano sería muy laborioso y tomaría mucho tiempo; pero, con la ayuda de las computadoras tales
cálculos pueden realizarse fácilmente.
30
Conceptos básicos: Algoritmos
y aproximaciones
31
Conceptos básicos: Algoritmos
y aproximaciones
Por otro lado, el dispositivo de cálculo con el que se cuenta tiene la finalidad de evaluar la o
las soluciones de un problema matemático, siempre que sea posible hacerlo.
32
Conceptos básicos: Algoritmos
y aproximaciones
Se puede ahora empezar con el proceso de desarrollar programas para una computadora.
Un programa es simplemente un conjunto de instrucciones para la computadora particular,
en conjunto se les llama Software.
33
Conceptos básicos: Algoritmos
y aproximaciones
34
Conceptos básicos: Algoritmos
y aproximaciones
35
Conceptos básicos: Algoritmos
y aproximaciones
36
Conceptos básicos: Algoritmos
y aproximaciones
37
Conceptos básicos: Algoritmos
y aproximaciones
PAQUETES Y PROGRAMACIÓN
En la actualidad existen dos tipos de usuarios de software. Por un lado están aquellos que toman lo que
se les da. Es decir, quienes se limitan a las capacidades que encuentran en el modo estándar de operación
del software existente.
Por ejemplo, resulta muy sencillo resolver un sistema de ecuaciones lineales o generar una gráfica con
valores x-y con Excel o con MATLAB. Como este modo de operación por lo común requiere un mínimo
esfuerzo, muchos de los usuarios adoptan este modo de operación.
Además, como los diseñadores de estos paquetes se anticipan a la mayoría de las necesidades típicas
de los usuarios, muchos de los problemas pueden resolverse de esta manera.
38
Conceptos básicos: Algoritmos
y aproximaciones
PAQUETES Y PROGRAMACIÓN
Pero, ¿qué pasa cuando se presentan problemas que están más allá de las capacidades estándar
de dichas herramientas?
39
Conceptos básicos: Algoritmos
y aproximaciones
PAQUETES Y PROGRAMACIÓN
La primera sería buscar otro paquete y ver si sirve para resolver el problema. Por ejemplo, usar tanto
Excel como MATLAB se amplía de forma notable el rango de problemas que pueden resolverse.
No son más que programas computacionales que permiten ampliar la capacidad de estas
herramientas.
PROGRAMACIÓN ESTRUCTURADA
Escribir programas organizados y bien estructurados tiene muchas ventajas. Es decir, algoritmos
bien estructurados, que son invariablemente mucho más fáciles de depurar y de probar, lo que
resulta en programas que toman menos tiempo desarrollar, probar y actualizar.
La idea clave detrás de la programación estructurada es que cualquier algoritmo numérico requiere
tan sólo de tres estructuras de control fundamentales: secuencia, selección y repetición.
Limitándonos a dichas estructuras el programa resultante será claro y fácil de seguir.
41
Conceptos básicos: Algoritmos
y aproximaciones
PROGRAMACIÓN ESTRUCTURADA
42
Conceptos básicos: Algoritmos
y aproximaciones
43
Conceptos básicos: Algoritmos
y aproximaciones
PROGRAMACIÓN ESTRUCTURADA
Otra manera de expresar algoritmos, y que constituye un puente de unión entre los diagramas de
flujo y el código de la computadora, es el seudocódigo. En esta técnica se utilizan expresiones
semejantes a las del código, en lugar de los símbolos gráficos del diagrama de flujo
Escribiremos con mayúsculas las palabras clave como IF, DO, INPUT, etc., mientras que las
condiciones, pasos del proceso y tareas irán en minúsculas. Además, los pasos del proceso se
escribirán en forma indentada.
44
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
Secuencia. La estructura secuencial expresa la trivial idea de que, a menos que se indique otra
cosa, el código debe realizarse instrucción por instrucción. Como en la figura 2.2, la estructura se
puede expresar de manera general como un diagrama de flujo o como un seudocódigo.
45
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
Selección. En contraste con el paso por paso de la estructura secuencial, la selección nos ofrece un
medio de dividir el flujo del programa en ramas considerando el resultado de una condición lógica. La
figura 2.3 muestra las dos principales maneras de hacer esto.
46
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
Selección. En contraste con el paso por paso de la estructura secuencial, la selección nos ofrece un
medio de dividir el flujo del programa en ramas considerando el resultado de una condición lógica. La
figura 2.3 muestra las dos principales maneras de hacer esto.
47
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
Aunque las estructuras IF/THEN e IF/THEN/ELSE son suficientes para construir cualquier
algoritmo numérico, por lo común también se usan otras dos variantes. Suponga que el ELSE de un
IF/ THEN/ ELSE contiene otro IF/ THEN. En tales casos el ELSE y el IF se pueden combinar en la
estructura IF/THEN/ELSEIF que se muestra en la figura siguiente.
48
Conceptos básicos: Algoritmos
y aproximaciones
49
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
La estructura CASE es una variante de este tipo de toma de decisiones. En lugar de probar
condiciones individuales, las ramificaciones dependen del valor de una sola expresión de prueba.
Según sea su valor, se presentarán diferentes bloques de código. Además, si la expresión no toma
ninguno de los valores previstos, se puede proponer un bloque opcional (CASE ELSE).
50
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
51
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
Repetición. La repetición nos proporciona una manera de llevar a cabo instrucciones repetidamente.
Las estructuras resultantes, llamadas loops o ciclos, se presentan en dos formas distintas que se
diferencian por la manera en que terminan.
El primer tipo, y el fundamental, es el llamado loop de decisión debido a que termina basándose en
el resultado de una condición lógica.
52
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
La figura 2.5 muestra el tipo general de loop de decisión, la construcción DOEXIT, también llamada loop
de interrupción (break loop). Esta estructura realiza repeticiones hasta que una condición lógica resulte
verdadera.
53
Conceptos básicos: Algoritmos
y aproximaciones
Representación lógica
Por otro lado, se tiene el loop controlado por contador o loop DOFOR (figura 2.6) que realiza un
número determinado de repeticiones o iteraciones.
54
Conceptos básicos: Algoritmos
y aproximaciones
Recordemos que, dadas la condición inicial para tiempo y velocidad, el problema consistía en resolver
de manera iterativa la fórmula
Como sabemos, para lograr una buena precisión será necesario emplear incrementos pequeños. Por lo que
será necesario emplear la fórmula repetidas veces, desde el tiempo inicial hasta el tiempo final. En
consecuencia, un algoritmo para resolver este problema estará basado en el uso de un loop.
55
Conceptos básicos: Algoritmos
y aproximaciones
Supongamos, por ejemplo, que empezamos los cálculos en t = 0 y queremos predecir la velocidad en t = 4 s
que aplicar la ecuación anterior ocho veces, esto
es,
donde n es el número de iteraciones del loop. Como este número es exacto, es decir, esta división nos da
un número entero, podemos usar como base del algoritmo un loop controlado por contador. A
continuación damos un ejemplo de seudocódigo.
56
Conceptos básicos: Algoritmos
y aproximaciones
57
Conceptos básicos: Algoritmos
y aproximaciones
Algoritmo para el problema del paracaidista.
58
Conceptos básicos: Algoritmos
y aproximaciones
PROGRAMACIÓN MODULAR
Imaginemos qué difícil sería estudiar un libro que no tuviera capítulos, ni secciones, ni
párrafos. Dividir una tarea o una materia complicada en partes más accesibles es una manera
de hacerla más fácil.
Siguiendo esta misma idea, los programas de computación se dividen en subprogramas más
pequeños, o módulos que pueden desarrollarse y probarse por separado. A esta forma de
trabajar se le llama programación modular.
59
Conceptos básicos: Algoritmos
y aproximaciones
PROGRAMACIÓN MODULAR
La razón más importante para utilizar módulos, relacionada con la solución de problemas
numéricos en ingeniería, es que permiten tener una biblioteca de módulos útiles para posteriores
usos en otros programas.
60
Conceptos básicos: Algoritmos
y aproximaciones
PROGRAMACIÓN MODULAR
61
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
Excel es una hoja de cálculo producida por Microsoft Inc. Las hojas de cálculo son un tipo
especial de software para matemáticas que permite al usuario ingresar y realizar cálculos en
renglones y columnas de datos.
Como tales, son una versión computarizada de una gran hoja de contabilidad en la que se lleva a
cabo una gran cantidad de cálculos interrelacionados.
62
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
Como se ve abajo, el primer paso consiste en colocar números y letras o palabras en las celdas
de la hoja de cálculo.
63
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
Antes de escribir un programa de macro para calcular el valor numérico, podemos facilitar el trabajo
consecuente dando nombres a los valores de los parámetros. Para esto, seleccione las celdas A3:B5
(la manera más fácil de hacerlo es mover el ratón hasta A3, mantener oprimido el botón izquierdo del
ratón y arrastrarlo hasta B5). Después seleccione, del menú,
Para verificar que todo haya funcionado correctamente, seleccione la celda B3 y verifique que
aparezca la etiqueta en la casilla del nombre (casilla que se encuentra en el lado izquierdo de la
hoja, justo debajo de las barras del menú).
64
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
Al introducir esta fórmula debe aparecer el valor 0 en la celda C8. Después copie la fórmula a la
celda C9 para obtener 16.405 m/s.
65
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
Ahora mostraremos cómo se usan las macros de VBA para extender los recursos estándar. En la figura 2.8
se da una lista que contiene el seudocódigo junto con el código VBA de Excel.
66
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
67
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
68
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
69
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
70
Conceptos básicos: Algoritmos
y aproximaciones
EXCEL
71
Conceptos básicos: Algoritmos
y aproximaciones
72
Conceptos básicos: Algoritmos
y aproximaciones
Para calcular la derivada, hemos usado otra función. Ésta se puede introducir en el mismo módulo
tecleándola directamente debajo de la función Euler,
El paso final consiste en volver a la hoja de cálculo y llamar a la función introduciendo la siguiente
expresión en la celda B9.
Cuando usted da la función en la celda de la hoja de cálculo, los parámetros pasan al programa
VBA, donde se realizan los cálculos y, después, el resultado regresa a la celda. En efecto, el lenguaje
de macros VBA le permite usar Excel como mecanismo de entradas y salidas (input/output). Esta
característica resulta de mucha utilidad.
Tal característica de interactividad es lo que hace tan potente a Excel. No obstante, se debe
reconocer que resolver este problema dependerá de la habilidad para escribir el macro en VBA.
La combinación del ambiente de Excel con el lenguaje de programación VBA nos abre un mundo de
posibilidades para la solución de problemas en ingeniería.
74
Conceptos básicos: Algoritmos
y aproximaciones
75
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
MATLAB es el principal producto de software de Mathworks, Inc., fundada por los analistas
numéricos Cleve Moler y John N. Little. Como su nombre lo indica, MATLAB se desarrolló
originalmente como un laboratorio para matrices. Hoy, el elemento principal e MATLAB sigue siendo
la matriz.
MATLAB tiene diferentes funciones y operadores que permiten la adecuada realización de los
Métodos numéricos
76
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
Primero, usted se dará cuenta de que el uso normal de MATLAB está estrechamente relacionado con
la programación. Supongamos, por ejemplo, que queremos determinar la solución analítica al
problema del paracaidista, lo cual haríamos con los siguientes comandos de MATLAB.
77
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
Crear un documento de MATLAB al que se le llama archivo-m (m-file). Para hacer esto haga clic en
78
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
Ahora, un problema con lo anterior es que está preparado para calcular sólo un caso.
El lector lo puede hacer más flexible si hace que el usuario introduzca algunas de las variables. Por
ejemplo, suponga que desea evaluar el efecto de la masa sobre la velocidad a los 2 s. Para hacer esto,
el archivo M podría reescribirse como sigue:
Guarde esto con el nombre de analpara2.m. Si escribió analpara2 mientras se encontraba en el modo
de comando, la línea mostrará lo que sigue:
79
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
80
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
Ahora, debe quedar bastante claro cómo se puede programar una solución numérica por medio de
un archivo M. A fin de hacerlo, primero debemos entender la manera en que MATLAB maneja las
estructuras lógica y de lazo (ciclos o loops).
En la figura 2.9 se enlista el seudocódigo junto con el código de MATLAB para todas las
estructuras de control, con base en la sección anterior.
81
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
82
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
83
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
84
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
85
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
86
Conceptos básicos: Algoritmos
y aproximaciones
MATLAB
Por último vamos a convertir este archivo-m en una función. Esto se puede hacer en el siguiente
archivo-m
87