Conceptos Basicos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 86

Conceptos básicos: Algoritmos

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.

Los métodos numéricos invariablemente requieren de un buen número de tediosos


cálculos aritméticos.

2
Conceptos básicos: Algoritmos
y aproximaciones

Antes del uso de la computadora se gastaba bastante energía en la técnica misma de


solución, en lugar de usarla en la definición del problema y su interpretación. Esta situación
desafortunada se debía al tiempo y trabajo monótono que se requería para obtener
resultados numéricos con técnicas que no utilizaban la computadora.

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.

2. La posibilidad de utilizar paquetes comerciales que contengan métodos numéricos.

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 SIMPLE

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 la variable dependiente es una característica que generalmente refleja el comportamiento o


estado de un sistema; las variables independientes son, por lo común, dimensiones tales como
tiempo y espacio, a través de las cuales se determina el comportamiento del sistema; los
parámetros son el reflejo de las propiedades o la composición del sistema; y las funciones de
fuerza son influencias externas que actúan sobre el sistema.
8
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

La expresión matemática de la ecuación va desde una simple relación algebraica hasta un


enorme y complicado grupo de ecuaciones diferenciales.

Por ejemplo, la expresión matemática, o el modelo, de la segunda ley de Newton es la ya


conocida ecuación

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

UN MODELO MATEMÁTICO SIMPLE

La segunda ley de Newton escribirse como:

donde a es la variable dependiente que refleja el comportamiento del sistema, F es la función de


fuerza y m es un parámetro que representa una propiedad del sistema. Observe que en este caso
específico no existe variable independiente porque aún no se predice cómo varía la aceleración
con respecto al tiempo o al espacio.

10
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

La ecuación posee varias de las características típicas de los modelos matemáticos del mundo físico:

1. Describe un proceso o sistema natural en términos matemáticos.

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.

3. Finalmente, conduce a resultados reproducibles y, en consecuencia, llega a emplearse con la


finalidad de predecir.

11
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

Debido a su forma algebraica sencilla, la solución de la ecuación F = ma se obtiene con


facilidad. Sin embargo, es posible que otros modelos matemáticos de fenómenos físicos sean
mucho más complejos y no se resuelvan con exactitud, o que requieran para su solución de
técnicas matemáticas más sofisticadas que la simple álgebra.

12
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

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.

Un modelo para este caso se obtiene expresando la aceleración


como la razón de cambio de la velocidad con respecto al tiempo
(dv/dt). Por lo que se tiene

donde v es la velocidad (m/s) y t es el tiempo (s).


13
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

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 .

Si a la fuerza hacia abajo se le asigna un signo positivo, se usa la segunda


ley de Newton para expresar la fuerza debida a la gravedad como

donde g es la constante gravitacional, o la aceleración debida a la gravedad,


que es aproximadamente igual a 9.8 .
14
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

La resistencia del aire puede expresarse de varias maneras. Una forma


sencilla consiste en suponer que es linealmente proporcional a la velocidad,
y que actúa en dirección hacia arriba tal como

donde c es una constante de proporcionalidad llamada coeficiente de


resistencia o arrastre (kg/s). El parámetro c toma en cuenta las propiedades
del objeto que cae, tales como su forma o la aspereza de su superficie, que
afectan la resistencia del aire. En este caso, c podría ser función del tipo de
traje o de la orientación usada por el paracaidista durante la caída libre.

15
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

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

o simplificando el lado derecho de la igualdad,

La ecuación es un modelo que relaciona la aceleración de un cuerpo que


cae con las fuerzas que actúan sobre él.

16
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

Se trata de una ecuación diferencial porque está escrita en términos de la


razón de cambio diferencial (dv/dt) de la variable que nos interesa predecir.

Sin embargo, en contraste con la solución de la segunda ley de Newton, la


solución exacta de la ecuación anterior para la velocidad del paracaidista que
cae no puede obtenerse mediante simples manipulaciones algebraicas. Siendo
necesario emplear técnicas más avanzadas, del cálculo, para obtener una
solución exacta o analítica.

17
Conceptos básicos: Algoritmos
y aproximaciones

UN MODELO MATEMÁTICO SIMPLE

Por ejemplo, si inicialmente el paracaidista está en reposo (v = 0 en t =


0), se utiliza el cálculo integral para resolver la ecuación, así

Note que esta ecuación es un ejemplo de la forma general de la ecuación


del modelo matemático, donde v(t) es la variable dependiente, t es la
variable independiente, c y m son parámetros, y g es la función de fuerza.
Es decir,

18
Conceptos básicos: Algoritmos
y aproximaciones
Solución analítica del problema del paracaidista que cae

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.

Solución. Al sustituir los valores de los parámetros se obtiene

que sirve para calcular la velocidad del paracaidista a


diferentes tiempos, tabulando se tiene

19
Conceptos básicos: Algoritmos
y aproximaciones
Solución analítica del problema del paracaidista que cae

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.

De acuerdo con el modelo, el paracaidista acelera


rápidamente. Se alcanza una velocidad de 44.87 m/s (100.4
mi/h) después de 10 s. Observe también que, después de un
tiempo suficientemente grande, alcanza una velocidad
constante llamada velocidad terminal o velocidad límite de
53.39 m/s (119.4 mi/h). Esta velocidad es constante por que
después de un tiempo la fuerza de gravedad estará en
equilibrio con la resistencia del aire. Entonces, la fuerza
total es cero y cesa la aceleración.

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

donde son diferencias en la velocidad y en


el tiempo, respectivamente, calculadas sobre
intervalos finitos, es la velocidad en el
tiempo inicial y es la velocidad algún
tiempo más tarde .

22
Conceptos básicos: Algoritmos
y aproximaciones

Observe que es aproximado porque


t es finito. Recordando los cursos de cálculo
tenemos que

A la ecuación

se le denomina una aproximación en diferencia


finita dividida de la derivada en el tiempo

Sustituyendo en la ecuación, tenemos

23
Conceptos básicos: Algoritmos
y aproximaciones

Esta ecuación se reordena para obtener

La ecuación diferencial se ha transformado en una


ecuación que puede utilizarse para determinar
algebraicamente la velocidad en , usando la
pendiente y los valores anteriores de v y t. Si se da un
valor inicial para la velocidad en algún tiempo , es
posible calcular con facilidad la velocidad en un
tiempo posterior . Este nuevo valor de la
velocidad en sirve para calcular la velocidad en
y así sucesivamente. Es decir, a cualquier tiempo,

24
Conceptos básicos: Algoritmos
y aproximaciones

valor nuevo = valor anterior + pendiente x tamaño del paso

Observe que esta aproximación formalmente se conoce


como método de Euler.

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:

Para el siguiente intervalo (de t = 2 a 4 s), se repite el cálculo y se obtiene

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

Como se puede ver, el método numérico se


aproxima bastante a la solución exacta. Sin
embargo, debido a que se emplean
segmentos de rectas para aproximar una
función que es una curva continua, hay
algunas diferencias entre los dos resultados.

Una forma de reducir estas diferencias


consiste en usar un tamaño de paso menor.
Por ejemplo, si se aplica la ecuación con
intervalos de 1 s, se obtendría un error
menor, ya que los segmentos de recta
estarían un poco más cerca de la verdadera
solución.

28
Conceptos básicos: Algoritmos
y aproximaciones

Con los cálculos manuales, el esfuerzo


asociado al usar incrementos cada vez más
pequeños haría poco prácticas tales soluciones
numéricas.

No obstante, con la ayuda de una computadora


personal es posible efectuar fácilmente un
gran número de cálculos; por lo tanto, se
puede modelar con más exactitud la velocidad
del paracaidista que cae, sin tener que resolver
la ecuación diferencial en forma analítica.

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.

Por ende, nuestro siguiente objetivo consiste en observar


cómo se hace esto.

30
Conceptos básicos: Algoritmos
y aproximaciones

Operación elemental. Es una operación matemática o función cuya acción se la efectúa en


un tiempo finito y que además el dispositivo ideal la puede realizar. Inicialmente se supondrá
que las cuatro operaciones aritméticas como: la adición, la multiplicación, la sustracción y la
división son posibles en este dispositivo de cálculo. De esta manera es posible evaluar toda
función polinomial, toda función racional, en una cantidad finita de pasos o composición de
operaciones elementales.

31
Conceptos básicos: Algoritmos
y aproximaciones

Algoritmo. Es un conjunto secuencial de operaciones algebraicas y lógicas para obtener la


solución de un problema. Generalmente, se dispone de varios algoritmos para resolver un
problema particular, mediante una serie de datos preciso, definidos y finitos, a pesar de que
existen procesos que requieren un número infinito de pasos. Por ejemplo, el cálculo exacto
del exponencial de un número mediante la serie de Taylor. Si se denota por una operación
elemental, un algoritmo es la composición de n operaciones elementales, es decir:

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

Lenguaje de Programación. Es tan solo un medio para expresar un algoritmo y una


computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de programación como
la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y se
efectúe el proceso correspondiente.

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

La resolución de un problema exige el diseño de un algoritmo que resuelva el


problema propuesto. Los pasos para la resolución de un problema son:

1. Diseño de algoritmo, que describe la secuencia ordenada de pasos que


conducen a la solución de un problema dado. (Análisis del problema y desarrollo
del algoritmo).

2. Expresar el algoritmo como un programa de lenguaje de programación


adecuado. (Fase .)

3. Ejecución y validación del programa por la computadora.

34
Conceptos básicos: Algoritmos
y aproximaciones

Para llegar a la realización de un programa es necesario el diseño previo de algoritmo,


de modo que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programación en que se


expresan como de la computadora que lo ejecuta.

La definición de un algoritmo debe definir tres partes: Entrada, Proceso y Salida.

35
Conceptos básicos: Algoritmos
y aproximaciones

Las características fundamentales que debe cumplir todo algoritmo son:

1. Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

2. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe


obtener el mismo resultado cada vez.

3. Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún


momento; o sea, debe tener un numero finito de pasos.

36
Conceptos básicos: Algoritmos
y aproximaciones

La eficiencia ha sido definido para aquellos problemas donde se puede encontrar la


solución mediante un algoritmo, relacionado con el tiempo de ejecución de
operaciones.

Para problemas donde no es posible encontrar un algoritmo que de la solución y


suponiendo que es posible aproximar la solución de manera arbitraria mediante un
método algorítmico, la eficiencia esta ligada al costo en operaciones y al error de
método.

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?

Por desgracia, decir


Lo siento jefe, pero no lo sé hacer algo aceptado en la mayoría de los círculos de la
ingeniería.

En tales casos usted tiene dos alternativas.

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.

escribir macros en Excel


VBA (Visual Basic for Applications) o archivos M (M-files) en MATLAB.

. ¿Y qué son tales cuestiones?

No son más que programas computacionales que permiten ampliar la capacidad de estas
herramientas.

Los programas computacionales son únicamente conjuntos de instrucciones que dirigen a la


computadora para realizar una cierta tarea.
40
Conceptos básicos: Algoritmos
y aproximaciones

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.

En esencia la programación estructurada es un conjunto de reglas que desarrollan en el


programador los hábitos para lograr un buen estilo.

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

Un diagrama de flujo es una representación visual o gráfica de un algoritmo. Un diagrama de flujo


emplea una serie de cajas o bloques y flechas, cada una de las cuales representa un determinado
paso u operación del algoritmo. Las flechas representan el orden en el que se realizarán las
operaciones.

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

Algoritmo para el problema del paracaidista.

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

Algoritmo para el problema del paracaidista.

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

Algoritmo para el problema del paracaidista.

Aunque este esquema es fácil de programar,


no está completo. Sólo funcionará si el
intervalo es divisible exactamente entre el
incremento. Para tomar en cuenta el otro
caso, en el código anterior, en lugar del área
sombreada se puede usar un loop de
decisión. El resultado es:

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.

La figura 2.7 que muestra una función


desarrollada para usar el método de
Euler.

60
Conceptos básicos: Algoritmos
y aproximaciones

PROGRAMACIÓN MODULAR

y la salida es regresada mediante una asignación

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

Resolución del problema del paracaidista.

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

Resolución del problema del paracaidista.

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

Resolución del problema del paracaidista.

Muévase hasta la celda C8 e introduzca la solución analítica

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

Resolución del problema del paracaidista.

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

Resolución del problema del paracaidista.

Para abrir VBA seleccione

Una vez dentro del Visual Basic Editor (VBE), seleccione

Escriba la función dentro de la nueva ventana.

71
Conceptos básicos: Algoritmos
y aproximaciones

EXCEL Resolución del problema del paracaidista.

72
Conceptos básicos: Algoritmos
y aproximaciones

EXCEL Resolución del problema del paracaidista.

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.

El resultado de la integración numérica, 16.531, aparecerá en la celda B9.


73
Conceptos básicos: Algoritmos
y aproximaciones

EXCEL Resolución del problema del paracaidista.

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.

obteniéndose como resultado

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

y se abrirá una ventana nueva con el encabezado Editor/Debugger . En esta ventana


usted puede escribir y editar programas en MATLAB. Escriba ahí el código siguiente:

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

Entonces, el usuario introduce un valor como 100, y el resultado aparecerá como:

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

Escriba lo siguiente en el Editor/Debugger de 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

Guarde este archivo como euler.m y


después cree otro archivo-m para calcular
la derivada,

Guarde este archivo como dy.m y regrese


al modo de comandos.

87

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy