INSTITUTO POLITECNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Profesional “Culhuacan”
Laboratorio de análisis numérico
Practica No 1 "Introducción a los métodos numéricos"
Alumnos
!ruo
Profesor #$e%uiel &ánche$ 'uáre$
1. Objet bjetiivo vo.. El objetivo que se persigue en esta práctica, consiste en analizar la forma de generar un modelo matemático. Desde el análisis de un problema, aplicar la metodología para la solución de problemas, desde la generación de un algoritmo, diagrama de flujo la concepción de una codificación que de solución al problema planteado. !ntroducción ". intro ntrodu ducc cció iónn Desde el inicio del aprendizaje en el mundo de las matemáticas, se #a trabajado con m$todos analíticos analizados en asignaturas como el álgebra complementados con, cálculo diferen diferencia ciall e integra integral, l, cálcul cálculoo vectori vectorial, al, ecuaci ecuaciones ones diferen diferencia ciales, les, transfo transforma rmadas das de funciones otras más. Estos m$todos son llamados soluciones analíticas por que satisfacen las las ecua ecuaci cion ones es dife difere renc ncia iale less ó mode modelo loss mate matemá máti tico coss usad usados os para para repr repres esen enta tarr el comportamiento de sistemas ó fenómenos. %ero como se #a notado en los diferentes cursos de matemáticas matemáticas que se #an cursado, cursado, #a ciertas ciertas limitaciones limitaciones en los m$todos analíticos analíticos que #emos usado. &as limitaciones limitaciones de las soluciones analíticas' analíticas' por ejemplo, ejemplo, en el caso de problemas de geometría simple, en cálculos de linealidad, por lo regular solo se manejan condiciones ideales de los problemas, sobre todo se acota para soluciones de pocas dimensiones, además en m(ltiples ocasiones no se logra obtener la solución, o mejor dic#o no se pude demostrar la solución alcanzada con el modelo analítico. Es importante recordar que en los problemas de la vida real nos encontramos con mu mu contados procesos lineales ó ideales. En este mismo sentido para las soluciones graficas' los resultados carecen de precisión, cuan cuando do se proc proced edee a busc buscar ar la solu soluci ción ón,, los los cálc cálcul ulos os son son tedi tedios osos os difí difíci cile less de implementar, sin mencionar que solo sirven para representaciones de sistemas con un má)imo de * dimensiones %ara soluciones apro)imadas o más bien conocidas como soluciones num$ricas +sin computadora' se usan calculadoras, puesto que los m$todos num$ricos en la maoría de ocasiones usan demasiadas iteraciones en el proceso de la b(squeda de una solución, este tipo de m$todo sin la auda de las computadoras suele ser lento mu tedioso sin mencionar que durante el proceso suelen generarse m(ltiples errores en el manejo de los datos, de tal forma en este tema se analiza la diferencia que e)iste entre una solución analítica un solución num$rica. *- onsideraciones teóricas. &os m$todos num$ricos son t$cnicas mediante las cuales es posible dar solución a problemas complejos mediante apro)imaciones, de tal forma for ma que el objetico de este es te tipo de m$todo es dar solución a los problemas con operaciones aritm$ticas básicas. omo a se menc mencio iono no,, los los m$to m$todos dos num$ri num$rico coss a e)ist e)istía íann desde desde antes antes de la e)is e)iste tenc ncia ia de las las computadoras computadoras personales, personales, pero eran poco populares, a que alcanzar una solución, solución, se debe realizar en la maoría de los casos un n(mero mu grande de operaciones iterativas. /in embargo su popularidad aumento con la aparición de las computadoras personales, las cuales con el transcurso del tiempo, el costo de producción disminuó #aci$ndose accesible a la maor parte de investigadores población en general.
%ara #acer un uso adecuado de las computadoras, lo primero que se debe #acer al implementar una solución num$rica de un problema dado, es observar los elementos que intervienen en el problema, analizar las lees fundamentales para poder fundamentar la propuesta de solución. on todos estos elementos se contin(a en la elaboración de un modelo matemático, por (ltimo se aplica en forma iterativa el modelo para determinar si su funcionamiento es adecuado para dar solución al problema. 0odelo matemático En este punto es conveniente #acer una pregunta qu$ es un modelo matemático2 /e puede definir como la e)presión matemática, o sea, una ecuación que proporciona en forma recurrente las soluciones apro)imadas de un problema +en análisis num$rico e)presa las características esenciales de un sistema físico o proceso en t$rminos matemáticos. En general, el modelo matemático se puede representar de la siguiente forma. var iable 3 dependient e − −− > y = f ( x ) var iable 3 independpe ndiente
&a variable dependiente es un elemento que generalmente refleja el estado del sistema o comportamiento de los componentes del problema en cuestión. &as variables independientes son aquellas partes del sistema, a trav$s de los cuales se analiza el comportamiento de un fenómeno determinado. En cada problema aparecen, los parámetros que reflejan las propiedades particulares o composición del sistema. &as funciones, como en el análisis de la caída libre, aparecen derivadas de la fuerza, estas son influencias e)ternas que act(an sobre el sistema. %or ejemplo4 5e6ton, en sus observaciones estableció que la razón de cambio de momentum con respecto al tiempo de un cuerpo, es igual a la fuerza resultante que act(a sobre $l. 7sí el modelo que obtuvo fue' 89ma Donde 8 es la fuerza total que act(a sobre el cuerpo +5e6tons ó :g m;s+s, m es la masa del objeto +:g a es su aceleración +m;s+s. 7l despejar la aceleración a ó dividiendo ambos lados de la ecuación por m la ecuación queda de la siguiente manera. a9 8;m Donde a es la variable dependiente que refleja el comportamiento del sistema, 8 es la función de fuerza m es un parámetro que representa una propiedad del sistema o sea la masa de cualquier elemento a estudiar. En este ejemplo sencillo no #a variable independiente por que aun no se predice como varia la aceleración +a con respecto al tiempo o al espacio. omo ejemplo se supone que deseamos calcular la velocidad de un paracaidista en
caída libre cerca de la superficie de la
7sí mismo, para incrementos infinitesimales de la velocidad a trav$s del tiempo, se dice que'
7#ora toca identificar las fuerzas cómo act(an sobre el sistema /e puede notar en un entorno de caída libre, cuando un objeto es soltado a cierta distancia o altura con respecto al suelo, sufre una aceleración #acia el centro de la
. 7sí que se debe interpretar a la fuerza total 8 de la siguiente manera. 89ma 7l despejar la aceleración la e)presión queda a
=
dv dt
=
F m
En el conte)to de la caída libre de un objeto se tiene que la fuerza total 8 es la suma de dos fuerzas opuestas, que por el momento llamaremos 8g 8op por lo que la fuerza total 8 9 8g ? 8op 7l analizar la naturaleza de las fuerzas, se nota que 8g act(a en forma natural #acia abajo la fuerza de oposición 8op en dirección contraria, o sea, es negativa +8op se opone a 8g, entonces al substituir las fuerzas que act(an en la fuerza total se obtiene. 8 9 8g @ 8op /e toma como referencia el modelo inicial de la fuerza total, se substitue la fuerza total para obtener la siguiente e)presión.
dv dt
=
F M
=>
dv dt
=
F g − F op m
En este ejemplo de caída libre, la 8g corresponde a la relación de la masa por la gravedad, que es la aceleración aplicada al cuerpo en caída libre. Fg = mg +fuerza
producida por la gravedad 9 masa ) g +aceleración
Del análisis de la caída libre, se observa que la resistencia del aire contrarresta el efecto de la masa afecta la velocidad de caída del cuerpo observado, con esta consideración se tiene que' Fop = c × v
+Donde c es el coeficiente de resistencia del aire Aetomando la formula de la fuerza total en la caída libre. dv dt
=
F g − F op m
f /e substitue las fuerzas participantes en el análisis de la caída libre 8g 8op la e)presión quedad de la siguiente forma. dv dt
=
mg − cv m
Aeagrupando t$rminos semejantes. dv dt
= g −
c m
v
0odelo matemático de tipo analítico
on este análisis se #a llegado a la formulación del modelo matemático que describe en cada instante la velocidad la aceleración del sistema de un cuerpo en caída libre. B. 7plicación &a aplicación es para el =#ipot$tico> caso en el que nuestro profesor de variable compleja nos colme la paciencia se decida arrojarlo desde una ventana del (ltimo piso del edificio más alto de la ciudad. Desgraciadamente a que el profesor es mu listo, decide como (ltima voluntad
elegir " condiciones. 1.- Cue la altura sea considerable ".- llegar al piso con una velocidad en función del tiempo igual a omo inicio de la solución al problema de la caída libre del profesor, se debe implementar una solución analítica, o sea, una fórmula para predecir la caída del profesor en cada instante. /e dice que es una solución analítica o e)acta si esta satisface a la ecuación diferencial +el modelo matemático que se obtuvo en el proceso de análisis num$rico dv dt
= g −
c m
v
7#ora, se analiza la forma de la ecuación diferencial E. D. En este caso se observa que es una ecuación diferencial ordinaria, no #omog$nea, con coeficientes constantes de 1er grado orden 7sí pues se puede reconocer como %+) a –c/m obtener así el factor integrante, que al multiplicarlo por ambos lados de la ecuación reduciendo t$rminos, factorizando el =fi> por ultimo despejando queda la velocidad en función del tiempo' v( t )
=
gm c
1 − e
− ( c m ) t
/olución analítica
%ara comprobar la veracidad del resultado de la solución analítica, si es una solución correcta a la ecuación diferencial, se propone evaluar en forma iterativa para intervalos de tiempo de dos segundos t 9 ", con una masa del profesor de F.1 :g una constante de fricción c 91".G :g;s El resultado que se obtiene es' v = 1E.BD
m s
7#ora, de teoría de ecuaciones diferenciales, se usa la supuesta solución la derivamos la E. D. O. e igualando el resultado con la misma ecuación diferencial reduciendo t$rminos, se obtiene. ge
− ( c m ) t
= g −
c m
v
7l substituir valores en la e)presión se obtiene lo siguiente. .HIII 9 .F En esta e)presión se observa la validez de la solución.
v = 1E.BD
m s
%ara t 9 " seg.
Jna vez que se demuestra que la solución es verdadera, se eval(a para los valores de tiempo' <9, ", B, , F,1, 1", 1B on lo que se obtienen los siguientes resultados' 0$todo analítico t (s)
v (m/s)
.
"
1 .B
B
" H.HH
* G.B
F
B 1.1
1
B B.FH
1"
B H.BI
K
G *.*I
7l observar que la velocidad aumenta en cada segundo, despu$s de un determinado tiempo se apro)ima asintóticamente a una velocidad terminal, por lo tanto como se #abía comentado anteriormente, en un tiempo la velocidad se #ace constante +no #a cambio en ella, o sea que, la velocidad en función del tiempo es , con este ultimo calculo, se puede dar por cumplido el objetivo la (ltima voluntad del profesor al arrojarlo al vacio de que la velocidad con respecta al tiempo sea igual a cero. omo se #abía mencionado, la desaparición de la aceleración se debe a que, la fuerza de resistencia del aire aumenta ocasionando que la velocidad de caída disminua. 7sí, cuando 8op llega a tener el mismo valor de 8g, las dos llegan al equilibrio, entonces 8g @ 8op9 por lo que 9 8;m 9 , con 8 total igual a cero omo se nota, el resolver la ecuación diferencial, proponer valores para validar la solución usar la solución para evaluar en cada segundo, toma un tiempo considerable, sin mencionar que en ocasiones las E. D. O. no tienen soluciones analíticas +además de que se pueden cometer equivocaciones por el factor #umano. %ara esto se propone desde la perspectiva de los m$todos num$ricos, elaborar una
alternativa num$rica para darle solución al problema, de una manera sencilla sin operaciones complicadas. En la implementación de la solución con m$todos num$ricos, se propone #acer una analogía de la primera derivada con la substitución de los incrementos de la velocidad del tiempo de la siguiente forma. En esta aplicación se observa que en la apro)imación num$rica no se usará incrementos infinitesimales, sino intervalos de t finitos, de tal forma se obtiene la siguiente apro)imación.
Entonces se puede sustituir directamente al incremento finito de la velocidad en la ecuación diferencial, obteniendo'
L si se tiene en cuenta que'
Cueda'
Cue al despejarlo acomodando se obtiene' <- solución numérica &a cual se usará para dar una solución num$rica al problema /e eval(a de la misma forma para' onde ! es cual"uier valor finito # $%& /e obtienen los siguientes resultados' Método numérico
t (s)
v (m/s)
0
00.00
2
19.60
4
32.00
6
39.85
8
44.82
10
47.97
12
49.96
∞
53.39
7l comprobar con esto la eficiencia del m$todo num$rico se obtiene el mismo valor final para la velocidad que con el m$todo analítico ó e)acto /e puede observar para el intervalo 0 < t < 12 e)isten diferentes resultados entre ambos m$todos. Esta falta de precisión es resultado de la apro)imación num$rica +finita que se usa. &a forma para calcular reducir este error se verá en el tema siguiente.
G. 7lgoritmo 1. %edir datos acerca del sistema condiciones iniciales como es la masa, velocidad inicial, tiempo inicial. ". obtenido
Aealizar operaciones implementando el m$todo num$rico que #emos
*. aplicación
%reguntar si se desea #acer otra operación o si se desea terminar la
B.
/eg(n el paso anterior, seguir la ejecución o terminar
. Diagrama de flujo
7. Codificación. (( Practica )1 de métodos numéricos *include+iostream,h*include+conio,hclass arachute
.
ri/ate float a0 c0 /f0 /i0 mass0 ti0 tf ublic /oid menu2 3 /oid datos2 3 /oid roceso2 3 4hi /oid arachutedatos2 3 . cout++" Indi%ue la /elocidad inicial " cin--/i
cout++" ahora la masa del ob5eto 2en 673 " cin--mass cout++" ense7uida el coeficiente de resistencia del medio " cin--c cout++" or ultimo indi%ue el tiemo inicial " cin--ti 4 /oid arachuteroceso2 3 . float 789,:1 float au;au;ti au;/i3(2tf>ti3 cout++" >>- la /elocidad en el inter/alo es "++/f++" 2m(s3"++endl cout++" >>- ,la aceleración a los "++ti++" se7, es "++a++" 2m(s=s3"++endl cout++"@n ++resione s ara hacer otro calculo,,, otra tecla ara salir @n" 4 /oid arachutemenu2 3 . clrscr2 3 char hold8s Bhile2hold88shold88&3 . hi,roceso2 3 hold87etch2 3 4 4 main2 3 . hi,menu2 3
4
F. Aecomendaciones +En esta parte el alumno desarrolla de acuerdo a la codificación, la forma de que esta se aplica. Organizando en forma de manual, para que el usuario siga las indicaciones de como se debe usar la codificación para obtener los resultados esperados I. onclusión.
Despu$s de dar solución al problema con ambos m$todos +analítico num$rico, se llega a la conclusión, en que el num$rico es más sencillo de realizar a que solo consta de operaciones básicas que con auda de una calculadora ó a mano se puede realizar una aplicación sencilla.
&a conveniencia de los m$todos num$ricos es que se pueden realizar implementaciones +de soft6are que sean capaces de automatizar todas las operaciones requeridas para darle solución a problemas sencillos como este a fututo se podrá por medio de estas nuevas #erramientas resolver problemas matemáticos que incluso analíticamente carecen de solución.
En resumen, los m$todos num$ricos son #erramientas poderosas para solucionar problemas, son capaces de manejar grandes sistemas de ecuaciones simultáneas, no lineales geometrías complicadas que a menudo suelen ser de difícil solución analítica.
INSTITUTO POLITECNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Profesional “Culhuacan”
Laboratorio de análisis numérico
Practica No 1,1
"Introducción a los métodos numéricos"
Alumnos
!ruo
Profesor #$e%uiel &ánche$ 'uáre$
1. Objetivo. El objetivo que se persigue en esta práctica, consiste en aplicar los =conocimientos> que se tienen de los cursos en el área de programación para poder dar una solución num$rica a los problemas que se presentan. 2. Introducción
En esta práctica se aprenderá el concepto de modelo matemático. /e analizara el funcionamiento de cualquier problema desde el punto de vista de la aparición de las computadoras, cómo se resolvían los problemas antes despu$s de las computadoras. De esta forma se definirá cómo fue la aparición del análisis num$rico en el campo de la ingeniería. 3. Consideraciones teóricas
En los (ltimos aMos el desarrollo de las procesadores por ende de computadoras, #a facilitado que se llevan a cabo procesos, desde arc#ivar documentos, procesar te)tos imágenes, #asta #acer operaciones matemáticas. El avance en el área de la computación se fusiona con los m$todos num$ricos, los cuales a eran usados desde #ace tiempo, sin embargo para la solución de algunos problemas se podían requerir de aMos para su cálculo, #o en día, con un buen manejo de la información los ordenadores es posible que estos procesos que antes requerían aMos a#ora sean efectuados en tan solo meses, días o menos tiempo. /e #a visto en la introducción a los modelos matemáticos, los cuales nos audan a entender, e)plicar predecir fenómenos que ocurren en la naturaleza, en esta unidad #emos visto a grandes rasgos las características que debe tener un modelo matemático cómo
estructurar un programa, este (ltimo con la finalidad de audarnos a dar solución al problema sin que tengamos que recurrir a procesos aritm$ticos largos complejos los cuales pueden además presentar errores al momento de ser calculados, la solución en forma manual resultaría mu tardada. 5o se debe olvidar que los modelos matemáticos son representaciones generales que audan a describir matemáticamente cualquier tipo de fenómeno. B. Aplicación El problema que se propone es' realizar el análisis de un cuerpo en caída libre. /e busca realizar un planteamiento analítico compararlo con un planteamiento desde el punto de vista del análisis num$rico. %lanteamiento del problema. /e desea configurar un modelo matemático que se aplique a la caída de un paracaidista con una masa de F.1Ng salta de un globo electrostático fijo' 7plique la ecuación − c gm v+t , = 1 − e c
t m
%ara calcular la velocidad antes de que se abra el paracaídas. coeficiente de resistencia es de 1".G Ng;s
onsidere que el
&o que se quiere obtener en este caso es la velocidad que adquiere el paracaidista conforme va caendo, #a que observar cuales son los datos que se requieren para poder dar solución a este planteamiento. 0asa del paracaidista
m
F.1
Ng
oeficiente de resistencia
c
1".G
Ng;s
7celeración gravitatoria
g
I.F1
m;s"
Otros datos que si bien no está incluido en la ecuación, pero que audarán para tener un control en la aplicación del proceso +para que no se #aga infinito son' el tamaMo de paso, el n(mero de muestras que se desean. 7#ora que se tiene claro cuáles son las variables, es momento de asignarles valores a estas +salvo a c g que son constantes. /e aplica la ecuación − c gm 1 − e v+t , = c
t m
De acuerdo al tamaMo de paso establecido, #asta que el contador que se lleva en la sentencia sea igual al n(mero de muestras solicitadas por el usuario, o sea que satisface el requisito del n(mero de iteraciones. %or el momento ese será el control de paro para la aplicación iterativa de la solución al problema. De acuerdo a estas consideraciones la forma lógica en que se deberá realizar la solución del problema será la siguiente.
5. Algorito.
1. !nicio ". aptura de los datos de entrada *. 7plicación de los datos en el modelo matemático B. !mplementación del contador de incremento +tamaMo de paso G. ontrol de paro' 5(mero de iteraciones contra contador . 8in del programa
6. !iagraa de "lu#o
INICIO
masa, coefciente de resistencia, tamaño de paso, no de muestras
Incremento de contador =tamaño de paso
− 1− e v +t , = contador =cnúmero de muestras c
gm
fn
7. Codificación *include+stdio,h*include+conio,h*include+math,h*define ! 9,: int mues0aso0i0t8) float masa0core0/elo0$0u0B /oid menu 23 /oid /elocidad23
m
t
/oid menu23 . rintf2"Dien/enido@n #ste ro7rama calcula la /elocidad de caida de un aracaidista"3 rintf2"@nesto utili$ando el mEtodo descrito en el e5emlo uno de la resentaciFn"3 rintf2"@n@nIntroduce la masa del aracaidista@t"3 scanf2"Gf"0Hmasa3 rintf2"@n@nIntroduce el coeficiente de resistencia@t"3 scanf2"Gf"0Hcore3 rintf2"@n#li7e el tamao de aso@t@t@t"3 scanf2"Gd"0Haso3 rintf2"@n#li7e el nJmero de muestras deseadas@t"3 scanf2"Gd"0Hmues3 /elocidad23 4 /oid /elocidad23 . rintf2"@n@nAPLICANK LA #CUACIN 1) K# LA #MP&ICIN@n@n"3 $8!=masa u8$(core B8core(masa rintf2"t sO@t@t /m(sO@n"3 for2i8) i+mues i??3 . /elo8u=21> e;2>2B=t333 rintf2"@nGd@t@tGf"0t0/elo3 t?8aso 4 4 main23 . clrscr23 menu23 tch23 return ) 4
F. Aecomendaciones -!ndicación para el desarrollo del alumno-+En este apartado, cada equipo de acuerdo a la forma en que diseMo su codificación, se darán las instrucciones de la forma en que se debe de correr el programa presentado en la práctica. 7sí como indicar en que forma se deben introducir los datos para ver en forma correcta el funcionamiento del programa.$ I. onclusión &a aplicación de los modelos matemáticos utilizando lenguaje permite realizar procesos fácilmente4 además se aprendió cuáles son los pasos que se tienen que seguir para poder realizar un programa óptimo el cual debe ser sencillo cubrir con'
%lanteamiento del problema Definir en forma e)plícita un problema. Establecer claramente que es lo que se desea resolver. acer un planteamiento #ipot$tico de lo que se busca como se considera que se puede obtener. El modelo orresponde a la /imulación de un sistema que e)iste en el mundo real' &a creación de un modelo pretende una mejor comprensión del prototipo +en el sistema que se está modelando. 7lgoritmo %rocedimiento matemático o lógico para resolver un problema. Jn algoritmo es un m$todo para encontrar la respuesta correcta a un problema difícil, para lo cual separa el problema en n(mero específico de pasos sencillos. &os algoritmos tambi$n se usan para optimizar el desempeMo de la computadora. Diagrama de flujo %rocedimiento gráfico, mediante el cual se puede tener una perspectiva lógica de la forma en que se debe estructurar una codificación. ódigo 7cto de e)presar un algoritmo para la solución de problemas en un determinado, lengua'e de programación. !nstrucciones escritas en un lengua'e de programación. &enguaje de %rogramación &enguaje artificial compuesto por un vocabulario fijo un conjunto de reglas llamadas sintaxis que se usan para crear instrucciones que la computadora debe de seguir. asi todos los programas se escriben con un editor de te)to, para así crear un código fuente, que se interpreta o compila despu$s a un lenguaje de máquina que la computadora puede ejecutar. ompilador %rograma que lee instrucciones escritas en un lenguaje de programación legible para los #umanos, que traduce las instrucciones a un programa ejecutable legible para la máquina.
1. Pibliografía A7L0O5D %. 757&E. /
%AE