métodos numéricos para ingeniería - · pdf filel introducción os...

43
Métodos numéricos para ingeniería Title Métodos numéricos para ingeniería Authors Delgado Cepeda, Francisco J. Issue Date 2012 Publisher Editorial Digital del Tecnológico de Monterrey Abstract Este eBook busca introducir a los estudiantes a los métodos numéricos, su programación efectiva y empleo de software en la resolución de problemas de simulación. Esta obra hace énfasis en el aspecto de programación ya que esto permite ver a los lectores cómo se implementan computacionalmente los métodos presentados y desarrollar competencias en el de la programación de los mismos y en la simulación de problemas. Discipline Ingeniería y Ciencias Aplicadas / Engineering & Applied Sciences Additional Links https://itunes.apple.com/mx/book/metodos-numericos-para- ingenieria/id715056518?mt=11; https://www.amazon.com.mx/ M%C3%A9todos-num%C3%A9ricos-ingenier%C3%ADa- Francisco-Delgado-ebook/dp/B00S9YMSA4/ref=sr_1_1?s=digital- text&ie=UTF8&qid=1486573599&sr=1-1&keywords=metodos +numericos Item Type Capítulo de libro / Book chapter Downloaded 18/04/2018 02:31:38 Link to Item http://hdl.handle.net/11285/622322

Upload: dangkhue

Post on 31-Jan-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Métodos numéricos para ingeniería

Title Métodos numéricos para ingeniería

Authors Delgado Cepeda, Francisco J.

Issue Date 2012

Publisher Editorial Digital del Tecnológico de Monterrey

Abstract Este eBook busca introducir a los estudiantes a los métodosnuméricos, su programación efectiva y empleo de software en laresolución de problemas de simulación. Esta obra hace énfasisen el aspecto de programación ya que esto permite ver a loslectores cómo se implementan computacionalmente los métodospresentados y desarrollar competencias en el de la programaciónde los mismos y en la simulación de problemas.

Discipline Ingeniería y Ciencias Aplicadas / Engineering & Applied Sciences

Additional Links https://itunes.apple.com/mx/book/metodos-numericos-para-ingenieria/id715056518?mt=11; https://www.amazon.com.mx/M%C3%A9todos-num%C3%A9ricos-ingenier%C3%ADa-Francisco-Delgado-ebook/dp/B00S9YMSA4/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1486573599&sr=1-1&keywords=metodos+numericos

Item Type Capítulo de libro / Book chapter

Downloaded 18/04/2018 02:31:38

Link to Item http://hdl.handle.net/11285/622322

Page 2: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días
Page 3: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días
Page 4: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días
Page 5: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días
Page 6: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

E

Acerca de este eBook

Métodos numéricos para ingeniería

Franciso Javier Delgado Cepedal Tecnológico de Monterrey presenta su primera colección de eBooks de texto paraprogramas de nivel preparatoria, profesional y posgrado. En cada título, nuestros autores

integran conocimientos y habilidades, utilizando diversas tecnologías de apoyo al aprendizaje. Elobjetivo principal de este sello editorial es el de divulgar el conocimiento y experiencia didácticade los profesores del Tecnológico de Monterrey a través del uso innovador de la tecnología.Asimismo, apunta a contribuir a la creación de un modelo de publicación que integre en elformato eBook, de manera creativa, las múltiples posibilidades que ofrecen las tecnologíasdigitales. Con su nueva Editorial Digital, el Tecnológico de Monterrey confirma su vocaciónemprendedora y su compromiso con la innovación educativa y tecnológica en beneficio delaprendizaje de los estudiantes.

www.ebookstec.com

[email protected]

D.R. © Instituto Tecnológico y de Estudios Superiores de Monterrey, México 2013.

Page 7: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Acerca del autor

Francisco Javier Delgado Cepeda

Profesor del Tecnológico de Monterrey, Campus Estado de México. Originario de CiudadMante, Tamaulipas, Francisco Javier Delgado Cepeda realizó estudios profesionales en física enla Universidad Autónoma Metropolitana, Unidad Iztapalapa. Tiene estudios de Maestría yDoctorado en física en el Centro de Investigación y Estudios Avanzados (CINVESTAV) del IPN.Realizó estancias posdoctorales en el CINVESTAV y en el International Centre for TheoreticalPhysics. Posee una Maestría en Administración de Instituciones Educativas en el Tecnológico deMonterrey.

Su experiencia de trabajo ha girado, principalmente, alrededor del campo de la docencia enlas áreas específicas de física, matemáticas e ingeniería, desde hace 24 años. Es profesorcertificado en el uso de las técnicas didácticas de Aprendizaje Basado en Problemas yAprendizaje Orientado a Proyectos. Asimismo, ha participado proyectos de investigación en lasáreas del Control Cuántico y de la Innovación en Educación en Ciencias Básicas, habiendopublicado diversos artículos nacionales e internacionales en ambas áreas. Como directivo, haocupado los cargos de Director del Departamento de Matemáticas y de la División de Ingeniería yArquitectura del Instituto Tecnológico y de Estudios Superiores de Monterrey, campus Estado deMéxico.

Ha sido autor de diversos proyectos y cursos en el modelo educativo del Tecnológico deMonterrey en las plataformas Learning Space y Blackboard: Matemáticas remediales, Física I,Física II, Electricidad y Magnetismo, Matemáticas para Arquitectura y Diseño, Estadística en lasOrganizaciones y Métodos Numéricos para ingeniería. Es editor del labor: Nexus IV. Relationshipsbetween Architecture and Mathematics. Ha obtenido los reconocimientos: Primer lugar enInnovación Educativa 1997 del sistema ITESM, Primer lugar en la categoría de ensayo porInnovación Educativa 2000 de FIMPES y Primer lugar en la mejor ponencia del 1er. Encuentro deInnovación Educativa del Tecnológico de Monterrey, Campus Ciudad de México. Ha sidoreconocido por los campus Estado de México y Toluca por su trabajo como docente.

Actualmente, Francisco Javier Delgado Cepeda es Profesor titular investigador dentro delgrupo de Procesamiento Cuántico de la Información del Instituto Tecnológico y de EstudiosSuperiores de Monterrey, campus Estado de México, con un interés tanto por la investigación, laacademia y la dirección de las Instituciones de Educación Superior.

Para ver el video de bienvenida da clic aquí.

Page 8: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

00:00 / 00:00

Page 9: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Mapa de contenidos

Page 10: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

L

Introducción

os métodos numéricos constituyen una herramienta de análisis científico y tecnológicovaliosa en nuestros días. El desarrollo de las computadoras ha permitido su desarrollo para

resolver problemas de gran complejidad, desde la simulación de un fenómeno o dispositivo,hasta el estudio de sistemas complejos como la simulación de evolución de una galaxia o enanálisis de esfuerzos y estabilidad de una aeronave.

Esta propuesta es aplicable a cualquier curso introductorio en el tema. El uso de software y elempleo de visualizaciones apoyarán el proceso de aprendizaje que se combina con elaprendizaje básico de la programación a través de problemas matemáticos directamenteaplicables a las ciencias y la ingeniería, así como a la propuesta de consideración yprogramación de métodos más específicos, así como el empleo del aprendizaje basado enproblemas. Esto permitirá que el lector comprenda la relación de la disciplina con lasaplicaciones en ingeniería.

Se han considerado un buen número de aplicaciones, incluyendo problemas integrados através de la horizontalidad de los métodos para resolver aplicaciones complejas. El softwaremoderno se incluye directamente en cada método, en donde cada uno debe ser programado,como marca la práctica profesional debida. Actualmente, aún cuando se podría soslayar elaprendizaje de los métodos numéricos mediante el empleo de software especializado, laprogramación permite al lector comprender la complejidad y la necesidad de resolverdeterminados problemas mediante la simulación y la programación, aún asistida por esta. Enresumen, las ventajas del presente libro de texto son las siguientes:

a) Presentación y aprendizaje de los métodos numéricos en ingeniería hasta concretar suprogramación.

b) Implementación de una herramienta moderna y vigente de cálculo, programación yvisualización.

c) Inclusión y promoción de escenarios y problemas transversales que requieren el empleo delos métodos numéricos para resolver problemas en Ciencia e Ingeniería.

d) Implementación de técnicas didácticas que acompañan la metodología del libro: elAprendizaje basado en Problemas y el Aprendizaje Orientado a Proyectos.

Page 11: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

e) Visualización de demostraciones y simulaciones que son apoyadas por el formatoelectrónico del libro.

Page 12: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

E

Capítulo 1. Introducción a los métodos numéricos y su programación

Introducción

l estudio de fenómenos complejos en ciencia o el diseño en ingeniería, requiere en muchoscasos, y antes de la verificación o construcción física de los mismos, un estudio teórico de

ellos. A pesar de que el estudio clásico de las ciencias básicas y ciencias de la ingenieríaenfatiza, en una primera aproximación, el estudio matemático y analítico de los problemas, enrealidad, la complejidad de la mayoría de ellos implica técnicas diferentes a las analíticas queconstituyen el cuerpo clásico de las matemáticas.

La mayoría de la gente asocia el trabajo científico y tecnológico a su cuantificación numérica.Esto implica que todo fenómeno físico o construcción tecnológica tiene un comportamientopredecible y por ello puede ser cuantificado y simulado sin tener que realizarse. Ese es el sentidonumérico de la ciencia y la viabilidad predictiva de la tecnología. Sin embargo, aún cuando estoes parte del conocimiento general, rara vez se comprenden las vías por las que estacuantificación pueda lograrse. Quien haya llevado un curso de ciencia, particularmente física ointroducción a las ciencias de la ingeniería (circuitos eléctricos, estática o dinámica) se encuentracon dos panoramas: los problemas “realistas” no suelen resolverse o bien, estas disciplinasresultan “aplicadas” cuando en lugar de analizar la teoría se adopta la visión del laboratorio o eltaller. Parece entonces haber dos mundos que no se conectan, la teoría y la práctica. En gran

Page 13: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

medida esto ocurre porque los métodos matemáticos que se aprenden conceptualmente y quesoportan la ciencia no permiten siempre resolver analíticamente las ecuaciones teóricas hasta unnivel predictivo o descriptivo. Esto es, la teoría está conformada por ecuaciones decomportamiento no resueltas en términos analíticos y, según se asegura, detrás de ellas está ladescripción de los fenómenos. ¿Cómo puede entonces asegurarse que esto es así?

El análisis numérico es una vía de solución alterna que permite conectar la teoría yla práctica al nivel que se quiera de medición y cálculo pero en una forma diferentea como normalmente se enseña la operación analítica de los conceptos.

Las computadoras, hoy en día, juegan un papel decisivo en esto, pues la complejidad de loscálculos supera al poder humano de cómputo. La historia marca la década de los años cuarentadurante el siglo XX como el nacimiento de los métodos numéricos modernos, al conjuntarse treselementos esenciales: el desarrollo de las computadoras electrónicas programables, el desarrollodel análisis matemático moderno y la disponibilidad y necesidad de problemas complejos enciencia y tecnología. Aspectos como la mecánica de fluidos, el estudio de las propiedadeselectromagnéticas de los materiales y el análisis de sistemas mecánicos complejos dependieronfuertemente de estos desarrollos.

Para saber más

Una supercomputadora tiene un alto poder de cómputo y estabilidad. Empleadas para tareas intensivas de cálculo como elcálculo de procesos cuánticos, análisis de resultados de física de partículas, predicción del clima, efectos del cambioclimático, cinética molecular, simulaciones aeronáuticas o automotrices en viento y procesos dentro de reactores de fusióny fisión. Las primeras fueron introducidas en la década de los sesenta, diseñadas por Seymour Cray en la compañíaControl Data Corporation, hasta que Cray constituyó su propia empresa, Cray Research. Desde entonces el mercado desuper-cómputo ha crecido exponencialmente. Más información aquí.

El artículo de Von Newmann y Goldstine (1947) sobre inversión de matrices de orden superiorestableció la posibilidad de emplear las computadoras para realizar cálculos numéricos complejosen tiempos razonables que hasta entonces no eran asequibles al ser humano. Diversosproblemas que de manera conjunta aparecen en el análisis físico y tecnológico tenían las mismascaracterísticas:

• La solución de grandes sistemas de ecuaciones lineales que representaban sistemascomplejos

• La solución de sistemas de ecuaciones no lineales

Page 14: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

• Los problemas de optimización de un gran número de variables y restricciones

• El problema del ajuste de funciones a un conjunto de puntos experimentales

• La teoría de aproximaciones, mediante la cual se busca cómo aproximar un valor de unafunción compleja (como sin(x), ln(x), ex, etc.) a otra que se base en el empleo deoperaciones básicas (la suma, resta, multiplicación y división)

• El desarrollo del análisis de Fourier de señales complejas

• La integración y derivación automática de funciones complejas por parte de los sistemas decómputo

• La solución de ecuaciones diferenciales ordinarias y parciales, así como de ecuacionesintegrales

Estos problemas aparecen de manera conjunta al analizar los sistemas físicos de fenómenos yaplicaciones complejas y el advenimiento de las computadoras programables propulsaron eldesarrollo de las técnicas numéricas para hacerlo. Cada vez se planteaban problemas máscomplejos con un mayor número de variables, lo que competía rápidamente con la crecientecapacidad de cómputo existente y la necesidad de resultados cada vez más precisos. Un ejemplopuede bastar para explicar esto.

El diseño automotriz normalmente requiere de normas de calidad y predictibilidadestrictas en el movimiento hasta el orden de milímetros, pero el desarrollo de laindustria aeronáutica hizo necesario que dentro de sus estándares se establecieraun nivel de predictibilidad micrométrico, en tanto que la ciencia nuclear hizo queestos valores se redujeran hasta en seis órdenes de magnitud más.

Aún con las computadoras más poderosas, se hizo necesario que los complicados procesosde cálculo fueran lentos, así que precisión y rapidez comenzaron a librar una batalla muy finapara combinarse adecuadamente en las computadoras disponibles, sin comprometer la exactitud.El análisis de estabilidad de los resultados y métodos numéricos desarrollados se hizo cada vezmás tan importante como el desarrollo de los métodos numéricos en sí mismos.

Para saber más

El impacto y simulación de la propagación de un terremoto ha sido un trabajo destacable para las computadoras CRAYpor parte de la UNAM, como la propia compañía que las produce anuncia orgullosamente en su portal.

Page 15: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Se puede estudiar la historia de los métodos numéricos estadísticamente y se encontrará queen todos los campos descritos antes, alrededor del 90% de ellos han sido desarrollados en losúltimos 70 años. Si bien gran parte de los métodos numéricos estudiados en este libro nocorresponden a los desarrollados a partir de 1940, el 10% restante sí surgieron comocuriosidades matemáticas con baja aplicabilidad por no disponer en su momento de unaplataforma de implementación como los son las computadoras. Pero son actualmente suficientespara resolver la mayoría de los problemas genéricos de simulación. Los métodos numéricosdesarrollados en estos últimos 70 años son aplicables cada uno a problemas altamenteespecíficos. Los albores del desarrollo de los métodos numéricos apenas pueden rastrearse enla historia, y están referidos a los tiempos anteriores a nuestra era con las civilizaciones egipcia yárabe que resolvieron problemas que sólo después pudieron resolverse analíticamente medianteel álgebra (un caso particular es la solución de ecuaciones de segundo grado antes de que seconociera una fórmula para resolverla) y que no perdieron vigencia por sentar las bases dedesarrollos para resolver problemas que hoy se saben algebraicamente irresolubles.

El comprender el uso de los métodos numéricos hoy requiere de disponer de las treshabilidades asociadas con los elementos antes mencionados.

Por un lado la habilidad para comprender cómo un procedimiento numérico representa unconcepto matemático que además permite manipularlo alternativamente a los métodos analíticosconocidos que poseen grandes limitantes para hacerlo; la habilidad y conocimiento deimplementar estos métodos mediante la programación de una computadora programable; yfinalmente, la habilidad de comprender y visualizar un problema físico o tecnológico medianteestos métodos a través de los conceptos matemáticos de análisis aprendidos analíticamente.Este libro pretende introducir al estudiante hacia estos tres aspectos.

Este enfoque y su importancia pueden estar llenos de escepticismo. Por un lado quien no haempleado los métodos numéricos para resolver un problema complejo tendrá hasta ahora doscaminos ya conocidos a los que costará trabajo renunciar: por un lado el enfoque analítico quepermite resolver, mediante el análisis matemático, un problema simple sin demasiadascomplicaciones como se hace en la mayoría de los cursos teóricos de ciencia e introducción a laingeniería y por otro lado, el camino de desarrollo experimental o tecnológico, que permitediseñar un proceso o prototipo sin grandes elementos de cálculo previo. Es posible permanecerahí por comodidad y sin grandes sobresaltos, pero el camino a la ciencia y tecnología modernasni plantea problemas sencillos que regularmente se puedan resolver analíticamente, ni permite eldispendio ni imprecisión de un desarrollo experimental aproximado basado en el ensayo y error.Nadie construye un avión sin haberlo simulado previamente, ni un acelerador de partículas sin

Page 16: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

haber reproducido numéricamente su implementación y construcción.

Para saber más

El desarrollo del poder de cómputo ha desarrollado el estudio de métodos numéricos, su eficiencia y complejidad. Al darclic aquí verás el sistema de cómputo JAGUAR, instalado en el laboratorio nacional de Oak Ridge, una de lascomputadoras más rápidas y robustas del mundo.

Así, el desarrollo matemático de técnicas numéricas alternas a las analíticas, constituye elcuerpo de estudio de los métodos numéricos y la cuantificación de su eficiencia, al análisisnumérico. De este modo, para cada elemento de conocimiento matemático, se han desarrolladotécnicas alternas que enfocan los problemas desde una perspectiva meramente numérica, lascuales buscan aproximarse al nivel predictivo que poseen los métodos analíticos. Si bienpodríamos basar el estudio de estas técnicas en un enfoque descriptivo de las mismas ycomplementariamente en un enfoque analítico sobre su comportamiento, la realidad de lapráctica profesional implica también el aprendizaje de su implementación sobre plataformastecnológicas más o menos desarrolladas y basadas en la programación. La razón es simple, unacreciente necesidad de precisión se alcanza típicamente con un alto número de aplicaciones decada método, lo que escala el número de operaciones asociadas y la complejidad dedesarrollarlas por técnicas elementales de cálculo. Es así como el empleo de autómatascomputacionales se vuelve necesario e imprescindible.

De este modo, esta obra tiene tres orientaciones. La primera es realizar una introducción a losmétodos numéricos de problemas típicos y básicos, sobre todo aquellos asociados con el álgebray el cálculo, los cuales son elementos básicos en muchas de las aplicaciones analíticas de laciencia y la tecnología. La segunda se refiere a lograr transmitir no sólo la comprensión de losmétodos numéricos, sino la forma en que estos se implementan a través de lenguajes deprogramación y el dominio de algunos elementos de este proceso. Finalmente, la posibilidad deemplear software especializado, que si bien simplifica el grado de dominio de los métodosnuméricos, deja aún la construcción del análisis numérico de un problema. Por estas razones,este libro evoluciona a partir de la comprensión básica de algunos métodos sencillos y suenfoque recursivo, mediante el empleo de Excel como herramienta primaria, para posteriormenteenfatizar la aplicabilidad de un primer lenguaje de presentación y culminar con una perspectivadual en que el Método numérico es implementado sobre una plataforma robusta que soporta lavisualización o bien mediante comandos predefinidos que se emplean en conjunto para elanálisis.

El tema está orientado en primera instancia al aprendizaje de la programación en unlenguajes como C++ y Python, afín al integrado en Mathematica, pero haciendo un breve énfasisen Excel con la finalidad de que los lectores inicialmente comprendan la metodología detrás delos métodos numéricos clásicos. El empleo de la herramienta Mathematica tiene como intencióndoble, la disposición de herramientas para la visualización y la simulación, que serán de utilidaden los proyectos integradores del libro y, por otro lado, la solución de escenarios en lametodología de Aprendizaje Basado en Problemas, los cuales serán integrados en cada capítulo

Page 17: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

E

del libro. Adicionalmente, el empleo de Mathematica permite aprender los comandos del softwaremoderno para simulación y cálculo matemático, los cuales en la vida diaria pueden sintetizar laaplicación futura de los conceptos del libro, pero sin pasar por alto la necesidad de laprogramación para visualizar y realizar cálculos en ingeniería.

l campo de los métodos numéricos es muy basto y busca comprender procedimientosalternos para resolver problemas matemáticos simples, pero que no pueden resolverse

analíticamente. Por ejemplo, la solución de una ecuación, el cálculo de una integral, la soluciónde un problema de optimización o la solución de una ecuación diferencial. Aún más, hay una granvariedad de métodos numéricos específicos para cada tipo de problema, que atienden no sólo asu eficiencia relativa, sino al tipo específico de elementos matemáticos que intervienen. Otroaspecto adicional es el tipo particular de problema a resolver, ya que integrar diferentes métodosnuméricos en una secuencia determinada, requiere de insumos o los genera en una formaespecífica que restringe su uso.

Un problema clásico y probablemente conocido por el lector se ilustra en la Figura 1.1,corresponde a un oscilador de constante de restitución y longitud sin deformación, sujeto auna resistencia lineal a la velocidad con el medio con coeficiente y una fuerza armónica externa

sin( ). Este problema es normalmente estudiado en los cursos de ecuaciones diferencialeso en un curso de vibraciones.

La descripción del movimiento de un oscilador sujeto a fuerzas armónicas externas yresistencia, es un problema clásico que analíticamente no admite soluciones ante variaciones hacia modelosmás realistas. La solución posee una amplitud máxima estacionaria que depende de la frecuencia de la fuerza

armónica externa, .

La ecuación que describe el movimiento es:

cuya solución por métodos analíticos (coeficientes indeterminados y variación de parámetros,por ejemplo) es:

Page 18: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

donde A es una amplitud, y son fases asociadas las condiciones iniciales de posición yvelocidad. Similarmente: £

La solución exhibe un término transitorio que se anula para tiempos grandes y un términoarmónico estacionario, que posee un máximo que puede calcularse por métodos analíticoshabituales para γ y es útil para analizar la resonancia del sistema, el cual es:

para:

Hay varios procedimientos analíticos que se llevan a cabo aquí. El primero de ellos y que estáimplícito en varias partes del análisis es la posibilidad de resolver o despejar en una ecuacióncualquiera de sus parámetros. Posteriormente, el obtener la solución analítica de una ecuacióndiferencial y finalmente el poder resolver un problema de máximos y mínimos mediante lastécnicas habituales del cálculo diferencial. Una variación del modelo matemático para la fuerzaarmónica , puede hacer inviable la aplicación de dichas técnicas analíticas, las cualesdeberán sustituirse por técnicas numéricas. Aprender cómo combinarlas para resolver problemasde análisis completos es parte del objetivo de este libro.

Para saber más

La resonancia es un fenómeno o conjunto de fenómenos relacionados con movimientos periódicos o cuasi-periódicos en

Page 19: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

que se genera reforzamiento de la oscilación al someter el sistema a perturbaciones externas de una frecuenciadeterminada que se relaciona con las frecuencias naturales del propio sistema. Este fenómeno puede ocurrirmecánicamente, acústicamente, electrónicamente o incluso a nivel molecular o atómico. El estudio de las frecuencias deresonancia es un tema de interés en el estudio de estabilidad de los sistemas. En un auto por ejemplo, el sistema deamortiguamiento puede estar mal diseñado al inducir resonancia sobre el auto cuando a velocidades típicas éste atraviesapor imperfecciones en el pavimento, por ejemplo unos vibradores o un camino de terracería.

Gran parte de los métodos numéricos presentados aquí corresponden a métodos clásicositerativos. En ellos se busca la repetición de un proceso dirigido, lo cual mejora la exactitud delresultado. Existe todo un campo de estudio relacionado con esto en matemáticas, la teoría de laestabilidad, bajo la cual se sustenta la implementación de métodos teóricamente convergentes ala solución esperada sobre sistemas de cómputo imperfectos, que poseen precisión limitada yerrores de redondeo. Esta característica es la que permite obtener resultados equiparables conlos métodos analíticos hasta cualquier precisión requerida como ilustra la Figura 1.2 en donde seesquematiza el proceso numérico unitario, que considera datos de entrada, que sirven comoinsumo del método numérico propiamente dicho, el cual incluye un criterio para decidir la salidadel proceso iterativo a través de la entrega de un resultado mediante datos de salida. Aunqueeste proceso, debe entenderse en la práctica profesional, dentro de una secuencia de cálculo,dentro de la descripción de los métodos se hará referencia a procesos numéricos unitarios,dejando la integración a algunas aplicaciones propuestas en la sección correspondiente.

Esquema de operación de un método numérico en la resolución de un problema. El procesonumérico unitario se encuentra encerrado en el recuadro punteado.

A lo largo de la descripción de los métodos numéricos específicos, se empleará estaterminología en relación de procesos numéricos unitarios, datos de entrada y datos de salida, locual favorecerá la comprensión, identificación y construcción de algunos elementos presentes enlos mismos. Debe tenerse en mente que todo método numérico no busca sólo la entrega de unresultado o salida, sino que a la par cuida la exactitud de dichos resultados, a un nivel paralelo alproceso descrito en la Figura 1.2, por lo que la descripción de los mismos será incluidaparalelamente.

Para saber más

A diferencia de los métodos analíticos directos en donde las soluciones se obtienen en forma cerrada y funcional, losmétodos iterativos, particularmente los de las matemáticas computacionales, persiguen resolver un problema (una

Page 20: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

D

ecuación o sistema de ecuaciones) mediante aproximaciones sucesivas, empezando de una estimación inicial. Estosmétodos de utilidad para resolver problemas complejos con gran número de variables, en los cuales es imposible obteneruna solución cerrada o en la que esta tendría un alto costo temporal o computacional.

ado el interés de implementar tecnológicamente los métodos numéricos que se estudiarán,al final de cada método estudiado se presentará su implementación en diferentes

plataformas. De esta manera el lector podrá automatizar y comprender el método en cuestión,tanto como la manera de trabajar. En esta sección se describirán diferentes herramientas con lasque se trabajará y la intención de hacerlo.

Excel es una herramienta de fácil disponibilidad, aunque no se apega del todo al esquema deaplicación en el sentido de los lenguajes de programación. Sin embargo, es una herramienta quepermitirá al lector introducirse a la comprensión primaria del cálculo numérico visualizando elproceso y sus elementos intermedios, así como la implementación sencilla, aunque no del todopráctica dado el manejo de un gran número de datos y celdas. Su inclusión en los métodosintroductorios atiende más a una cuestión didáctica sobre la comprensión de la forma interna detrabajo de éstos, que a una promoción de su uso.

En una aplicación directa de Excel se emplearán columnas para guardar un tipo particular devariable, ya sean de entrada, intermedias o de salida, y cada paso iterativo del método serepresentará en cada renglón, como ejemplifica la Figura 1.3 con el método de bisección pararesolver ecuaciones no lineales de una variable.

Ejemplificación del método de bisección en Excel.

No está en el alcance de este libro mostrar al lector el empleo de Excel, y se presupone unconocimiento intermedio del mismo para las implementaciones de algunos métodos iniciales enlos que este paquete será usado para una implementación didáctica de los mismos. No serequerirán conceptos adicionales a la referencia de celdas, el uso de funciones matemáticas ylógicas, así como la construcción de gráficos.

Page 21: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

La implementación real de un método numérico se hace mediante el uso de lenguajes deprogramación, como Fortran y C++, que son los lenguajes técnicos más difundidos. Se puedenconsiderar otros como Java y Python, cuyo desarrollo actual los posiciona como lenguajessencillos. Mucho del software comercial que se emplea en ingeniería comprende programas comoMathematica y Matlab, que incluye ya comandos de aplicaciones numéricas y simbólicas. A lolargo de este libro emplearemos ambas rutas, primero el del lenguaje de programación, paraposteriormente emigrar a la programación propia dentro del software comercial y finalmente alconocimiento de comandos existentes en relación a técnicas numéricas. Este último enfoque nopretende desincentivar la programación, ya que aún con el empleo de comandos de este tipo desoftware, la realidad es que en muchas ocasiones, sobre todo cuando se resuelven problemascomplejos, es preferible construir una programación propia que puede ser controlada por elusuario o bien alternar entre programación propia y el empleo de dichos comandos.

Existen diversas formas para programar. Algunas más similares a la forma secuencial derealizar cálculos y operaciones por un ser humano y otras más óptimas para un lenguaje decomputadora y más eficientes al manipular simultáneamente los elementos de cálculo.

La programación estructurada sigue el primer enfoque, haciendo más clara la comprensión deuna estructura de comandos de programación pues refleja la realización de un cálculo a la vez,como lo haría un ser humano. En este tipo de programación, la gran mayoría de las tareaspueden realizarse mediante un conjunto reducido de comandos para secuenciar, iterar yseleccionar información. Con estas estructuras se pueden construir o programar módulos,segmentos o subrutinas que ejecuten tareas específicas y que puedan interactuar para realizartareas más complejas (Dahl, Dijkstra & Hoare, 1972).

Para saber más

La programación estructurada es un enfoque para escribir programas de cómputo empleando únicamente tresestructuras: secuencia, selección e iteración; siendo innecesaria la transferencia incondicional.

Alternativamente, la programación funcional es una programación que se basa en el uso defunciones aplicadas a valores, sin manejar datos intermediarios o de estado. Enfatiza así, laaplicación de funciones, en contraste con la programación imperativa, que genera cambios de

Page 22: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

estado. Aunque el proceso no sigue las pautas de la programación estructurada y por ello noreproduce las acciones de cálculo clásicas, una vez que se comprende la filosofía deprogramación, ésta resulta mucho más esbelta y óptima.

Para ilustrar esquemáticamente estos conceptos, la Figura 1.4 muestra esta concepción parael primero de los métodos numéricos que se estudiará, el método de bisección. Este método seemplea para determinar el valor aproximado donde una función f(x) se anula, y consiste en dardos valores aproximados que limiten a cada lado a la raíz, con lo que se calcula su valor medio yposteriormente este valor se sustituye por alguno de los valores iniciales de manera que sigancumpliendo con acotar a la raíz.

Esquematización del método de bisección, desde el punto de vista de la programaciónestructurada y las definiciones equivalentes de una programación funcional.

El proceso se repite varias veces para mejorar la acotación de la raíz o dar un valor mejor através del punto medio de ambas cotas. Esta descripción corresponde a una programaciónestructurada donde a través de un proceso iterativo se va obteniendo la aproximación mediantela repetición del método n veces. En forma alternativa, si se definen dos funciones: g quebásicamente constituye la regla de sustitución de (a,b) por nuevos valores (a’,b’) y h queconstituye la aplicación repetitiva de una función sobre una variable, n veces. Así, h(g(f,a,b),n)constituye la aplicación funcional del algoritmo. Posteriormente se analizará detalladamente estacomparación con la programación hecha sobre Mathematica al estudiar su sintaxis.

Ambos tipos de programación serán incluidos en el desarrollo de los métodos, principalmenteen forma inicial, aunque gran parte de estos son, en primera instancia, mejor comprendidos bajola programación estructurada.

En esta sección será presentada una introducción sobre la forma en que se empleará Pythony Mathematica en este libro, así como una revisión superficial de la sintaxis. No se pretendeagotar, por supuesto, el tema de la sintaxis, las librerías complementarias y otros aspectos deconstrucción de ambas herramientas, para lo cual se recomienda la revisión de bibliografíacomplementaria.

Page 23: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Python es un lenguaje de programación libre, moderno y sencillo, posee cierta orientacióncientífica al permitir programación funcional y el manejo de números complejos. En los añosrecientes se ha ubicado como un candidato para el aprendizaje de un primer lenguaje deprogramación. La razón de incluirlo aquí es sensibilizar al lector sobre el trabajo básico deprogramación sin recurrir a software especializado, no obstante que la visualización de losresultados no es fácilmente disponible a través de software de graficación libre para estelenguaje. Su inclusión en este libro se centra entonces en mostrar un ambiente de programaciónreal pero básico, sobre el que se pretende obtener resultados numéricos, sin un procesamientoposterior.

PARA SABER MÁS

Python es un lenguaje de programación de alto nivel que se basa en una sintaxis muy limpia de código legible. Esmultiparadigma pues soporta orientación a objetos, programación imperativa y programación funcional.

Python puede obtenerse libremente del sitio de su distribuidor [1], el cual puede descargarsee instalarse sin muchas dificultades. Es preferible descargar algunas de las versiones 2.x(particularmente la 2.4 a 2.7), las cuales son más estables y se conforman de una sintaxisconsistente. La versión 3.1 ha implementado diversos cambios y muchas librerías necesariasestán aún en desarrollo, por lo que si el lector pretende emplearla puede encontrarincompatibilidades con las construidas para las versiones 2.x. Aquí se hará referencia en todomomento a la versión 2.5, pero en general lo dicho es aplicable a las versiones 2.4 a 2.7.

Al instalarse, se puede trabajar ya sea desde una interfaz construida para el sistemaoperativo DOS o bien una interfaz más atractiva para Windows denominada IDLE (Python GUI),que al abrirse presenta una vista como la mostrada en la Figura 1.6, denominada Shell y quepara fines de programación de módulos permite abrir nuevas ventanas similares cuya ejecuciónse realiza y visualiza en la pantalla Shell. En este libro se trabajará a partir de esta última.

Shell de Python y una ventana con un módulo de programas que incluye los métodos numéricosde bisección, Newton-Raphson y punto fijo. En el Shell se muestra la ejecución de la función f(x) y de la

Page 24: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

búsqueda de una de sus raíces mediante el método de Newton-Raphson.

En Python es posible ejecutar comandos desde el Shell, o bien construir programas en una delas ventanas de la interfaz y ejecutarlas en el Menú, bajo Run y Run Module, lo cual incluye enlos comandos actuales los que aparezcan definidos en ese momento. La programación enPython requiere del lector cierta preparación previa, por lo que se recomienda la lectura de untexto introductorio (Budd, 2009; Gaddis, 2009) para comprender su funcionamiento básico. En losucesivo se asumirá que el lector tiene cierto dominio sobre el uso de Python para comprender lasintaxis de comandos básicos y aquí sólo se presentarán aspectos fundamentales para los finesde este libro.

Los comandos básicos para realizar operaciones son:

correspondientes a la suma, resta, multiplicación, división y exponenciación respectivamente.

La inclusión de funciones y constantes matemáticas puede hacerse desde el Shellejecutando el comando import math, con lo que algunas constantes y funciones pueden ahoraser usadas: math.sin, math.cos, math.tan, math.sqrt, math.pi, etc. Para considerar algunoscomandos de programación estructurada similares a los que se emplearán en , sehan preparado algunos ejemplos paralelos para presentar los comandos de selección: if, y deiteración: while y for, exactamente los que allá serán considerados.

Para ayuda del lector se ha preparado el archivo Python 1.1 incluyéndolos. Un ejemplo de laejecución de esta sintaxis y de estos comandos, puede apreciarse en la Figura 1.6. Seráentonces recomendable que el lector vuelva y programe el método de bisección que aparece enla figura 1.5.

Page 25: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Shell de Python y una ventana con un módulo de programas que muestra el empleo de algunoselementos de sintaxis y comandos de programación estructurada. En el Shell se muestra la ejecución de las

funciones definidas en la ventana, una vez que desde esta se han ejecutado en la opción Run y Run Module enel Menú. Obsérvese el reinicio del Shell al hacer esto. El lector debe probar estas funciones desde el archivo

Python 1.1 y posteriormente construir ejemplos propios.

es un paquete de cómputo simbólico, que también permite el manejo numérico yque implementa también técnicas y comandos de programación. Su inclusión en este libro es deacompañamiento, ya que una vez que el alumno pueda implementar algunos métodos numéricosen Excel y pueda programarlos en Python, la meta es realizar la programación en ,ya que le permitirá en forma más simple visualizar los resultados a través de los comandos yelementos gráficos que contiene. Actualmente está disponible la versión 8, pero para lasaplicaciones consideradas, cualquier versión a partir de la 6.0 será útil.

está constituido por tres programas básicos, y en la versión más recientealgunos más han sido añadidos. El Notebook es el programa interfaz con el usuario, el Kernel esel programa que realiza los cálculos y ejecución de comandos, en tanto que el Mathlink regula lainteracción entre ellos y del Kernel para con otras aplicaciones externas desde las que se podríaacceder con Mathematica. La operación de Mathematica es a través de celdas de comandos,desde las que se pueden ejecutar comandos y realizar cálculos, que son procesados por elKernel mediante las teclas <Shift+Enter>.

PARA SABER MÁS

Mathematica es un paquete computacional de cálculo simbólico, escrito en lenguaje C++ orientado a objetos, lo que lepermite realizar manipulaciones simbólicas. Es soportado por diversos sistemas de hardware: PC’s, Macintosh,Sistemas Unix. Su desarrollo inicia en los setentas, conocido como SMP y desarrollado por Stephen Wolfram y lanzadocomercialmente en 1988 como Mathematica.

Page 26: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

La Figura 1.7 muestra un Notebook con algunos comandos aislados, que incluyen ladefinición de un pequeño programa o definición de un nuevo comando para calcular la raíz deuna función mediante el método de bisección, por comparación con la Figura 1.6 para Python. Es deseable, para la lectura del material, que el lector tenga un conocimiento básico, almenos al nivel de ejecución, de comandos por celdas, aunque dado el nivel de uso delpaquete, se dedicará una sección para presentar la sintaxis necesaria.

Notebook de Mathematica mostrando algunos cálculos por celda y la definición de un programapara el método de bisección y su ejecución para encontrar numéricamente una de sus raíces.

Se hará ahora un breve recorrido por algunos elementos de sintaxis de Mathematica, para loque se ha preparado el Notebook 1.1 conteniendo las secciones y ejemplos descritos. Esnecesario que el usuario disponga de una versión de Mathematica adecuada para ejecutarlo.Los ejemplos se despliegan dando doble click a las celdas de la derecha.

Es recomendable que el lector se familiarice con el menú del Notebook, el cual en primerainstancia es similar a un procesador de textos, para las opciones File, Edit e Insert, con los quese puede abrir, salvar e imprimir documentos. Igualmente es posible insertar elementos oimportarlos. Mathematica funciona a partir de celdas, las cuales se generan del lado derecho aloprimir la tecla <Enter> sobre la pantalla del Notebook. Dentro de ella pueden escribirse ahoracomandos de cálculo y operaciones como las que veremos. El usuario puede definir diferentesestilos de celda (para fines de susceptibilidad de interacción con el Kernel) desde las opcionesFormat y Cell, puede también escogerse el tipo de letra, tamaño y colores, dar formatos definidosal Notebook y a los encabezados. La opción permite manipular los gráficos dediferentes formas. En el usuario puede diferir, interrumpir o cerrar la operación delKernel, cuyo dominio puede ser importante en caso de generar comandos o programas que

Page 27: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

contengan errores que al ejecutarse puedan ciclar la máquina. En la opción el usuarioencontrará algunas opciones para escribir algunos comandos matemáticos en su notaciónhabitual. Aquí no se promoverá el uso de las paletas de edición en virtud de que se mantiene unaproximidad a la forma de trabajo con los lenguajes de programación, pero es claro que paracálculos directos estas son de gran utilidad para no tener impedimento por desconocimiento de lasintaxis. En la opción el usuario podrá abrir y administrar varios notebooks a la vez, loscuales en una sesión dada comparten el uso del Kernel. En la opción el usuario dispone deun centro de documentación y un libro virtual, el cual por mucho es recomendable en relación aotros textos, es importante que el lector se familiarice con ellos.

Una vez que el lector se haya identificado y familiarizado con la apertura de celdas y suescritura en ellas, puede considerar los ejemplos del Notebook 1.1 y/o crear ejemplos propios.Debe recordarse que una vez escrito el comando a evaluar en la celda, la interacción con elKernel es a través de la combinación de teclas <Shift+Enter>. Varios comandos pueden serincluidos en una celda, los cuales serán ejecutados secuencialmente en ese orden. El primerpaso es tener familiaridad con los símbolos de operación aritmética: +, -, * ó <Space>, / y ^,correspondientes a la suma, resta, multiplicación, división y exponenciación respectivamente.Nótese que para la multiplicación existirán diversas opciones, tanto * como <Space> la indican, loque implica también que en la sintaxis de no son necesarios los espacios. Aún más,para la multiplicación de un número por una variable alfabética, no es necesario ninguno deestos símbolos, en virtud de que los nombres permitidos para variables jamás pueden iniciar con

números. Desde aquí puede apreciarse la existencia de variables que como Pi y E (para y erespectivamente) retornan valores idénticos, o que las operaciones regresarán resultadosracionales, en virtud de la conformación de como paquete de cómputo simbólico. Eluso del comando N puede ayudar a transformar estos resultados en números de punto flotante odecimales, cuando estos son englobados por éste. El uso de enteros y números de puntoflotante en los cálculos hace que pueda verse forzado a trabajar en forma numérica.

Ya se vio en el párrafo previo algunas diferencias entre la operación simbólica y numérica de. El usuario debe cuidar y considerar esto al trabajar con métodos numéricos, pues

puede construir programas que operen bajo algunos de estos preceptos. Si lo que interesa alusuario es sólo el resultado numérico, una operación simbólica inadvertida podría hacer que

demore demasiado en el cálculo, pues buscará entregar un resultado analítico. Enlas primeras aplicaciones de los métodos a estudiar se profundizará en este aspecto. En elNotebook 1.1 se incluyen algunos otros ejemplos de estas diferencias.

.

La escritura de funciones y comandos predefinidos en es relativamente intuitiva.Para las funciones matemáticas comunes se emplean los comandos habituales iniciando siemprecon mayúscula: Sin, Cos, Tan, Sec, Csc, Cot, ArcSin, ArcCos, ArcTan, Sinh, Cosh, Tanh,Exp, Log, etc. Los argumentos se escriben a continuación entre corchetes, [ ], y su uso está

Page 28: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

restringido a ello. En este último caso, para Log, un argumento hace referencia a la funciónlogaritmo natural, en tanto que dos lo hacen a cualquier otra función logarítmica, siendo elprimero la base del logaritmo en cuestión y el segundo el argumento propiamente dicho,separados por coma. Otras funciones no tan habituales normalmente emplean su nombrecompleto en inglés: Sqrt, Mean, Integrate , StandardDeviation, etc. Hay pocas excepciones aesta regla, como la derivada, D. En caso de palabras compuestas ambas inician con mayúscula.Lo mismo ocurre con comandos propios de : Plot, ListPlot, Manipulate , Module,etc. La sintaxis de estos y otros comandos puede ser revisada en el centro de documentaciónbajo la opción .

.

Existen diferentes tipos de símbolos para indicar delimitación. El primero ha sido ya estudiadoy corresponde a los corchetes, [ ], reservados para indicar argumentos estrictamente despuésde un comando de o alguno otro definido por el usuario. En caso de contener variosargumentos el símbolo de separación es la coma: , . Los paréntesis, ( ), se emplean parajerarquizar operaciones, por ejemplo, la suma o resta que ante la exponenciación o el productoposeen menor jerarquía. Las llaves, { }, indican la construcción de una lista o intervalo. El empleode dobles corchetes, [[ ]], indica la extracción específica de un elemento de una lista, separandopor comas los diferentes niveles de la misma en caso de ser necesario. Para este ejemplo se haempleado el símbolo = para asignar una lista, una variable que facilita su referencia. Este símbolose estudiará a continuación. Finalmente, los símbolos (* y *), se emplean para delimitarcomentarios dentro del Notebook, los cuales son inocuos al interactuar con el Kernel.

.

Los símbolos = y := corresponden a la asignación de valores a variables, que representan“nombres cortos” para los elementos que albergan. El primero de ellos hace una asignacióninmediata, en tanto que el segundo lo hace de forma diferida al momento de emplearlo, lo cualpermite una actualización permanente del valor que contiene. Esto es de utilidad en laprogramación, pues permite omitir líneas de programación destinadas a actualizar variables deestado. El símbolo == se emplea como elemento de igualdad en un sentido matemático, porejemplo, al construir una ecuación determinada.

.

Cuando se desea definir una función o comando propio en se emplea el signode asignación (= ó :=), anteponiendo como variable el nombre dado (no necesariamente debeiniciar con mayúscula como para los comandos del paquete) y sus variables deseadas (lasnecesarias y las cuales se emplean como referencia y posteriormente pueden cambiarse osustituirse), empleando el guión bajo después de cada una de ellas (lo que indica que se estádefiniendo una función o comando).

.

Existen una gran variedad de gráficos que se pueden construir en . Buscar

Page 29: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

agotar su descripción está fuera del alcance del libro, aunque estos elementos constituyenfuentes de representación en muchos de los métodos numéricos que se estudiarán o deproblemas potenciales que se analicen con procedimientos numéricos. Se describen a través delNotebook 1.1 los gráficos siguientes.

El primer tipo de gráfico se ha analizado ya en otros ejemplos y corresponde al de una funciónde una variable en donde se señala ésta y el intervalo de graficación, Plot. En general esta serála sintaxis básica de los comandos de graficación, pero los comandos poseen argumentos comose muestra en el Notebook 1.1. Se pueden graficar varias funciones a la vez mediante el empleode listas de funciones. El segundo tipo es el de una función de 2 variables que sigue una pautasimilar a la anterior, Plot3D. Un tercer tipo corresponde a una gráfica construida a partir depuntos mediante el comando ListPlot (nótese que se emplea el comando Table para generar lalista de datos, este comando se tratará posteriormente con profundidad), ya sea que se quieraque estos se unan o no mediante una línea. El comando ParametricPlot permite graficar unafunción vectorial cuando se especifica en una pareja dos funciones para y escritas entérminos de un tercer parámetro. Generalizaciones a tres dimensiones pueden hacerse medianteel comando ParametricPlot3D donde se especifican , y a través de un parámetro paraconformar una línea, o de dos parámetros para generar una superficie.

.

Ya se ha visto como construir una lista de diferentes niveles. Sin embargo, es convenientepoder hacerlo mediante comandos automáticos como se hizo en el ejemplo previo para ListPlot.Un comando útil es el comando Table , que permite generar una lista de tamaño y estructurauniforme si se dispone de una fórmula para ella. Su sintaxis es simple, se coloca como primerargumento el tipo de elemento a incluir en la lista a través de su descripción analítica, la cual depende de uno o más parámetros, posteriormente se especifica el rango de cada parámetroindicando el inicio, fin e incremento del mismo. Por cada parámetro considerado se generará unnivel en la lista. Algunos comandos como Join, Append y Prepend permiten unir y agregarelementos a las listas ya construidas. El comando Flatten permite reducir niveles de las listas aleliminar paréntesis internos al nivel deseado. Se incentiva al lector a probar e investigar el uso ysintaxis de otros comandos de manipulación de listas como Reverse , Partition, Transpose yDrop. Esta familia de comandos es de interés en virtud de que los problemas en métodosnuméricos almacenan convenientemente sus resultados en variables con estructuras de listas ysu manipulación es importante.

.

Los comandos elementales de programación que consideraremos aquí corresponden a untipo de programación estructurada. El usuario puede consultar los ejemplos en el Notebook 1.1,los incluidos en el centro de documentación o rápidamente dentro de un notebook cualquiera.También pueden consultar la sintaxis de cualquier comando anteponiendo el símbolo ? acualquier comando predefinido para obtener una retroalimentación directa en una celda aloprimir <Shift+Enter>. If, es un comando que permite seleccionar entre dos opciones booleanascomplementarias, dejando una alternativa para el caso indefinido en cuanto a valor de verdad, su

Page 30: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

sintaxis es:

Alternativamente, Which es una generalización de selección que permite evaluar diferentescondiciones complementarias a la vez y ejecutar acciones correspondientes:

Debe observarse que se mencionan “acciones” en plural, la razón es que si bien el espaciocorresponde a una variable, en varias de ellas pueden separarse por el símbolo ; yserán consideradas como una sola. En este mismo sentido el símbolo ; permite secuenciaracciones a la vez que inhibe las salidas de los comandos incluidos. Por ello mismo cuando uncomando en una celda se ejecuta con ; al final, ninguna salida será obtenida. En relación a loscomandos de iteración, el más general es While, el cual posee la sintaxis:

de este modo si la resulta verdadera, las ejecución de las serepite hasta que la resulte falsa y su ejecución termine. Igualmente For, es uncomando más estructurado pero menos general, pues el número de repeticiones está en generaldeterminado por un contador interno (aunque en su interior el valor del mismo puede alterarse ygenerar repeticiones no predeterminadas del todo). Su sintaxis es:

el símbolo < puede ser sustituido por >, <= ó >= si se requiere. Igualmente i=i+puede ser sustituido por: i=i- , para disminuir el valor del contador i, y también pori+= y i-= respectivamente. Otras alternativas son: i++ ó i--respectivamente, que corresponden al caso en que =1. Finalmente Module es uncomando que permite secuenciar y englobar acciones para construir un programa o subrutina, elcual puede ser asignado a un nombre de variable o función corto con argumentos mediante ladefinición de una función, su sintaxis es:

En la lista de variables locales se colocan aquellas variables internas que quieren sereliminadas al término de la ejecución de Module.

Algunas operaciones lógicas serán necesarias, en particular And y Or. Estos comandosposeen una forma funcional como todos los comandos de : And[

Page 31: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

] y Or[ ]. Alternativamente puede emplearse: 1&& 2 &&… y 1 || 2 ||…, respectivamente.

a) Programación estructurada en Mathematica del método de bisección, y b) programaciónfuncional del mismo método. En el primer caso se define una instrucción con variables de entrada que empleavariables de estado para buscar mejores aproximaciones a la raíz de la función f(x), en tanto, en la segunda sedefine una función para el proceso básico y una función de aplicación sucesiva de esta sobre los parámetros

de entrada: f, a y b.

Con estas especificaciones, ahora puede hacerse una proposición para el método debisección tratado. La figura 1.8 muestra comparativamente la programación en delos dos enfoques de programación, estructurada y funcional para el método de bisección. Elprimer enfoque emplea comandos secuenciados, de iteración y selección, repitiendo el procesocomo lo haría una persona. El comando SetPrecision se explicará después. En el segundocaso, nótese la simplicidad una vez que se identifican las funciones relevantes del problemacomo indica la Figura 1.4. Como ahí se dijo, ( ( , , ), ) constituye la aplicación funcional delalgoritmo.

En añadidura a los Nootebooks que acompañan al texto, se incluirán algunos elementosinteractivos denominados Demostraciones, para lo que se recomienda al lector descargar elPlayer 7 de [2], para poder visualizarlos, en caso de no tener una versión de

adecuada. El Player permite visualizar los Notebooks (sin ejecutar comandos) ymanipular las Demostraciones.

Page 32: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

A

Los tres elementos básicos a considerar encualquier método numérico, la eficiencia del mismo,la exactitud numérica de la representación computacional y los errores derivados en el proceso, ya sea por

truncamiento o redondeo.

l trabajar con métodos numéricos hay diversas limitantes para lograr el objetivo planteado dealcanzar un resultado hasta un exactitud planteada. Dichos factores introducen errores y

limitaciones en el cálculo y deben ser considerados. Por un lado, la introducción de datosimprecisos induce , los cuales difícilmente pueden superarse a menos quetengan una pauta definida y que quien dispone de ellos lo sepa. En este texto no seconsiderarán este tipo de errores. Su estudio pertenece al análisis experimental, más que alanálisis numérico. La presencia de diferentes errores es trasladada a diferentes etapas delanálisis y es denominada . Este tipo de error puede cuantificarse a través delanálisis numérico si cada método tiene una estimación de su propio error siguiendo técnicasanalíticas sobre el método numérico en sí o bien aproximaciones numéricas a este. A lo largo dela descripción de los métodos consideraremos ambos análisis. La propagación a lo largo de unestudio puede determinarse mediante técnicas estadísticas o experimentales si los errores sonporcentualmente pequeños. Ahora, ¿cuáles son los errores propios de un método numérico? Porun lado, dado que se emplean computadoras para realizar y automatizar estos métodos, se hablade un cuando dentro de los cálculos se emplean representacionesnuméricas de funciones analíticas que pueden tener una representación limitada o que debe sercontrolada para alcanzar precisiones crecientes. Tanto como Python poseencontroles sobre ambos aspectos, aunque pondremos énfasis particular en el caso del primeropor ser la herramienta meta en este libro. En forma análoga, un es aquelintroducido por tener que disponer de representaciones de precisión finita en los cálculos y suimperfección para aproximar el último dígito de la representación de un número.

Una forma de entender estos últimos puede verse a través de la realización de algunoscálculos elementales como la suma o la multiplicación de un par de números conocidos sólohasta cierta precisión, indicada por los puntos suspensivos:

Page 33: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

en donde se realiza la suma y multiplicación de dos números con precisión dada, nonecesariamente igual, mostrando así que la precisión resultante depende de la de los númerosde entrada y es en el mejor de los casos marcada en la posición de la línea punteada. Si bien esposible deducir reglas para la precisión heredada de cada operación numérica realizada, darseguimiento de ello en procesos numéricos con millones de operaciones resulta inviable. Bastedecir que en general, la imprecisión de la representación de los números induce errorescrecientes, por lo que la búsqueda iterativa de los métodos por mejores resultados compite todoel tiempo con esta limitación. Por lo tanto, para obtener una exactitud numérica determinada enun procedimiento de cálculo requerirá un manejo de dígitos más exactos que la meta para limitareste comportamiento.

No obstante, el manejo de números de alta precisión es computacionalmente más caro.Adicionalmente, otra limitante es la de los métodos. En ocasiones algunos métodosdeben tener un alto número de iteraciones para obtener apenas unos cuántos dígitos más deexactitud numérica, lo cual resulta indeseable.

Un área del análisis numérico es la complejidad, que cuantifica en términos del número deiteraciones el orden del número de operaciones a realizar, el cual se asume proporcional altiempo de ejecución y por tanto a la . Es así como esta terna: errores, precisión yexactitud están estrechamente ligados en la implementación y estudio de los métodos numéricos(Figura 1.9).

Para fines de cuantificación de errores consideraremos dos medidas. Por un lado, el de una aproximación numérica x se define como:

Este error corresponde a la aproximación de la ésima iteración. Sin embargo, este error sibien puede indicar la cifra decimal hasta la que es correcta , no indica del todo el nivel real delerror en relación al valor a estimar, . Para ello se define el :

Page 34: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

el cual indica en términos porcentuales, 100 %, el grado de exactitud. Uno puede percatarseque estas estimaciones no son útiles si no se conoce el valor x a aproximar numéricamente, locual en aplicaciones reales no ocurre. Sin embargo, dadas las características iterativas de losmétodos numéricos, una forma de aproximar es mediante una mejor aproximación del mismométodo, , o posterior en la fórmula para . El cálculo de estos errores dentro de los métodosnuméricos a estudiar será de vital importancia para cuantificar su exactitud.

Un resultado que será de vital importancia para la cuantificación teórica de los errores dediversos métodos será el teorema de Taylor, un resultado importante del cálculo diferencial. Esteteorema establece que para toda función f(x) con derivadas continuas y bien definidas en unintervalo [a, b], y dados dos números, x y xr en este intervalo, existe un número c entre ellos talque:

Este teorema también será útil expresado en la forma:

Este último término es conocido normalmente como el , ya que permitevisualizar una cota para la diferencia entre el valor de una función en un punto y su respectivaaproximación en serie de potencias truncada hasta orden . Si el valor de (n+1)( ) en [ , ] estáacotado entonces siempre existe tal que:

En lo sucesivo se verá tanto que el desarrollo en serie de potencias de una función será unelemento recurrente de algunos métodos numéricos y por ello la restricción de que las funcionesinvolucradas y sus derivadas sean continuas en intervalos que contengan a la solución buscada.

Otro aspecto importante es el que en varios métodos numéricos se consideranaproximaciones de orden diverso a una expresión funcional, por lo que la variación entre los

Page 35: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

A

valores exactos y los aproximados poseen en los cálculos errores que se pueden cuantificarcomo:

donde es el orden de la aproximación. Al emplear estas aproximaciones los errores seránproporcionales a este orden de magnitud pues son los términos remanentes del cálculo. Seempleará este resultado en diferentes partes del libro para estimar el error de la aproximación entérminos de la variación del parámetro del que depende.

Un resultado particular es el , que se puede escribir como:

Para saber más

El matemático británico Brook Taylor enunció en 1712 este teorema, aunque existe una disputa en relación a si JamesGregory lo había descubierto años antes, en 1671. El teorema aproxima polinomialmente a cualquier función continua ydiferenciable en una vecindad dada. Su valor es múltiple, quizá es uno de los teoremas con mayor aplicación hoy en día,pues permite tener procedimientos de cálculo de funciones en las computadoras y estimar y acotar el error de losmétodos numéricos, además de brindar una vía para establecer métodos de aproximación iterativa.

lo largo del libro y en cada capítulo, se incluirá la presente sección para presentar algunosmétodos numéricos alternos que serán descritos brevemente, los cuales pueden ser de utilidadpara desarrollar proyectos de programación alternos. Del mismo modo, se presentaránescenarios de Aprendizaje Basado en Problemas (ABP) que pueden ser empleados dentro de uncurso semestral para inducir un tópico para desarrollar cada tema en caso que esta se adopte

Page 36: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

como técnica didáctica. Del mismo modo, se presentarán algunas aplicaciones que puedenpermitir extenderse más allá del tema, pero manteniéndolo como punto central, y que constituyenelementos valiosos para constituir proyectos de desarrollo dentro del curso.

Los siguientes escenarios están dirigidos a sustituir la discusión de comandos y realizarsepara el aprendizaje de los comandos de

Aprendiendo a sumar, restar y multiplicar con Mathematica. Considere el siguiente proyectode programación. Se trata de construir un programa que permita ayudar a los niños deeducación primaria a practicar la suma, la resta y la multiplicación mental. Para ello esrecomendable dividir en tres módulos el problema, los cuales deben ser llamados desde unprograma central que decida la operación a practicar. Las especificaciones son las siguientes:

• El programa no debe contener parámetros iniciales.

• El módulo central deberá preguntar si se desea practicar la suma, la resta o la multiplicación.Adicionalmente deberá solicitar dos números para establecer un rango de los números queaparecerán por parejas para realizar las preguntas. Adicionalmente deberá solicitar elnúmero de puntos al que el niño deberá llegar para terminar la práctica, así como el tiempoen segundos que se le dará para responder.

• Si el niño responde mal deberá descontar un punto del total. Si se tarda más de la toleranciase deberá responder correctamente para continuar sin recibir puntos. Si se contesta bienrecibe un punto.

• El programa deberá emitir sonidos dependiendo del tipo de respuesta dada (correcta,correcta fuera de tiempo, incorrecta). Deberá ejecutar una melodía o sonidos en tanto no seagota el tiempo de tolerancia.

• Al término deberá dar una estadística sobre el total de preguntas, el número de correctas,correctas fuera de tiempo e incorrectas.

• Deberá imprimir o mencionar frases de bienvenida o despedida.

Se sugiere consultar los comandos: Speak, Sound, EmitSound, Input y AbsoluteTiming,los cuales ayudarán a introducir elementos de control de tiempo de respuesta y sonidos queayudarán en el proceso de aprendizaje. La recomendación es construir un módulo para cada tipode operación, aunque entre ellos realmente haya gran número de similitudes. Estos módulosdeberán ser llamados desde un programa de entrada y administración central.

Para saber más

Page 37: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Los programas de aprendizaje para niños se han vuelto muy populares pues permiten aplicar cierta práctica repetitivapero con parámetros variables, al mismo tiempo que evaluar el desempeño. Adicionalmente se puede instruir al programapara que detecte las deficiencias y refuerce aquellos aspectos necesarios para corregirlas.Diversas simulaciones son realizadas para comprender mejor un problema. La figura muestra una simulación de lavasoconstricción generada por los depósitos de placas de colesterol en las venas, aumentando la velocidad de flujo yelevando la presión arterial. Esta simulación puede encontrarse en el sitio de demostraciones con Mathematica al dar clicaquí.

Se desea realizar una simulación del comportamiento de una esfera rebotando dentro de unacaja rectangular. Para ello puede emplear las ecuaciones de movimiento

para actualizar las posiciones y velocidades en cada dirección, en la medida que el intervaloentre cuadros de la simulación, D , sea pequeño. La programación debe contener parámetrossegún las especificaciones:

• Un parámetro deben ser las posiciones y velocidades iniciales en el formato: {{x ,y ,z },{v ,v,v }}.

• Un parámetro deben ser las dimensiones de la caja en el formato: {{x ,x },{y ,y },{y ,y }}.

• La simulación debe considerar las interacciones de gravedad y resistencia con el medio.

• El tiempo de simulación, , debe ser un parámetro inicial del programa. Otros parámetrosson: la gravedad, , el coeficiente de resistencia con el medio (en un modelo lineal para lavelocidad), , así como el radio de la esfera. Estos deben introducirse en la forma: { , ,

, }.

Es recomendable leer la sección de Comandos implementados en Mathematica para larealización de este escenario. El empleo de los comandos de programación descritos en lasección es imprescindible. En una primera instancia el lector puede omitir el empleodel comando Module , por construir un listado de gráficos y animarlos desde la opción

que aparece bajo en Rendering en las opciones del Menú.

Page 38: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

E

Representación de la simulación de una pelota rebotando en una caja, sujeta a la gravedad y aresistencia con el medio, así como el comportamiento de su energía en función del tiempo.

La extensión del problema previo de la esfera confinada en una caja en dos diferentesaspectos es un potencial proyecto del curso:

• La inclusión de choques no elásticos con las paredes de la caja y la extensión de lasimulación hacia el análisis de diagramas fase y gráficas de energía contra tiempo (Figura1.10).

• Un proyecto similar con aspectos comunes al anterior es el de una esfera dentro de unespacio esférico dentro del cual rebota.

• La inclusión de dos pelotas de diferente tamaño y masa, así como la extensión de lasimulación hacia el análisis de diagramas fase y gráficas de energía contra tiempo. Elestudio de colisiones elásticas requerirá del manejo vectorial de los centros para determinarlas velocidades posteriores.

n la sección correspondiente bajo este nombre en cada capítulo se presentará la formaalterna del uso del software, como un producto de desarrollo para resolver problemas

complejos a través de las soluciones propuestas por para los métodos estudiados.

Para este capítulo es conveniente que para el desarrollo de animaciones derivadas de lasimulación numérica, el lector se familiarice con el comando Manipulate de . Estecomando permite realizar demostraciones análogas a las aquí incluidas. La sintaxis del comandoes:

Manipulate[ ]

Como un ejemplo, considérese la graficación de una curva en tres dimensiones. Es posibleemplear el comando ParametricPlot3D que se estudió. Vamos a considerar un tipo particular defunción:

Page 39: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Así que el comando para su graficación sería:

ParametricPlot[{Cos[4t]Cos[t],Cos[4t]Sin[t],Sin[4t]Sin[8t]},{t,0,2Pi}]

si se desea graficar en un ciclo completo. Sin embargo, uno puede decidir generar unaanimación en la que aparece la generación de la gráfica paulatinamente, esto se logragraficando hasta un valor menor a 2 , por ejemplo , esto se logra con:

Manipulate[

ParametricPlot3D[{Cos[4t]Cos[t],Cos[4t]Sin[t],Sin[4t]Sin[8t]},{t,0,x}],{x,0,2Pi}]

El lector observará la aparición de la demostración y puede explorar los controles de lamisma. Hay dos aspectos importantes aquí, el primero se refiere a que adapta eltamaño de la ventana a la gráfica. Sin embargo, como está creciendo, esta no parece clara niestética por lo que es recomendable incluir en el comando ParametricPlot3D la instrucciónPlotRange que delimita el tamaño del escenario de la gráfica para que permanezca fijo. Elsegundo aspecto es omitir el error inicial que se genera por manejar como valor inicial de comocero, ya que en este caso no hay gráfica a generar. Esto se soluciona poniendo un valorligeramente mayor, por ejemplo 0.1. Así:

El comando Sphere grafica una esfera si se le indican las coordenadas del centro y el radio.Adicionalmente Graphics3D despliega el gráfico al englobar al comando anterior. Finalmente, elcomando Show permite graficar dos objetos en un espacio común, por lo que el lector puedeconsiderar el ejemplo siguiente:

Page 40: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

el resultado es mostrado en la Figura 1.11.

Resultado del comando Manipulate estudiado en el texto.

Page 41: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Conclusión del capítulo 1

Puedes consultar el video al hacer clic aquí.

00:00 / 00:00

Page 42: Métodos numéricos para ingeniería - · PDF fileL Introducción os métodos numéricos constituyen una herramienta de análisis científico y tecnológico valiosa en nuestros días

Ejercicio integrador del capítulo 1

Haz clic aqui para realizar el ejercicio integrador