SlideShare una empresa de Scribd logo
179
Lo más leído
238
Lo más leído
527
Lo más leído
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
Métodos numéricos para ingenieros
Quinta edición
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
Métodos numéricos para ingenieros
Quinta edición
Steven C. Chapra Raymond P. Canale
Decano de Computación e Ingeniería Profesor emérito de Ingeniería Civil
Tufts University University of Michigan
REVISIÓN TÉCNICA:
M.C. Juan Carlos del Valle Sotelo
Catedrático del Departamento de Física y Matemáticas
ITESM, campus Estado de México
MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MADRID
NUEVA YORK • SAN JUAN • SANTIAGO • AUCKLAND • LONDRES • MILÁN
MONTREAL • NUEVA DELHI • SAN FRANCISCO • SINGAPUR • SAN LUIS • SIDNEY • TORONTO
Director Higher Education: Miguel Ángel Toledo Castellanos
Director editorial: Ricardo A. del Bosque Alayón
Editor sponsor: Pablo E. Roig Vázquez
Editora de desarrollo: Lorena Campa Rojas
Supervisor de producción: Zeferino García García
Traducción: Javier Enríquez Brito
Ma. del Carmen Roa Hano
MÉTODOS NUMÉRICOS PARA INGENIEROS
Quinta edición
Prohibida la reproducción total o parcial de esta obra,
por cualquier medio, sin la autorización escrita del editor.
DERECHOS RESERVADOS © 2007 respecto a la quinta edición en español por
McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V.
A Subsidiary of The McGraw-Hill Companies, Inc.
Edificio Punta Santa Fe
Prolongación Paseo de la Reforma 1015, Torre A
Piso 17, Colonia Desarrollo Santa Fe,
Delegación Álvaro Obregón
C.P. 01376, México, D. F.
Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736
Créditos de las fotografías de portada: © Jack Novack / SuperStock.
MATLABTM
es una marca registrada de The MathWorks, Inc.
ISBN-13: 978-970-10-6114-5
ISBN-10: 970-10-6114-4
(ISBN: 970-10-3965-3 edición anterior)
Traducido de la quinta edición en inglés de la obra NUMERICAL METHODS FOR ENGINEERS, FIFTH EDITION.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved.
ISBN: 0-07-291873-X
1234567890 09865432107
Impreso en México Printed in Mexico
A
Margaret y Gabriel Chapra
Helen y Chester Canale
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CONTENIDO
PREFACIO xvii
ACERCA DE LOS AUTORES xxiii
PARTE UNO
PT1.1 Motivación 3
PT1.2 Antecedentes matemáticos 5
PT1.3 Orientación 8
CAPÍTULO 1
Modelos matemáticos y solución de problemas en ingeniería 11
1.1 Un modelo matemático simple 11
1.2 Leyes de conservación e ingeniería 19
Problemas 22
CAPÍTULO 2
Programación y software 26
2.1 Paquetes y programación 26
2.2 Programación estructurada 28
2.3 Programación modular 37
2.4 Excel 38
2.5 MATLAB 42
2.6 Otros lenguajes y bibliotecas 47
Problemas 48
CAPÍTULO 3
Aproximaciones y errores
de redondeo 53
3.1 Cifras significativas 54
3.2 Exactitud y precisión 56
3.3 Definiciones de error 57
3.4 Errores de redondeo 60
Problemas 76
MODELOS,
COMPUTADORAS
Y ANÁLISIS
DEL ERROR 3
viii CONTENIDO
CAPÍTULO 4
Errores de truncamiento y la serie de Taylor 78
4.1 La serie de Taylor 78
4.2 Propagación del error 95
4.3 Error numérico total 99
4.4 Equivocaciones, errores de formulación e incertidumbre en los datos 101
Problemas 103
EPÍLOGO: PARTE UNO 105
PT1.4 Alternativas 105
PT1.5 Relaciones y fórmulas importantes 108
PT1.6 Métodos avanzados y referencias adicionales 108
PARTE DOS
PT2.1 Motivación 113
PT2.2 Antecedentes matemáticos 115
PT2.3 Orientación 116
CAPÍTULO 5
Métodos cerrados 120
5.1 Métodos gráficos 120
5.2 El método de bisección 124
5.3 Método de la falsa posición 131
5.4 Búsquedas por incrementos y determinación de valores iniciales 138
Problemas 139
CAPÍTULO 6
Métodos abiertos 142
6.1 Iteración simple de punto fijo 143
6.2 Método de Newton-Raphson 148
6.3 El método de la secante 154
6.4 Raíces múltiples 159
6.5 Sistemas de ecuaciones no lineales 162
Problemas 167
CAPÍTULO 7
Raíces de polinomios 170
7.1 Polinomios en la ciencia y en la ingeniería 170
7.2 Cálculos con polinomios 173
7.3 Métodos convencionales 177
7.4 Método de Müller 177
7.5 Método de Bairstow 181
7.6 Otros métodos 187
RAÍCES DE
ECUACIONES 113
CONTENIDO ix
7.7 Localización de raíces con bibliotecas y paquetes de software 187
Problemas 197
CAPÍTULO 8
Estudio de casos: raíces de ecuaciones 199
8.1 Leyes de los gases ideales y no ideales (ingeniería química y bioquímica) 199
8.2 Flujo en un canal abierto (ingeniería civil e ingeniería ambiental) 202
8.3 Diseño de un circuito eléctrico (ingeniería eléctrica) 206
8.4 Análisis de vibraciones (ingeniería mecánica e ingeniería aeronáutica) 209
Problemas 216
EPÍLOGO: PARTE DOS 227
PT2.4 Alternativas 227
PT2.5 Relaciones y fórmulas importantes 228
PT2.6 Métodos avanzados y referencias adicionales 228
PARTE TRES
PT3.1 Motivación 233
PT3.2 Antecedentes matemáticos 236
PT3.3 Orientación 244
CAPÍTULO 9
Eliminación de Gauss 247
9.1 Solución de sistemas pequeños de ecuaciones 247
9.2 Eliminación de Gauss simple 254
9.3 Dificultades en los métodos de eliminación 261
9.4 Técnicas para mejorar las soluciones 267
9.5 Sistemas complejos 275
9.6 Sistemas de ecuaciones no lineales 275
9.7 Gauss-Jordan 277
9.8 Resumen 279
Problemas 279
CAPÍTULO 10
Descomposición LU e inversión de matrices 282
10.1 Descomposición LU 282
10.2 La matriz inversa 292
10.3 Análisis del error y condición del sistema 297
Problemas 303
CAPÍTULO 11
Matrices especiales y el método de Gauss-Seidel 305
11.1 Matrices especiales 305
11.2 Gauss-Seidel 310
ECUACIONES
ALGEBRAICAS
LINEALES 233
x CONTENIDO
11.3 Ecuaciones algebraicas lineales con bibliotecas y paquetes de software 317
Problemas 324
CAPÍTULO 12
Estudio de casos: ecuaciones algebraicas lineales 327
12.1 Análisis en estado estacionario de un sistema de reactores
(ingeniería química/bioingeniería) 327
12.2 Análisis de una armadura estáticamente determinada
(ingeniería civil/ambiental) 330
12.3 Corrientes y voltajes en circuitos con resistores (ingeniería eléctrica) 334
12.4 Sistemas masa-resorte (ingeniería mecánica/aeronáutica) 336
Problemas 339
EPÍLOGO: PARTE TRES 349
PT3.4 Alternativas 349
PT3.5 Relaciones y fórmulas importantes 350
PT3.6 Métodos avanzados y referencias adicionales 350
PARTE CUATRO
PT4.1 Motivación 353
PT4.2 Antecedentes matemáticos 358
PT4.3 Orientación 360
CAPÍTULO 13
Optimización unidimensional no restringida 363
13.1 Búsqueda de la sección dorada 364
13.2 Interpolación cuadrática 371
13.3 Método de Newton 373
Problemas 375
CAPÍTULO 14
Optimización multidimensional no restringida 377
14.1 Métodos directos 378
14.2 Métodos con gradiente 382
Problemas 396
CAPÍTULO 15
Optimización restringida 398
15.1 Programación lineal 398
15.2 Optimización restringida no lineal 409
15.3 Optimización con bibliotecas y paquetes de software 410
Problemas 422
OPTIMIZACIÓN
353
CONTENIDO xi
CAPÍTULO 16
Aplicaciones en ingeniería: optimización 424
16.1 Diseño de un tanque con el menor costo
(ingeniería química/bioingeniería) 424
16.2 Mínimo costo para el tratamiento de aguas residuales
(ingeniería civil/ambiental) 429
16.3 Máxima transferencia de potencia en un circuito (ingeniería eléctrica) 433
16.4 Diseño de una bicicleta de montaña (ingeniería mecánica/aeronáutica) 436
Problemas 440
EPÍLOGO: PARTE CUATRO 447
PT4.4 Alternativas 447
PT4.5 Referencias adicionales 448
PARTE CINCO
PT5.1 Motivación 451
PT5.2 Antecedentes matemáticos 453
PT5.3 Orientación 462
CAPÍTULO 17
Regresión por mínimos cuadrados 466
17.1 Regresión lineal 466
17.2 Regresión polinomial 482
17.3 Regresión lineal múltiple 486
17.4 Mínimos cuadrados lineales en general 489
17.5 Regresión no lineal 495
Problemas 499
CAPÍTULO 18
Interpolación 503
18.1 Interpolación polinomial de Newton en diferencias divididas 503
18.2 Polinomios de interpolación de Lagrange 516
18.3 Coeficientes de un polinomio de interpolación 520
18.4 Interpolación inversa 521
18.5 Comentarios adicionales 522
18.6 Interpolación mediante trazadores (splines) 525
Problemas 537
CAPÍTULO 19
Aproximación de Fourier 539
19.1 Ajuste de curvas con funciones sinusoidales 540
19.2 Serie de Fourier continua 546
19.3 Dominios de frecuencia y de tiempo 551
AJUSTE
DE CURVAS 451
xii CONTENIDO
19.4 Integral y transformada de Fourier 554
19.5 Transformada discreta de Fourier (TDF) 556
19.6 Transformada rápida de Fourier 558
19.7 El espectro de potencia 565
19.8 Ajuste de curvas con bibliotecas y paquetes de software 566
Problemas 575
CAPÍTULO 20
Estudio de casos: ajuste de curvas 578
20.1 Regresión lineal y modelos de población (ingeniería química/
bioingeniería) 578
20.2 Uso de trazadores para estimar la transferencia de calor
(ingeniería civil/ambiental) 582
20.3 Análisis de Fourier (ingeniería eléctrica) 584
20.4 Análisis de datos experimentales (ingeniería mecánica/aeronáutica) 585
Problemas 587
EPÍLOGO: PARTE CINCO
PT5.4 Alternativas 597
PT5.5 Relaciones y fórmulas importantes 598
PT5.6 Métodos avanzados y referencias adicionales 599
PARTE SEIS
PT6.1 Motivación 603
PT6.2 Antecedentes matemáticos 612
PT6.3 Orientación 615
CAPÍTULO 21
Fórmulas de integración de Newton-Cotes 619
21.1 La regla del trapecio 621
21.2 Reglas de Simpson 631
21.3 Integración con segmentos desiguales 640
21.4 Fórmulas de integración abierta 643
21.5 Integrales múltiples 643
Problemas 645
CAPÍTULO 22
Integración de ecuaciones 648
22.1 Algoritmos de Newton-Cotes para ecuaciones 648
22.2 Integración de Romberg 649
22.3 Cuadratura de Gauss 655
22.4 Integrales impropias 663
Problemas 666
DIFERENCIACIÓN
E INTEGRACIÓN
NUMÉRICAS 603
CONTENIDO xiii
CAPÍTULO 23
Diferenciación numérica 668
23.1 Fórmulas de diferenciación con alta exactitud 668
23.2 Extrapolación de Richardson 672
23.3 Derivadas de datos irregularmente espaciados 673
23.4 Derivadas e integrales para datos con errores 674
23.5 Integración/diferenciación numéricas con bibliotecas y paquetes de software 676
Problemas 679
CAPÍTULO 24
Estudio de casos: integración y diferenciación numéricas 682
24.1 Integración para determinar la cantidad total de calor
(ingeniería química/bioingeniería) 682
24.2 Fuerza efectiva sobre el mástil de un bote de vela de carreras
(ingeniería civil/ambiental) 684
24.3 Raíz media cuadrática de la corriente mediante integración
numérica (ingeniería eléctrica) 687
24.4 Integración numérica para calcular el trabajo
(ingeniería mecánica/aeronáutica) 689
Problemas 693
EPÍLOGO: PARTE SEIS 704
PT6.4 Alternativas 704
PT6.5 Relaciones y fórmulas importantes 705
PT6.6 Métodos avanzados y referencias adicionales 705
PARTE SIETE
PT7.1 Motivación 709
PT7.2 Antecedentes matemáticos 713
PT7.3 Orientación 715
CAPÍTULO 25
Métodos de Runge-Kutta 719
25.1 Método de Euler 720
25.2 Mejoras del método de Euler 732
25.3 Métodos de Runge-Kutta 740
25.4 Sistemas de ecuaciones 751
25.5 Métodos adaptativos de Runge-Kutta 756
Problemas 764
CAPÍTULO 26
Métodos rígidos y de pasos múltiples 767
26.1 Rigidez 767
26.2 Métodos de pasos múltiples 771
Problemas 792
ECUACIONES
DIFERENCIALES
ORDINARIAS 709
xiv CONTENIDO
CAPÍTULO 27
Problemas de valores en la frontera y de valores propios 794
27.1 Métodos generales para problemas de valores en la frontera 795
27.2 Problemas de valores propios 801
27.3 EDO y valores propios con bibliotecas y paquetes de software 814
Problemas 822
CAPÍTULO 28
Estudio de casos: ecuaciones diferenciales ordinarias 825
28.1 Uso de las EDO para analizar la respuesta transitoria de un reactor
(ingeniería química/bioingeniería) 825
28.2 Modelos depredador-presa y caos (ingeniería civil/ambiental) 831
28.3 Simulación de la corriente transitoria en un circuito eléctrico
(ingeniería eléctrica) 837
28.4 El péndulo oscilante (ingeniería mecánica/aeronáutica) 842
Problemas 846
EPÍLOGO: PARTE SIETE 854
PT7.4 Alternativas 854
PT7.5 Relaciones y fórmulas importantes 855
PT7.6 Métodos avanzados y referencias adicionales 855
PARTE OCHO
PT8.1 Motivación 859
PT8.2 Orientación 862
CAPÍTULO 29
Diferencias finitas: ecuaciones elípticas 866
29.1 La ecuación de Laplace 866
29.2 Técnica de solución 868
29.3 Condiciones en la frontera 875
29.4 El método del volumen de control 881
29.5 Software para resolver ecuaciones elípticas 884
Problemas 885
CAPÍTULO 30
Diferencias finitas: ecuaciones parabólicas 887
30.1 La ecuación de conducción de calor 887
30.2 Métodos explícitos 888
30.3 Un método implícito simple 893
30.4 El método de Crank-Nicolson 896
30.5 Ecuaciones parabólicas en dos dimensiones espaciales 899
Problemas 903
ECUACIONES
DIFERENCIALES
PARCIALES 859
CONTENIDO xv
CAPÍTULO 31
Método del elemento finito 905
31.1 El enfoque general 906
31.2 Aplicación del elemento finito en una dimensión 910
31.3 Problemas bidimensionales 919
31.4 Resolución de EDP con bibliotecas y paquetes de software 923
Problemas 930
CAPÍTULO 32
Estudio de casos: ecuaciones diferenciales parciales 933
32.1 Balance de masa unidimensional de un reactor (ingeniería química/
bioingeniería) 933
32.2 Deflexiones de una placa (ingeniería civil/ambiental) 938
32.3 Problemas de campo electrostático bidimensional (ingeniería eléctrica) 940
32.4 Solución por elemento finito de una serie de resortes (ingeniería mecánica/
aeronáutica) 943
Problemas 947
EPÍLOGO: PARTE OCHO 949
PT8.3 Alternativas 949
PT8.4 Relaciones y fórmulas importantes 949
PT8.5 Métodos avanzados y referencias adicionales 950
APÉNDICE A: LA SERIE DE FOURIER 951
APÉNDICE B: EMPECEMOS CON MATLAB 953
BIBLIOGRAFÍA 961
ÍNDICE 965
PREFACIO
Han pasado veinte años desde que se publicó la primera edición de este libro. Durante
ese periodo, nuestro escepticismo acerca de que los métodos numéricos y las computadoras
tendrían un papel prominente en el currículo de la ingeniería —particularmente en sus
etapas tempranas— ha sido rebasado por mucho. Hoy día, muchas universidades ofre-
cen cursos para estudiantes de nuevo ingreso, de segundo año e intermedios, tanto de
introducción a la computación como de métodos numéricos. Además, muchos de nues-
tros colegas integran problemas orientados a la computación con otros cursos en todos
los niveles del currículo. Así, esta nueva edición aún se basa en la premisa fundamental
de que debe darse a los estudiantes de ingeniería una introducción profunda y temprana
a los métodos numéricos. En consecuencia, aunque la nueva edición expande sus alcan-
ces, tratamos de mantener muchas de las características que hicieron accesible la prime-
ra edición tanto para estudiantes principiantes como avanzados. Éstas incluyen las
siguientes:
• Orientado a problemas. Los estudiantes de ingeniería aprenden mejor cuando
están motivados por la solución de problemas, lo cual es especialmente cierto en el
caso de las matemáticas y de la computación. Por tal razón, presentamos los méto-
dos numéricos desde la perspectiva de la solución de problemas.
• Pedagogía orientada al estudiante. Hemos presentado varios detalles para lograr
que el libro sea tan accesible para el estudiante como sea posible. Éstos comprenden
la organización general, el uso de introducciones y epílogos para consolidar los
temas principales, así como un amplio uso de ejemplos desarrollados y estudios de
casos de las áreas principales de la ingeniería. Hemos puesto especial cuidado en
que nuestras explicaciones sean claras y en que tengan una orientación práctica.
• Método de la “caja clara”. Aunque hacemos especial énfasis en la solución de
problemas, creemos que sería autolimitante para el ingeniero abordar los algoritmos
numéricos como una “caja negra”. Por lo tanto, hemos presentado suficiente teoría
para permitir al usuario comprender los conceptos básicos que están detrás de los
métodos. En especial hacemos hincapié en la teoría relacionada con el análisis del
error, las limitaciones de los métodos y las alternativas entre métodos.
• Orientado al uso de computadoras personales. La primera vez que escribimos
este libro había un gran abismo entre el mundo de las grandes computadoras de
antaño y el mundo interactivo de las PC. Hoy, conforme el desarrollo de las compu-
tadoras personales ha aumentado, las diferencias han desaparecido. Es decir, este
libro enfatiza la visualización y los cálculos interactivos, que son el rasgo distintivo
de las computadoras personales.
PREFACIO xvii
• Capacitación al estudiante. Por supuesto que presentamos al estudiante las capa-
cidades para resolver problemas con paquetes como Excel y MATLAB. Sin embar-
go, también se les enseña a los estudiantes cómo desarrollar programas sencillos y
bien estructurados para aumentar sus capacidades básicas en dichos ambientes. Este
conocimiento le permite programar en lenguajes como Fortran 90, C y C++. Creemos
que el avance de la programación en computadora representa el currículum “oculto”
de la ingeniería. Debido a las restricciones, muchos ingenieros no se conforman con
las herramientas limitadas y tienen que escribir sus propios códigos. Actualmente se
utilizan macros o archivos M. Este libro está diseñado para implementar lo anterior.
Además de estos cinco principios, la mejora más significativa en la quinta edición
es una revisión profunda y una expansión de las series de problemas al final de cada
capítulo. La mayor parte de ellos han sido modificados de manera que permitan distin-
tas soluciones numéricas a los de ediciones anteriores. Además, se ha incluido una va-
riedad de problemas nuevos. Al igual que en las ediciones previas, se incluyen problemas
tanto matemáticos como aplicados a todas las ramas de la ingeniería. En todos los casos,
nuestro intento es brindarles a los estudiantes ejercicios que les permitan revisar su
comprensión e ilustrar de qué manera los métodos numéricos pueden ayudarlos para una
mejor resolución de los problemas.
Como siempre, nuestro objetivo principal es proporcionarle al estudiante una intro-
ducción sólida a los métodos numéricos. Consideramos que aquellos que estén motivados
y que puedan disfrutar los métodos numéricos, la computación y las matemáticas, al
final se convertirán en mejores ingenieros. Si nuestro libro fomenta un entusiasmo ge-
nuino por estas materias, entonces consideraremos que nuestro esfuerzo habrá tenido
éxito.
Agradecimientos. Queremos agradecer a nuestros amigos de McGraw-Hill. En particu-
lar a Amanda Green, Suzanne Jeans y Peggy Selle, quienes brindaron una atmósfera
positiva y de apoyo para la creación de esta edición. Como siempre, Beatrice Sussman
realizó un trabajo magistral en la edición y copiado del manuscrito, y Michael Ryder
hizo contribuciones superiores durante la producción del libro. Agradecemos en especial
a los profesores Wally Grant, Olga Pierrakos, Amber Phillips, Justin Griffee y Kevin
Mace (Virginia Tech), y a la profesora Theresa Good (Texas A&M), quien a lo largo de
los años ha aportado problemas para nuestro libro. Al igual que en ediciones anteriores,
David Clough (University of Colorado) y Jerry Stedinger (Cornell University) compar-
tieron con generosidad sus puntos de vista y sugerencias. Otras sugerencias útiles también
provinieron de Bill Philpot (Cornell University), Jim Guilkey (University of Utah),
Dong-Il Seo (Chungnam National University, Corea), y Raymundo Cordero y Karim
Muci (ITESM, México). La edición actual también se benefició de las revisiones y su-
gerencias que hicieron los colegas siguientes:
Ella M. Atkins, University of Maryland
Betty Barr, University of Houston
Florin Bobaru, University of Nebraska-Lincoln
Ken W. Bosworth, Idaho State University
Anthony Cahill, Texas A&M University
Raymond C. Y. Chin, Indiana University-Purdue, Indianapolis
xviii PREFACIO
Jason Clark, University of California, Berkeley
John Collings, University of North Dakota
Ayodeji Demuren, Old Dominion University
Cassiano R. E. de Oliveira, Georgia Institute of Technology
Subhadeep Gan, University of Cincinnati
Aaron S. Goldstein, Virginia Polytechnic Institute and State University
Gregory L. Griffin, Louisiana State University
Walter Haisler, Texas A&M University
Don Hardcastle, Baylor University
Scott L. Hendricks, Virginia Polytechnic Institute and State University
David J. Horntrop, New Jersey Institute of Technology
Tribikram Kundu, University of Arizona
Hysuk Lee, Clemson University
Jichun Li, University of Nevada, Las Vegas
Jeffrey S. Marshall, University of Iowa
George Novacky, University of Pittsburgh
Dmitry Pelinovsky, McMaster University
Siva Parameswaran, Texas Technical University
Greg P. Semeraro, Rochester Institute of Technology
Jerry Sergent, Faifield University
Dipendra K. Sinha, San Francisco State University
Scott A. Socolofsky, Texas A&M University
Robert E. Spall, Utah State University
John C. Strikwerda, University of Wisconsin-Madison
Karsten E. Thompson, Louisiana State University
Kumar Vemaganti, University of Cincinnati
Peter Wolfe, University of Maryland
Yale Yurttas, Texas A&M University
Nader Zamani, University of Windsor
Viktoria Zoltay, Tufts University
Debemos hacer énfasis en que si bien recibimos consejos útiles de las personas
mencionadas, somos responsables de cualesquiera inexactitudes o errores que se encuen-
tren en esta edición. Por favor, haga contacto con Steven Chapra por correo electrónico
en caso de que detecte algún error en esta edición.
Por último, queremos agradecer a nuestras familias, amigos y estudiantes por su
paciencia y apoyo constantes. En particular, a Cynthia Chapra y Claire Canale, quienes
siempre están presentes brindando comprensión, puntos de vista y amor.
STEVEN C. CHAPRA
Medford, Massachusetts
steven.chapra@tufts.edu
RAYMOND P. CANALE
Lake Leelanau, Michigan
PREFACIO xix
Agradecemos en especial la valiosa contribución de los siguientes asesores técnicos
para la presente edición en español:
Abel Valdez Ramírez, ESIQIE, Instituto Politécnico Nacional, Zacatenco
Alejandra González, ITESM, campus Monterrey
Fernando Vera Badillo, Universidad La Salle, campus Ciudad de México
Jaime Salazar Tamez, ITESM, campus Toluca
Jesús Estrada Madueño, Instituto Tecnológico de Culiacán
Jesús Ramón Villarreal Madrid, Instituto Tecnológico de Culiacán
José Juan Suárez López, ESIME, Instituto Politécnico Nacional, Culhuacán
Leonel Magaña Mendoza, Instituto Tecnológico de Morelia
María de los Ángeles Contreras Flores, Universidad Autónoma del Estado de México,
campus Toluca
Mario Medina Valdez, Universidad Autónoma Metropolitana - Iztapalapa
Olga López, ITESM, campus Estado de México
Reynaldo Gómez, Universidad de Guadalajara
xx CONTENIDO
VISITA GUIADA
Para ofrecer un panorama de los métodos numéricos,
hemos organizado el texto en partes, y presentamos
información unificadora a través de elementos de
Motivación, Antecedentes Matemáticos, Orienta-
ción y Epílogo.
Cada capítulo contiene problemas de tarea
nuevos y revisados. El ochenta por ciento de
los problemas son nuevos o se han modifi-
cado. El texto incluye problemas de desafío
de todas las disciplinas de la ingeniería.
Hay secciones del texto, así como problemas de
tarea, dedicadas a implantar métodos numéricos
con el software de Microsoft Excel y con el de The
MathWorks, Inc. MATLAB.
xx
PT3.1
Motivación
PT3.2
Antecedentes
matemáticos PT3.3
Orientación
9.1
Sistemas
pequeños
9.2
Eliminación de
Gauss simple
PARTE 3
Ecuaciones
algebraicas
lineales
PT3.6
Métodos
avanzados
EPÍLOGO
CAPÍTULO 9
Eliminación
de Gauss
PT3.5
Fórmulas
importantes
PT3.4
Alternativas
12.4
Ingeniería
mecánica
12.3
Ingeniería
eléctrica
12.2
Ingeniería
civil 12.1
Ingeniería
química 11.3
Bibliotecas
y paquetes
11.2
Gauss-Seidel
11.1
Matrices
especiales
CAPÍTULO 10
Descomposición
LU e inversión
de matrices
CAPÍTULO 11
Matrices
especiales
y el método de
Gauss-Seidel
CAPÍTULO 12
Estudio de
casos
10.3
Análisis del error
y condición
del sistema
10.2
La matriz
inversa
10.1
Descomposición
LU
9.7
Gauss-Jordan
9.6
Sistemas
no lineales
9.5
Sistemas
complejos
9.4
Soluciones
9.3
Dificultades
PROBLEMAS 339
Ingeniería Química/Bioingeniería
12.1 Lleve a cabo el mismo cálculo que en la sección 12.1, pero
cambie c01 a 40 y c03 a 10. También cambie los flujos siguientes:
Q01 = 6, Q12 = 4, Q24 = 2 y Q44 = 12.
12.2 Si la entrada al reactor 3 de la sección 12.1, disminuye 25
por ciento, utilice la matriz inversa para calcular el cambio por-
centual en la concentración de los reactores 1 y 4.
12.3 Debido a que el sistema que se muestra en la figura 12.3
está en estado estacionario (estable), ¿qué se puede afirmar
respecto de los cuatro flujos: Q01, Q03, Q44 y Q55?
12.4 Vuelva a calcular las concentraciones para los cinco reac-
tores que se muestran en la figura 12.3, si los flujos cambian
como sigue:
Q01 = 5 Q31 = 3 Q25 = 2 Q23 = 2
Q15 = 4 Q55 = 3 Q54 = 3 Q34 = 7
Q12 = 4 Q03 = 8 Q24 = 0 Q44 = 10
12.5 Resuelva el mismo sistema que se especifica en el proble-
ma 12.4, pero haga Q12 = Q54 = 0 y Q15 = Q34 = 3. Suponga que
las entradas (Q01, Q03) y las salidas (Q44, Q55) son las mismas.
Use la conservación del flujo para volver a calcular los valores
de los demás flujos.
12.6 En la figura P12.6 se muestran tres reactores conectados
por tubos. Como se indica, la tasa de transferencia de produc-
tos químicos a través de cada tubo es igual a la tasa de flujo (Q,
en unidades de metros cúbicos por segundo) multiplicada por la
concentración del reactor desde el que se origina el flujo (c, en
unidades de miligramos por metro cúbico). Si el sistema se
PROBLEMAS
12.7 Con el empleo del mismo enfoque que en la sección 12.1,
determine la concentración de cloruro en cada uno de los Gran-
des Lagos con el uso de la información que se muestra en la fi-
gura P12.7.
12.8 La parte baja del río Colorado consiste en una serie de
cuatro almacenamientos como se ilustra en la figura P12.8.
Puede escribirse los balances de masa para cada uno de ellos, lo
que da por resultado el conjunto siguiente de ecuaciones alge-
braicas lineales simultáneas:
13 42 0 0 0
13 422 12 252 0 0
0 12 252 12 377 0
0 0 12
.
. .
. .
−
−
− .
. .
377 11 797
1
2
3
4
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
c
c
c
c ⎭
⎭
⎪
⎪
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
750 5
300
102
30
.
donde el vector del lado derecho consiste en las cargas de cloru-
ro hacia cada uno de los cuatro lagos y c1, c2, c3 y c4 = las con-
centraciones de cloruro resultantes en los lagos Powell, Mead,
Mohave y Havasu, respectivamente.
a) Use la matriz inversa para resolver cuáles son las concen-
traciones en cada uno de los cuatro lagos.
b) ¿En cuánto debe reducirse la carga del lago Powell para que
la concentración de cloruro en el lago Havasu sea de 75?
c) Con el uso de la norma columna-suma, calcule el número de
condición y diga cuántos dígitos sospechosos se generarían
al resolver este sistema.
Se debe observar que Solver puede fallar. Su éxito depende de 1. la condición del
sistema de ecuaciones y/o 2. la calidad de los valores iniciales. El resultado satisfactorio
del ejemplo anterior no está garantizado. A pesar de esto, se puede encontrar a Solver
bastante útil para hacer de él una buena opción en la obtención rápida de raíces para un
amplio rango de aplicaciones a la ingeniería.
7.7.2 MATLAB
MATLAB es capaz de localizar raíces en ecuaciones algebraicas y trascendentes, como
se muestra en la tabla 7.1. Siendo excelente para la manipulación y localización de raíces
en los polinomios.
La función fzero está diseñada para localizar la raíz de una función. Una represen-
tación simplificada de su sintaxis es
fzero(f,X0,opciones)
donde f es la tensión que se va a analizar, x0 es el valor inicial y opciones son los pará-
metros de optimización (éstos pueden cambiarse al usar la función optimset). Si no se
anotan las opciones se emplean los valores por omisión. Observe que se pueden emplear
uno o dos valores iniciales, asumiendo que la raíz está dentro del intervalo. El siguiente
ejemplo ilustra cómo se usa la función fzero.
EJEMPLO 7.6 Uso de MATLAB para localizar raíces
Planteamiento del problema. Utilice la función fzero de MATLAB para encontrar
las raíces de
f (x) = x10
– 1
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 191
xxi
El texto presenta numerosos ejemplos resueltos
que dan a los estudiantes ilustraciones paso a paso
acerca de cómo implantar los métodos numéricos.
Existen 28 estudios de caso de la ingeniería
para ayudar a los estudiantes a relacionar los
métodos numéricos con los campos principa-
les de la ingeniería.
MATERIALES DE APOYO
Esta obra cuenta con interesantes complementos que
fortalecen los procesos de enseñanza-aprendizaje, así
como la evaluación de los mismos, los cuales se otor-
gan a profesores que adoptan este texto para sus cursos.
Para obtener más información y conocer la política de
entrega de estos materiales, contacte a su representante
McGraw-Hill.
EJEMPLO 11.1 Solución tridiagonal con el algoritmo de Thomas
Planteamiento del problema. Resuelva el siguiente sistema tridiagonal con el algo-
ritmo de Thomas.
2 04
1
1
2 04
1
1
2 04
1
1
2 04
40 8
0 8
0 8
200 8
1
2
3
4
.
.
.
.
.
.
.
.
−
−
−
−
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
T
T
T
T
Solución. Primero, la descomposición se realiza así:
e2 = –1/2.04 = –0.49
f2 = 2.04 – (–0.49)(–1) = 1.550
e3 = –1/1.550 = –0.645
f3 = 2.04 – (–0.645)(–1) = 1.395
e4 = –1/1.395 = –0.717
f4 = 2.04 – (–0.717)(–1) = 1.323
Así, la matriz se transforma en
2 04
0 49
1
1 550
0 645
1
1 395
0717
1
1 323
.
.
–
.
. .
.
−
−
−
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11.1 MATRICES ESPECIALES 307
CAPÍTULO 32
Estudio de casos: ecuaciones
diferenciales parciales
El propósito de este capítulo es aplicar los métodos de la parte ocho a problemas prácticos
de ingeniería. En la sección 32.1 se utiliza una EDP parabólica para calcular la distribu-
ción de una sustancia química, dependiente del tiempo a lo largo del eje longitudinal de
un reactor rectangular. Este ejemplo ilustra cómo la inestabilidad de una solución puede
deberse a la naturaleza de la EDP, más que a las propiedades del método numérico.
Las secciones 32.2 y 32.3 presentan aplicaciones de las ecuaciones de Poisson y
Laplace a problemas de ingeniería civil y eléctrica. Entre otras cuestiones, esto le per-
mitirá distinguir tanto las similitudes como las diferencias entre los problemas en esas
áreas de la ingeniería. Además, se pueden comparar con el problema de la placa calen-
tada que ha servido como sistema prototipo en esta parte del libro. La sección 32.2
trata de la deflexión de una placa cuadrada; mientras que la sección 32.3 se dedica al
cálculo de la distribución del voltaje y el flujo de carga en una superficie bidimensio-
nal con un extremo curvado.
La sección 32.4 presenta un análisis del elemento finito aplicado a una serie de resor-
tes. Este problema de mecánica y estructuras ilustra mejor las aplicaciones del elemento
finito, que al problema de temperatura usado para analizar el método en el capítulo 31.
32.1 BALANCE DE MASA UNIDIMENSIONAL DE UN REACTOR
(INGENIERÍA QUÍMICA/BIOINGENIERÍA)
Antecedentes. Los ingenieros químicos utilizan mucho los reactores idealizados en
su trabajo de diseño. En las secciones 12.1 y 28.1 nos concentramos en reactores simples
o acoplados bien mezclados, los cuales constituyen ejemplos de sistemas de parámetros
localizados (recuerde la sección PT3.1.2).
FIGURA 32.1
Reactor alargado con un
solo punto de entrada
y salida Un balance
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
ACERCA DE LOS AUTORES
Steve Chapra es profesor en el Departamento de Ingeniería Civil y Ambiental de la
Universidad de Tufts. Entre sus obras publicadas se encuentran Surface Water-Quality
Modeling e Introduction to Computing for Engineers.
El Dr. Chapra obtuvo el grado de Ingeniero por las universidades de Manhattan y
de Michigan. Antes de incorporarse a la facultad de Tufts trabajó para la Agencia de
Protección Ambiental y la Administración Nacional del Océano y la Atmósfera, fue
profesor asociado en las universidades de Texas A&M y de Colorado. En general, sus
investigaciones están relacionadas con la modelación de la calidad del agua superficial
y la aplicación de computación avanzada en la ingeniería ambiental.
También ha recibido gran cantidad de reconocimientos por sus destacadas contri-
buciones académicas, incluyendo la medalla Rudolph Hering (ASCE en 1993) y el
premio al autor distinguido Meriam-Wiley (1987), por parte de la Sociedad Americana
para la Educación en Ingeniería. Se ha reconocido como profesor emérito en las facul-
tades de ingeniería de las universidades de Texas A&M (premio Tenneco, 1986) y de
Colorado (premio Hitchinson, 1992).
Raymond P. Canale es profesor emérito de la Universidad de Michigan. En sus más
de 20 años de carrera en la universidad ha impartido numerosos cursos en la áreas de
computación, métodos numéricos e ingeniería ambiental. También ha dirigido extensos
programas de investigación en el área de modelación matemática y por computadora de
ecosistemas acuáticos. Es autor y coautor de varios libros, ha publicado más de 100
artículos e informes científicos. También ha diseñado y desarrollado software para
computadoras personales, con la finalidad de facilitar la educación en ingeniería y la
solución de problemas en ingeniería. Ha recibido el premio al autor distinguido Meriam-
Wiley de la Sociedad Americana para la Educación en Ingeniería por sus libros y el
software desarrollado, así como otros reconocimientos por sus publicaciones técnicas.
Actualmente, el profesor Canale se dedica a resolver problemas de aplicación, tra-
bajando como consultor y perito en empresas de ingeniería, en la industria e institucio-
nes gubernamentales.
Métodos numéricos
para ingenieros
PARTE UNO
PARTE UNO
MODELOS, COMPUTADORAS
Y ANÁLISIS DEL ERROR
PT1.1 MOTIVACIÓN
Los métodos numéricos constituyen técnicas mediante las cuales es posible formular
problemas matemáticos, de tal forma que puedan resolverse utilizando operaciones
aritméticas. Aunque existen muchos tipos de métodos numéricos, éstos comparten una
característica común: invariablemente requieren de un buen número de tediosos cálculos
aritméticos. No es raro que con el desarrollo de computadoras digitales eficientes y rápi-
das, el papel de los métodos numéricos en la solución de problemas en ingeniería haya
aumentado de forma considerable en los últimos años.
PT1.1.1 Métodos sin computadora
Además de proporcionar un aumento en la potencia de cálculo, la disponibilidad cre-
ciente de las computadoras (en especial de las personales) y su asociación con los mé-
todos numéricos han influido de manera muy significativa en el proceso de la solución
actual de los problemas en ingeniería. Antes de la era de la computadora los ingenieros
sólo contaban con tres métodos para la solución de problemas:
1. Se encontraban las soluciones de algunos problemas usando métodos exactos o
analíticos. Dichas soluciones resultaban útiles y proporcionaban una comprensión
excelente del comportamiento de algunos sistemas. No obstante, las soluciones
analíticas sólo pueden encontrarse para una clase limitada de problemas. Éstos in-
cluyen aquellos que pueden aproximarse mediante modelos lineales y también
aquellos que tienen una geometría simple y de baja dimensión. En consecuencia, las
soluciones analíticas tienen un valor práctico limitado porque la mayoría de los
problemas reales son no lineales, e implican formas y procesos complejos.
2. Para analizar el comportamiento de los sistemas se usaban soluciones gráficas, las
cuales tomaban la forma de gráficas o nomogramas; aunque las técnicas gráficas se
utilizan a menudo para resolver problemas complejos, los resultados no son muy
precisos. Además, las soluciones gráficas (sin la ayuda de una computadora) son en
extremo tediosas y difíciles de implementar. Finalmente, las técnicas gráficas están
limitadas a los problemas que puedan describirse usando tres dimensiones o menos.
3. Para implementar los métodos numéricos se utilizaban calculadoras y reglas de
cálculo. Aunque en teoría dichas aproximaciones deberían ser perfectamente ade-
cuadas para resolver problemas complicados, en la práctica se presentan varias di-
ficultades debido a que los cálculos manuales son lentos y tediosos. Además, los
resultados no son consistentes, ya que surgen equivocaciones cuando se efectúan
los numerosos cálculos de esta manera.
Antes del uso de la computadora se gastaba bastante energía en la técnica misma
de solución, en lugar de usarla en la definición del problema y su interpretación (figu-
ra PT1.1a). Esta situación desafortunada se debía al tiempo y trabajo monótono que
se requería para obtener resultados numéricos con técnicas que no utilizaban la compu-
tadora.
En la actualidad, las computadoras y los métodos numéricos ofrecen una alternati-
va para los cálculos complicados. Al usar la potencia de la computadora se obtienen
soluciones directamente, de esta manera se pueden aproximar los cálculos sin tener que
recurrir a consideraciones de simplificación o a técnicas muy lentas. Aunque las solu-
ciones analíticas aún son muy valiosas, tanto para resolver problemas como para brindar
una mayor comprensión, los métodos numéricos representan opciones que aumentan, en
forma considerable, la capacidad para enfrentar y resolver los problemas; como resulta-
do, se dispone de más tiempo para aprovechar las habilidades creativas personales. En
consecuencia, es posible dar más importancia a la formulación de un problema y a la
interpretación de la solución, así como a su incorporación al sistema total, o conciencia
“holística” (figura PT1.1b).
PT1.1.2 Los métodos numéricos y la práctica en ingeniería
Desde finales de la década de los cuarenta, la amplia disponibilidad de las computado-
ras digitales han llevado a una verdadera explosión en el uso y desarrollo de los métodos
numéricos. Al principio, este crecimiento estaba limitado por el costo de procesamien-
to de las grandes computadoras (mainframes), por lo que muchos ingenieros seguían
usando simples procedimientos analíticos en una buena parte de su trabajo. Vale la pena
INTERPRETACIÓN
La facilidad de calcular
permite pensar holísticamente y
desarrollar la intuición; es factible
estudiar la sensibilidad y el
comportamiento del sistema
FORMULACIÓN
Exposición profunda
de la relación del
problema con las leyes
fundamentales
SOLUCIÓN
Método de la
computadora fácil
de usar
b)
INTERPRETACIÓN
Análisis profundo
limitado por una
solución que
consume tiempo
FORMULACIÓN
Leyes fundamentales
explicadas
brevemente
SOLUCIÓN
Métodos muy elaborados
y con frecuencia complicados
para hacer manejable
el problema
a)
FIGURA PT1.1
Las tres fases en la solución
deproblemas en ingeniería
en a) la era anterior a
las computadoras y b) la
era de las computadoras.
Los tamaños de los
recuadros indican el nivel
de importancia que se
presenta en cada fase. Las
computadoras facilitan la
implementación de técnicas
de solución y, así, permiten
un mayor interés sobre los
aspectos creativos en la
formulación de problemas
y la interpretación de los
resultados.
4 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
mencionar que la reciente evolución de computadoras personales de bajo costo ha per-
mitido el acceso, de mucha gente, a las poderosas capacidades de cómputo. Además,
existen diversas razones por las cuales se deben estudiar los métodos numéricos:
1. Los métodos numéricos son herramientas muy poderosas para la solución de pro-
blemas. Son capaces de manipular sistemas de ecuaciones grandes, manejar no li-
nealidades y resolver geometrías complicadas, comunes en la práctica de la
ingeniería y, a menudo, imposibles de resolver en forma analítica. Por lo tanto,
aumentan la habilidad de quien los estudia para resolver problemas.
2. En el transcurso de su carrera, es posible que el lector tenga la oportunidad de uti-
lizar paquetes disponibles comercialmente, o programas “enlatados” que contengan
métodos numéricos. El uso eficiente de estos programas depende del buen entendi-
miento de la teoría básica en que se basan tales métodos.
3. Hay muchos problemas que no pueden resolverse con programas “enlatados”. Si
usted es conocedor de los métodos numéricos y es hábil en la programación de
computadoras, entonces tiene la capacidad de diseñar sus propios programas para
resolver los problemas, sin tener que comprar un software costoso.
4. Los métodos numéricos son un vehículo eficiente para aprender a servirse de las
computadoras. Es bien sabido que una forma efectiva de aprender programación
consiste en escribir programas para computadora. Debido a que la mayoría de los
métodos numéricos están diseñados para usarlos en las computadoras, son ideales
para tal propósito.Además, son especialmente adecuados para ilustrar el poder y las
limitaciones de las computadoras. Cuando usted desarrolle en forma satisfactoria
los métodos numéricos en computadora y los aplique para resolver los problemas
que de otra manera resultarían inaccesibles, usted dispondrá de una excelente de-
mostración de cómo las computadoras sirven para su desarrollo profesional. Al
mismo tiempo, aprenderá a reconocer y controlar los errores de aproximación que
son inseparables de los cálculos numéricos a gran escala.
5. Los métodos numéricos son un medio para reforzar su comprensión de las matemá-
ticas, ya que una de sus funciones es convertir las matemáticas superiores en ope-
raciones aritméticas básicas, de esta manera se puede profundizar en los temas que
de otro modo resultarían oscuros. Esta perspectiva dará como resultado un aumento de
su capacidad de comprensión y entendimiento en la materia.
PT1.2 ANTECEDENTES MATEMÁTICOS
Cada parte de este libro requiere de algunos conocimientos matemáticos, por lo que el
material introductorio de cada parte comprende una sección que incluye los fundamen-
tos matemáticos. Como la parte uno, que está dedicada a aspectos básicos sobre las
matemáticas y la computación, en esta sección no se revisará ningún tema matemático
específico. En vez de ello se presentan los temas del contenido matemático que se cubren
en este libro. Éstos se resumen en la figura PT1.2 y son:
1. Raíces de ecuaciones (figura PT1.2a). Estos problemas se relacionan con el valor
de una variable o de un parámetro que satisface una ecuación no lineal. Son espe-
cialmente valiosos en proyectos de ingeniería, donde con frecuencia resulta impo-
sible despejar de manera analítica los parámetros de las ecuaciones de diseño.
PT1.2 ANTECEDENTES MATEMÁTICOS 5
2. Sistemas de ecuaciones algebraicas lineales (figura PT1.2b). En esencia, se trata de
problemas similares a los de raíces de ecuaciones, en el sentido de que están rela-
cionados con valores que satisfacen ecuaciones. Sin embargo, en lugar de satisfacer
una sola ecuación, se busca un conjunto de valores que satisfaga simultáneamente
un conjunto de ecuaciones algebraicas lineales, las cuales surgen en el contexto de
f(x)
x
Raíz
x2
x1
Solución
Mínimo
f(x)
x
Interpolación
f(x)
x
f(x)
x
Regresión
f(x)
I
a) Parte 2: Raíces de ecuaciones
Resuelva f(x) = 0 para x.
c) Parte 4: Optimización
b) Parte 3: Sistema de ecuaciones
algebraicas lineales
Dadas las a’s y las c’s, resolver
a11x1 + a12x2 = c1
a21x1 + a22x2 = c2
para las x’s.
Determine la x que da el óptimo de f(x).
e) Parte 6: Integración
I = 兰a
b
f(x) dx
Encuentre el área bajo la curva.
d) Parte 5: Ajuste de curvas
x
FIGURA PT1.2
Resumen de los métodos
numéricos que se consideran
en este libro.
6 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
una gran variedad de problemas y en todas las disciplinas de la ingeniería. En par-
ticular, se originan a partir de modelos matemáticos de grandes sistemas de elemen-
tos interrelacionados, tal como estructuras, circuitos eléctricos y redes de flujo;
aunque también se llegan a encontrar en otras áreas de los métodos numéricos como
el ajuste de curvas y las ecuaciones diferenciales.
3. Optimización (figura PT1.2c). En estos problemas se trata de determinar el valor o
los valores de una variable independiente que corresponden al “mejor” o al valor
óptimo de una función. De manera que, como se observa en la figura PT1.2c, la
optimización considera la identificación de máximos y mínimos. Tales problemas
se presentan comúnmente en el contexto del diseño en ingeniería. También surgen
en otros métodos numéricos. Nosotros nos ocuparemos de la optimización tanto para
una sola variable sin restricciones como para varias variables sin restricciones.
También describiremos la optimización restringida dando especial énfasis a la pro-
gramación lineal.
4. Ajuste de curvas (figura PT1.2d). A menudo se tendrá que ajustar curvas a un con-
junto de datos representados por puntos. Las técnicas desarrolladas para tal propó-
sito se dividen en dos categorías generales: regresión e interpolación. La primera se
emplea cuando hay un significativo grado de error asociado con los datos; con fre-
cuencia los datos experimentales son de este tipo. Para estas situaciones, la estrate-
gia es encontrar una curva que represente la tendencia general de los datos, sin
necesidad de tocar los puntos individuales. En contraste, la interpolación se utiliza
cuando el objetivo es determinar valores intermedios entre datos que estén, relati-
vamente, libres de error. Tal es el caso de la información tabulada. En dichas situa-
ciones, la estrategia consiste en ajustar una curva directamente mediante los puntos
obtenidos como datos y usar la curva para predecir valores intermedios.
5. Integración (figura PT1.2e). Como hemos representado gráficamente, la interpreta-
ción de la integración numérica es la determinación del área bajo la curva. La inte-
y
x
g) Parte 8: Ecuaciones diferenciales parciales
Dada
determine u como función de
x y y
= f(x, y)
2
u
x2
2
u
y2
+
t
Pendiente =
f(ti, yi)
y
t
ti ti + 1
f ) Parte 7: Ecuaciones diferenciales ordinarias
Dada
resolver para y como función de t.
yi + 1 = yi + f(ti , yi ) t
⯝ = f(t, y)
dy
dt
y
t
FIGURA PT1.2
(Conclusión)
PT1.2 ANTECEDENTES MATEMÁTICOS 7
gración tiene diversas aplicaciones en la práctica de la ingeniería, que van desde la
determinación de los centroides de objetos con formas extrañas, hasta el cálculo de
cantidades totales basadas en conjuntos de medidas discretas. Además, las fórmulas
de integración numérica desempeñan un papel importante en la solución de ecua-
ciones diferenciales.
6. Ecuaciones diferenciales ordinarias (figura PT1.2f). Éstas tienen una enorme im-
portancia en la práctica de la ingeniería, lo cual se debe a que muchas leyes físicas
están expresadas en términos de la razón de cambio de una cantidad, más que en
términos de la cantidad misma. Entre los ejemplos tenemos desde los modelos de
predicción demográfica (razón de cambio de la población), hasta la aceleración
de un cuerpo que cae (razón de cambio de la velocidad). Se tratan dos tipos de pro-
blemas: problemas con valor inicial y problemas con valores en la frontera.Además
veremos el cálculo de valores propios.
7. Ecuaciones diferenciales parciales (figura PT1.2g). Las ecuaciones diferenciales
parciales sirven para caracterizar sistemas de ingeniería, en los que el comporta-
miento de una cantidad física se expresa en términos de su razón de cambio con
respecto a dos o más variables independientes. Entre los ejemplos tenemos la dis-
tribución de temperatura en estado estacionario sobre una placa caliente (espacio
bidimensional) o la temperatura variable con el tiempo de una barra caliente (tiem-
po y una dimensión espacial). Para resolver numéricamente las ecuaciones diferen-
ciales parciales se emplean dos métodos bastante diferentes. En el presente texto
haremos énfasis en los métodos de las diferencias finitas que aproximan la solución
usando puntos discretos (figura PT1.2g). No obstante, también presentaremos una
introducción a los métodos de elementos finitos, los cuales usan una aproximación
con piezas discretas.
PT1.3 ORIENTACIÓN
Resulta útil esta orientación antes de proceder a la introducción de los métodos numé-
ricos. Lo que sigue está pensado como una vista general del material contenido en la
parte uno. Se incluyen, además, algunos objetivos como ayuda para concentrar el esfuer-
zo del lector en el estudio de los temas.
PT1.3.1 Alcance y presentación preliminar
La figura PT1.3 es una representación esquemática del material contenido en la parte
uno. Este diagrama se elaboró para ofrecer un panorama global de esta parte del libro.
Se considera que un sentido de “imagen global” resulta importante para desarrollar una
verdadera comprensión de los métodos numéricos. Al leer un texto es posible que se
pierda uno en los detalles técnicos. Siempre que el lector perciba que está perdiendo la
“imagen global” vuelva a la figura PT1.3 para orientarse nuevamente. Cada parte de este
libro contiene una figura similar.
La figura PT1.3 también sirve como una breve revisión inicial del material que se
cubre en la parte uno. El capítulo 1 está diseñado para orientarle en los métodos numé-
ricos y para motivarlo mostrándole cómo se utilizan dichas técnicas, en el proceso de
elaborar modelos matemáticos aplicados a la ingeniería. El capítulo 2 es una introducción
8 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
y un repaso de los aspectos de computación que están relacionados con los métodos
numéricos y presenta las habilidades de programación que se deben adquirir para ex-
plotar de manera eficiente la siguiente información. Los capítulos 3 y 4 se ocupan del
importante tema del análisis del error, que debe entenderse bien para el uso efectivo
de los métodos numéricos. Además, se incluye un epílogo que presenta los elementos de
juicio que tienen una gran importancia para el uso efectivo de los métodos numéricos.
CAPÍTULO 1
Modelos
matemáticos
y solución de
problemas en
ingeniería
PARTE 1
Modelos,
computadoras
y análisis
del error
CAPÍTULO 2
Programación
y software
CAPÍTULO 3
Aproximaciones
y errores
de redondeo
CAPÍTULO 4
Errores de
truncamiento
y la serie de Taylor
EPÍLOGO
2.6
Otros lenguajes
y bibliotecas
2.5
MATLAB
2.4
Excel
2.3
Programación
modular
2.2
Programación
estructurada
2.1
Paquetes y
programación
PT1.2
Antecedentes
matemáticos
PT1.6
Métodos
avanzados
PT1.5
Fórmulas
importantes
4.4
Varios tipos
de error
4.3
Error numérico
total
4.2
Propagación
del error
4.1
La serie
de Taylor
3.4
Errores de
redondeo
3.1
Cifras
significativas
3.3
Definiciones
de error
3.2
Exactitud
y precisión
PT1.4
Alternativas
PT1.3
Orientación
PT1.1
Motivación
1.2
Leyes de
conservación
1.1
Un modelo
simple
FIGURA PT1.3
Esquema de la organización del material en la parte uno: Modelos, computadoras y análisis del error.
PT1.3 ORIENTACIÓN 9
PT1.3.2 Metas y objetivos
Objetivos de estudio. Al terminar la parte uno el lector deberá estar preparado para
aventurarse en los métodos numéricos. En general, habrá adquirido una comprensión
fundamental de la importancia de las computadoras y del papel que desempeñan las
aproximaciones y los errores en el uso y desarrollo de los métodos numéricos. Además
de estas metas generales, deberá dominar cada uno de los objetivos de estudio específicos
que se muestran en la tabla PT1.1.
Objetivos de cómputo. Al terminar de estudiar la parte uno, usted deberá tener su-
ficientes habilidades en computación para desarrollar su propio software para los méto-
dos numéricos de este texto. También será capaz de desarrollar programas de
computadora bien estructurados y confiables basándose en seudocódigos, diagramas
de flujo u otras formas de algoritmo. Usted deberá desarrollar la capacidad de documen-
tar sus programas de manera que sean utilizados en forma eficiente por otros usuarios.
Por último, además de sus propios programas, usted deberá usar paquetes de software
junto con este libro. Paquetes como MATLAB y Excel son los ejemplos de dicho soft-
ware. Usted deberá estar familiarizado con ellos, ya que será más cómodo utilizarlos
para resolver después los problemas numéricos de este texto.
TABLA PT1.1 Objetivos específicos de estudio de la parte uno.
1. Reconocer la diferencia entre soluciones analíticas y numéricas.
2. Entender cómo las leyes de la conservación se emplean para desarrollar modelos matemáticos de
sistemas físicos.
3. Definir diseño modular y top-down.
4. Definir las reglas para la programación estructurada.
5. Ser capaz de elaborar programas estructurados y modulares en un lenguaje de alto nivel.
6. Saber cómo se traducen los diagramas de flujo estructurado y el seudocódigo al código en un
lenguaje de alto nivel.
7. Empezar a familiarizarse con cualquier software que usará junto con este texto.
8. Reconocer la diferencia entre error de truncamiento y error de redondeo.
9. Comprender los conceptos de cifras significativas, exactitud y precisión.
10. Conocer la diferencia entre error relativo verdadero ev, error relativo aproximado ea y error
aceptable es y entender cómo ea y es sirven para terminar un cálculo iterativo.
11. Entender cómo se representan los números en las computadoras y cómo tal representación induce
errores de redondeo. En particular, conocer la diferencia entre precisión simple y extendida.
12. Reconocer cómo la aritmética de la computadora llega a presentar y amplificar el error de
redondeo en los cálculos. En particular, apreciar el problema de la cancelación por sustracción.
13. Saber cómo la serie de Taylor y su residuo se emplean para representar funciones continuas.
14. Conocer la relación entre diferencias finitas divididas y derivadas.
15. Ser capaz de analizar cómo los errores se propagan a través de las relaciones funcionales.
16. Estar familiarizado con los conceptos de estabilidad y condición.
17. Familiarizarse con las consideraciones que se describen en el epílogo de la parte uno.
10 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
CAPÍTULO 1
Modelos matemáticos y solución
de problemas en ingeniería
El conocimiento y la comprensión son prerrequisitos para la aplicación eficaz de cualquier
herramienta. Si no sabemos cómo funcionan las herramientas, por ejemplo, tendremos
serios problemas para reparar un automóvil, aunque la caja de herramientas sea de lo
más completa.
Ésta es una realidad, particularmente cuando se utilizan computadoras para resolver
problemas de ingeniería. Aunque las computadoras tienen una gran utilidad, son prác-
ticamente inútiles si no se comprende el funcionamiento de los sistemas de ingeniería.
Esta comprensión inicialmente es empírica —es decir, se adquiere por observación
y experimentación—. Sin embargo, aunque esta información obtenida de manera empí-
rica resulta esencial, sólo estamos a la mitad del camino. Durante muchos años de ob-
servación y experimentación, los ingenieros y los científicos han advertido que ciertos
aspectos de sus estudios empíricos ocurren una y otra vez. Este comportamiento general
puede expresarse como las leyes fundamentales que engloba, en esencia, el conocimien-
to acumulado de la experiencia pasada. Así, muchos problemas de ingeniería se resuel-
ven con el empleo de un doble enfoque: el empirismo y el análisis teórico (figura 1.1).
Debe destacarse que ambos están estrechamente relacionados. Conforme se obtie-
nen nuevas mediciones, las generalizaciones llegan a modificarse o aun a descubrirse
otras nuevas. De igual manera, las generalizaciones tienen una gran influencia en la
experimentación y en las observaciones. En lo particular, las generalizaciones sirven
para organizar principios que se utilizan para sintetizar los resultados de observaciones
y experimentos en un sistema coherente y comprensible, del que se pueden obtener
conclusiones. Desde la perspectiva de la solución de un problema de ingeniería, el sis-
tema es aún más útil cuando el problema se expresa por medio de un modelo matemá-
tico.
El primer objetivo de este capítulo consiste en introducir al lector a la modelación
matemática y su papel en la solución de problemas en ingeniería. Se mostrará también
la forma en que los métodos numéricos figuran en el proceso.
1.1 UN MODELO MATEMÁTICO SIMPLE
Un modelo matemático se define, de manera general, como una formulación o una
ecuación que expresa las características esenciales de un sistema físico o de un proceso
en términos matemáticos. En general, el modelo se representa mediante una relación
funcional de la forma:
Variable variables funciones
dependiente
= f
冢independientes
, parámetros,
de fuerza冣 (1.1)
12 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
donde la variable dependiente es una característica que generalmente refleja el com-
portamiento o estado de un sistema; las variables independientes son, por lo común,
dimensiones tales como tiempo y espacio, a través de las cuales se determina el com-
portamiento del sistema; los parámetros son el reflejo de las propiedades o la composi-
ción del sistema; y las funciones de fuerza son influencias externas que actúan sobre el
sistema.
La expresión matemática de la ecuación (1.1) va desde una simple relación algebrai-
ca hasta un enorme y complicado grupo de ecuaciones diferenciales. Por ejemplo, a
través de sus observaciones, Newton formuló su segunda ley del movimiento, la cual
establece que la razón de cambio del momentum con respecto al tiempo de un cuerpo,
es igual a la fuerza resultante que actúa sobre él. La expresión matemática, o el modelo,
de la segunda ley es la ya conocida ecuación
F = ma (1.2)
donde F es la fuerza neta que actúa sobre el objeto (N, o kg m/s2
), m es la masa del
objeto (kg) y a es su aceleración (m/s2
).
Instauración
Resultados
numéricos
o gráficos
Modelo
matemático
Definición
del problema
TEORÍA DATOS
Herramientas para resolver
problemas: computadoras,
estadística, métodos numéricos,
gráficas, etcétera.
Relaciones grupales:
programación, optimización,
comunicación, interacción
pública, etcétera.
FIGURA 1.1
Proceso de solución de
problemas en ingeniería.
La segunda ley puede escribirse en el formato de la ecuación (1.1), dividiendo,
simplemente, ambos lados entre m para obtener
a
F
m
=
(1.3)
donde a es la variable dependiente que refleja el comportamiento del sistema, F es la
función de fuerza y m es un parámetro que representa una propiedad del sistema. Ob-
serve que en este caso específico no existe variable independiente porque aún no se
predice cómo varía la aceleración con respecto al tiempo o al espacio.
La ecuación (1.3) posee varias de las características típicas de los modelos matemá-
ticos del mundo físico:
1. Describe un proceso o sistema natural en términos matemáticos.
2. Representa una idealización y una simplificación de la realidad. Es decir, ignora los
detalles insignificantes del proceso natural y se concentra en sus manifestaciones
esenciales. Por ende, la segunda ley de Newton no incluye los efectos de la relati-
vidad, que tienen una importancia mínima cuando se aplican a objetos y fuerzas que
interactúan sobre o alrededor de la superficie de la Tierra, a velocidades y en escalas
visibles a los seres humanos.
3. Finalmente, conduce a resultados reproducibles y, en consecuencia, llega a emplear-
se con la finalidad de predecir. Por ejemplo, dada la fuerza aplicada sobre un objeto
de masa conocida, la ecuación (1.3) se emplea para calcular la aceleración.
Debido a su forma algebraica sencilla, la solución de la ecuación (1.2) se obtiene
con facilidad. Sin embargo, es posible que otros modelos matemáticos de fenómenos
físicos sean mucho más complejos y no se resuelvan con exactitud, o que requieran para
su solución de técnicas matemáticas más sofisticadas que la simple álgebra. Para ilustrar
un modelo más complicado de este tipo, se utiliza la segunda ley de Newton para deter-
minar la velocidad final de la caída libre de un cuerpo que se encuentra cerca de la su-
perficie de la Tierra. Nuestro cuerpo en caída libre será el de un paracaidista (figura 1.2).
Un modelo para este caso se obtiene expresando la aceleración como la razón de cambio
de la velocidad con respecto al tiempo (dv/dt), y sustituyendo en la ecuación (1.3). Se
tiene
d
dt
F
m
v
=
(1.4)
donde v es la velocidad (m/s) y t es el tiempo (s). Así, la masa multiplicada por la razón
de cambio de la velocidad es igual a la fuerza neta que actúa sobre el cuerpo. Si la fuer-
za neta es positiva, el cuerpo se acelerará. Si es negativa, el cuerpo se desacelerará. Si
la fuerza neta es igual a cero, la velocidad del cuerpo permanecerá constante.
Ahora expresemos la fuerza neta en términos de variables y parámetros mensurables.
Para un cuerpo que cae a distancias cercanas a la Tierra (figura 1.2), la fuerza total está
compuesta por dos fuerzas contrarias: la atracción hacia abajo debida a la gravedad FD
y la fuerza hacia arriba debida a la resistencia del aire FU.
F = FD + FU (1.5)
FIGURA 1.2
Representación esquemática
de las fuerzas que actúan
sobre un paracaidista en
descenso. FD es la fuerza
hacia abajo debida a la
atracción de la gravedad.
FU es la fuerza hacia arriba
debida a la resistencia del
aire.
FU
FD
1.1 UN MODELO MATEMÁTICO SIMPLE 13
14 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
Si a la fuerza hacia abajo se le asigna un signo positivo, se usa la segunda ley de
Newton para expresar la fuerza debida a la gravedad como
FD = mg (1.6)
donde g es la constante gravitacional, o la aceleración debida a la gravedad, que es
aproximadamente igual a 9.8 m/s2
.
La resistencia del aire puede expresarse de varias maneras. Una forma sencilla
consiste en suponer que es linealmente proporcional a la velocidad,1
y que actúa en di-
rección hacia arriba tal como
FU = –cv (1.7)
donde c es una constante de proporcionalidad llamada coeficiente de resistencia o
arrastre (kg/s). Así, cuanto mayor sea la velocidad de caída, mayor será la fuerza hacia
arriba debida a la resistencia del aire. El parámetro c toma en cuenta las propiedades del
objeto que cae, tales como su forma o la aspereza de su superficie, que afectan la resis-
tencia del aire. En este caso, c podría ser función del tipo de traje o de la orientación
usada por el paracaidista durante la caída libre.
La fuerza total es la diferencia entre las fuerzas hacia abajo y las fuerzas hacia
arriba. Por lo tanto, combinando las ecuaciones (1.4) a (1.7), se obtiene
d
dt
mg c
m
v v
=
–
(1.8)
o simplificando el lado derecho de la igualdad,
d
dt
g
c
m
v
v
= –
(1.9)
La ecuación (1.9) es un modelo que relaciona la aceleración de un cuerpo que cae con
las fuerzas que actúan sobre él. Se trata de una ecuación diferencial porque está escrita
en términos de la razón de cambio diferencial (dv/dt) de la variable que nos interesa
predecir. Sin embargo, en contraste con la solución de la segunda ley de Newton en la
ecuación (1.3), la solución exacta de la ecuación (1.9) para la velocidad del paracaidista
que cae no puede obtenerse mediante simples manipulaciones algebraicas. Siendo ne-
cesario emplear técnicas más avanzadas, del cálculo, para obtener una solución exacta
o analítica. Por ejemplo, si inicialmente el paracaidista está en reposo (v = 0 en t = 0),
se utiliza el cálculo integral para resolver la ecuación (1.9), así
v( ) ( – )
–( / )
t
gm
c
e c m t
= 1
(1.10)
Note que la ecuación (1.10) es un ejemplo de la forma general de la ecuación (1.1), don-
de v(t) es la variable dependiente, t es la variable independiente, c y m son parámetros,
y g es la función de fuerza.
1
De hecho, la relación es realmente no lineal y podría ser representada mejor por una relación con potencias
como FU = –cv2
. Al final de este capítulo, investigaremos, en un ejercicio, de qué manera influyen estas no
linealidades en el modelo.
EJEMPLO 1.1
1.1 UN MODELO MATEMÁTICO SIMPLE 15
Solución analítica del problema del paracaidista que cae
Planteamiento del problema. Un paracaidista con una masa de 68.1 kg salta de un
globo aerostático fijo. Aplique la ecuación (1.10) para calcular la velocidad antes de que
se abra el paracaídas. Considere que el coeficiente de resistencia es igual a 12.5 kg/s.
Solución. Al sustituir los valores de los parámetros en la ecuación (1.10) se obtiene
v( )
. ( . )
.
( – ) . ( – )
–( . / . ) – .
t e e
t t
= =
9 8 68 1
12 5
1 53 39 1
12 5 68 1 0 18355
que sirve para calcular la velocidad del paracaidista a diferentes tiempos, tabulando se
tiene
t, s v, m/s
0 0.00
2 16.40
4 27.77
6 35.64
8 41.10
10 44.87
12 47.49
• 53.39
De acuerdo con el modelo, el paracaidista acelera rápidamente (figura 1.3). Se alcanza
una velocidad de 44.87 m/s (100.4 mi/h) después de 10 s. Observe también que, después
de un tiempo suficientemente grande, alcanza una velocidad constante llamada velocidad
terminal o velocidad límite de 53.39 m/s (119.4 mi/h). Esta velocidad es constante por-
que después de un tiempo la fuerza de gravedad estará en equilibrio con la resistencia
del aire. Entonces, la fuerza total es cero y cesa la aceleración.
A la ecuación (1.10) se le llama solución analítica o exacta ya que satisface con
exactitud la ecuación diferencial original. Por desgracia, hay muchos modelos matemá-
ticos que no pueden resolverse con exactitud. En muchos de estos casos, la única alter-
nativa consiste en desarrollar una solución numérica que se aproxime a la solución
exacta.
Como ya se mencionó, los métodos numéricos son aquellos en los que se reformula
el problema matemático para lograr resolverlo mediante operaciones aritméticas. Esto
puede ilustrarse para el caso de la segunda ley de Newton, observando que a la razón
de cambio de la velocidad con respecto al tiempo se puede aproximar mediante (figu-
ra 1.4):
d
dt t
t t
t t
i i
i i
v v v v
≅ = +
+
∆
∆
( ) – ( )
–
1
1
(1.11)
donde ∆v y ∆t son diferencias en la velocidad y en el tiempo, respectivamente, calculadas
sobre intervalos finitos, v(ti) es la velocidad en el tiempo inicial ti, y v(ti+1) es la veloci-
16 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
dad algún tiempo más tarde ti + l. Observe que dv/dt ≅ ∆v/∆t es aproximado porque ∆t
es finito. Recordando los cursos de cálculo tenemos que
d
dt t
t
v v
=
→
lím
∆
∆
∆
0
La ecuación (1.11) representa el proceso inverso.
0
0
20
40
4 8 12
t, s
v,
m/s
Velocidad terminal
FIGURA 1.3
Solución analítica al
problema del paracaidista
que cae según se calcula en
el ejemplo 1.1. La velocidad
aumenta con el tiempo y
tiende asintóticamente a una
velocidad terminal.
FIGURA 1.4
Uso de una diferencia finita
para aproximar la primera
derivada de v con respecto
a t.
v(ti +1)
v(ti )
v
Pendiente
verdadera
dv/dt
Pendiente
aproximada
v
t
v(ti +1) – v(ti )
ti +1 – ti
=
ti +1
ti t
t
A la ecuación (1.11) se le denomina una aproximación en diferencia finita dividida
de la derivada en el tiempo ti. Sustituyendo en la ecuación (1.9), tenemos
v v
v
( ) – ( )
–
– ( )
t t
t t
g
c
m
t
i i
i i
i
+
+
=
1
1
Esta ecuación se reordena para obtener
v v v
( ) ( ) – ( ) ( – )
t t g
c
m
t t t
i i i i i
+ +
= + ⎡
⎣
⎢
⎤
⎦
⎥
1 1 (1.12)
Note que el término entre corchetes es el lado derecho de la propia ecuación diferen-
cial [ecuación (1.9)]. Es decir, este término nos da un medio para calcular la razón de
cambio o la pendiente de v. Así, la ecuación diferencial se ha transformado en una ecua-
ción que puede utilizarse para determinar algebraicamente la velocidad en ti+1, usando
la pendiente y los valores anteriores de v y t. Si se da un valor inicial para la velocidad
en algún tiempo ti, es posible calcular con facilidad la velocidad en un tiempo posterior
ti+1. Este nuevo valor de la velocidad en ti+1 sirve para calcular la velocidad en ti+2 y así
sucesivamente. Es decir, a cualquier tiempo,
valor nuevo = valor anterior + pendiente × tamaño del paso
Observe que esta aproximación formalmente se conoce como método de Euler.
EJEMPLO 1.2 Solución numérica al problema de la caída de un paracaidista
Planteamiento del problema. Realice el mismo cálculo que en el ejemplo 1.1, pero
usando la ecuación (1.12) para obtener la velocidad. Emplee un tamaño de paso de 2 s
para el cálculo.
Solución. Al empezar con los cálculos (ti = 0), la velocidad del paracaidista es igual
a cero. Con esta información y los valores de los parámetros del ejemplo 1.1, se utiliza
la ecuación (1.12) para calcular la velocidad en ti+l = 2 s:
v = + ⎡
⎣
⎢
⎤
⎦
⎥ =
0 9 8
12 5
68 1
0 2 19 60
. –
.
.
( ) . m/s
Para el siguiente intervalo (de t = 2 a 4 s), se repite el cálculo y se obtiene
v = + ⎡
⎣
⎢
⎤
⎦
⎥ =
19 60 9 8
12 5
68 1
19 60 2 32 00
. . –
.
.
( . ) . m/s
Se continúa con los cálculos de manera similar para obtener los valores siguientes:
1.1 UN MODELO MATEMÁTICO SIMPLE 17
18 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
t, s v, m/s
0 0.00
2 19.60
4 32.00
6 39.85
8 44.82
10 47.97
12 49.96
• 53.39
Los resultados se muestran gráficamente en la figura 1.5, junto con la solución
exacta. Como se puede ver, el método numérico se aproxima bastante a la solución exac-
ta. Sin embargo, debido a que se emplean segmentos de rectas para aproximar una
función que es una curva continua, hay algunas diferencias entre los dos resultados. Una
forma de reducir estas diferencias consiste en usar un tamaño de paso menor. Por ejem-
plo, si se aplica la ecuación (1.12) con intervalos de 1 s, se obtendría un error menor, ya
que los segmentos de recta estarían un poco más cerca de la verdadera solución. Con los
cálculos manuales, el esfuerzo asociado al usar incrementos cada vez más pequeños
haría poco prácticas tales soluciones numéricas. No obstante, con la ayuda de una compu-
tadora personal es posible efectuar fácilmente un gran número de cálculos; por lo tanto,
se puede modelar con más exactitud la velocidad del paracaidista que cae, sin tener que
resolver la ecuación diferencial en forma analítica.
Como se vio en el ejemplo anterior, obtener un resultado numérico más preciso
tiene un costo en términos del número de cálculos. Cada división a la mitad del tamaño
de paso para lograr mayor precisión nos lleva a duplicar el número de cálculos. Como
0
0
20
40
4 8 12
t, s
v,
m/s
Velocidad terminal
o límite
Solución analítica, exacta
Solución numérica aproximada
FIGURA 1.5
Comparación de las
soluciones numéricas y
analíticas para el problema
del paracaidista que cae.
vemos, existe un costo inevitable entre la exactitud y la cantidad de operaciones. Esta
relación es de gran importancia en los métodos numéricos y constituyen un tema rele-
vante de este libro. En consecuencia, hemos dedicado el epílogo de la parte uno para
ofrecer una introducción a dicho tipo de relaciones.
1.2 LEYES DE CONSERVACIÓN E INGENIERÍA
Aparte de la segunda ley de Newton, existen otros principios importantes en ingeniería.
Entre los más importantes están las leyes de conservación. Éstas son fundamentales en
una gran variedad de complicados y poderosos modelos matemáticos, las leyes de la
conservación en la ciencia y en la ingeniería conceptualmente son fáciles de entender.
Puesto que se pueden reducir a
Cambio = incremento – decremento (1.13)
Éste es precisamente el formato que empleamos al usar la segunda ley de Newton para
desarrollar un equilibrio de fuerzas en la caída del paracaidista [ecuación (1.8)].
Pese a su sencillez, la ecuación (1.13) representa una de las maneras fundamentales
en que las leyes de conservación se emplean en ingeniería —esto es, predecir cambios
con respecto al tiempo—. Nosotros le daremos a la ecuación (1.13) el nombre especial
de cálculo de variable-tiempo (o transitorio).
Además de la predicción de cambios, las leyes de la conservación se aplican también
en casos en los que no existe cambio. Si el cambio es cero, la ecuación (1.3) será
Cambio = 0 = incremento – decremento
o bien,
Incremento = decremento (1.14)
Así, si no ocurre cambio alguno, el incremento y el decremento deberán estar en equi-
librio. Este caso, al que también se le da una denominación especial —cálculo en esta-
do estacionario—, tiene diversas aplicaciones en ingeniería. Por ejemplo, para el flujo
Tubería 2
Flujo de entrada = 80
Tubería 3
Flujo de salida = 120
Tubería 4
Flujo de salida = ?
Tubería 1
Flujo de entrada = 100
FIGURA 1.6
Equilibrio del flujo de un
fluido incompresible en
estado estacionario a través
de tuberías.
1.2 LEYES DE CONSERVACIÓN E INGENIERÍA 19
20 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
de un fluido incompresible en estado estacionario a través de tuberías, el flujo de entra-
da debe estar en equilibrio con el flujo de salida, esto es
Flujo de entrada = flujo de salida
Para la unión de tuberías de la figura 1.6, esta ecuación de equilibrio se utiliza para
calcular el flujo de salida de la cuarta tubería, que debe ser de 60.
Para la caída del paracaidista, las condiciones del estado estacionario deberían corres-
ponder al caso en que la fuerza total fuera igual a cero o [ecuación (1.8) con dv/dt = 0]
mg = cv (1.15)
Así, en el estado estacionario, las fuerzas hacia abajo y hacia arriba están equilibradas,
y en la ecuación (1.15) puede encontrarse la velocidad terminal.
v =
mg
c
Aunque las ecuaciones (1.13) y (1.14) pueden parecer triviales, éstas determinan las
dos maneras fundamentales en que las leyes de la conservación se emplean en ingenie-
ría. Como tales, en los capítulos siguientes serán parte importante de nuestros esfuerzos
por mostrar la relación entre los métodos numéricos y la ingeniería. Nuestro primer
medio para establecer tal relación son las aplicaciones a la ingeniería que aparecen al
final de cada parte del libro.
En la tabla 1.1 se resumen algunos de los modelos sencillos de ingeniería y las leyes
de conservación correspondientes, que constituirán la base de muchas de las aplicaciones
a la ingeniería. La mayoría de aplicaciones de ingeniería química harán énfasis en el
balance de masa para el estudio de los reactores. El balance de masa es una consecuen-
cia de la conservación de la masa. Éste especifica que, el cambio de masa de un com-
puesto químico en un reactor, depende de la cantidad de masa que entra menos la
cantidad de masa que sale.
Las aplicaciones en ingeniería civil y mecánica se enfocan al desarrollo de modelos
a partir de la conservación del momentum. En la ingeniería civil se utilizan fuerzas en
equilibrio para el análisis de estructuras como las armaduras sencillas de la tabla. El
mismo principio se aplica en ingeniería mecánica, con la finalidad de analizar el movi-
miento transitorio hacia arriba o hacia abajo, o las vibraciones de un automóvil.
Por último, las aplicaciones en ingeniería eléctrica emplean tanto balances de co-
rriente como de energía para modelar circuitos eléctricos. El balance de corriente, que
resulta de la conservación de carga, es similar al balance del flujo representado en la
figura 1.6. Así como el flujo debe equilibrarse en las uniones de tuberías, la corriente
eléctrica debe estar balanceada o en equilibrio en las uniones de alambres eléctricos. El
balance de energía especifica que la suma algebraica de los cambios de voltaje alrededor
de cualquier malla de un circuito debe ser igual a cero. Las aplicaciones en ingeniería se
proponen para ilustrar cómo se emplean actualmente los métodos numéricos en la solu-
ción de problemas en ingeniería. Estas aplicaciones nos permitirán examinar la solución
a los problemas prácticos (tabla 1.2) que surgen en el mundo real. Establecer la relación
entre las técnicas matemáticas como los métodos numéricos y la práctica de la ingeniería
es un paso decisivo para mostrar su verdadero potencial. Examinar de manera cuidado-
sa las aplicaciones a la ingeniería nos ayudará a establecer esta relación.
Estructura
Ingeniería civil Conservación del
momentum
Ingeniería
química
Campo Dispositivo Principio aplicado Expresión matemática
Conservación
de la masa
Equilibrio de fuerzas:
Ingeniería
mecánica
Conservación del
momentum
Máquina Equilibrio de fuerzas:
Ingeniería
eléctrica
Conservación
de la carga
Balance de corriente:
Conservación
de la energía
Balance de voltaje:
Balance de la masa:
Reactores Entrada Salida
En un periodo
masa = entradas – salidas
En cada nodo
 fuerzas horizontales (FH) = 0
 fuerzas verticales (FV) = 0
En cada nodo
 corriente (i) = 0
Alrededor de cada malla
 fems –  caída de potencial en los resistores = 0
  –  iR = 0
–FV
+FV
+FH
–FH
+i2
–i3
+i1
+
–
Circuito
i1R1
i3R3
i2R2 
Fuerza hacia arriba
Fuerza hacia abajo
x = 0
m = Fuerza hacia abajo – fuerza hacia arriba
d2
x
dt2
TABLA 1.1 Dispositivos y tipos de balances que se usan comúnmente en las cuatro grandes áreas de la ingeniería.
En cada caso se especifica la ley de conservación en que se fundamenta el balance.
1.2 LEYES DE CONSERVACIÓN E INGENIERÍA 21
22 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
TABLA 1.2 Algunos aspectos prácticos que se investigarán en las aplicaciones
a la ingeniería al final de cada parte del libro.
1. No lineal contra lineal. Mucho de la ingeniería clásica depende de la linealización que permite
soluciones analíticas. Aunque esto es con frecuencia apropiado, puede lograrse una mejor
comprensión cuando se revisan los problemas no lineales.
2. Grandes sistemas contra pequeños. Sin una computadora, no siempre es posible examinar sistemas
en que intervienen más de tres componentes. Con las computadoras y los métodos numéricos, se
pueden examinar en forma más realista sistemas multicomponentes.
3. No ideal contra ideal. En ingeniería abundan las leyes idealizadas. A menudo, hay alternativas no
idealizadas que son más realistas pero que demandan muchos cálculos. La aproximación numérica
llega a facilitar la aplicación de esas relaciones no ideales.
4. Análisis de sensibilidad. Debido a que están involucrados, muchos cálculos manuales requieren
una gran cantidad de tiempo y esfuerzo para su correcta realización. Esto algunas veces desalienta
al analista cuando realiza los múltiples cálculos que son necesarios al examinar cómo responde
un sistema en diferentes condiciones. Tal análisis de sensibilidad se facilita cuando los métodos
numéricos permiten que la computadora asuma la carga de cálculo.
5. Diseño. Determinar el comportamiento de un sistema en función de sus parámetros es a menudo una
proposición sencilla. Por lo común, es más difícil resolver el problema inverso; es decir, determinar
los parámetros cuando se especifica el comportamiento requerido. Entonces, los métodos numéricos
y las computadoras permiten realizar esta tarea de manera eficiente.
PROBLEMAS
1.1 Aproximadamente, 60% del peso total del cuerpo correspon-
de al agua. Si se supone que es posible separarla en seis regiones,
los porcentajes serían los que siguen. Al plasma corresponde
4.5% del peso corporal y 7.5% del total del agua en el cuerpo.
Los tejidos conectivos densos y los cartílagos ocupan 4.5% del
peso total del cuerpo y 7.5% del total de agua. La linfa intersticial
equivale a 12% del peso del cuerpo y 20% del total de agua en
éste. El agua inaccesible en los huesos es aproximadamente 7.5%
del total de agua corporal y 4.5% del peso del cuerpo. Si el agua
intracelular equivale a 33% del peso total del cuerpo y el agua
transcelular ocupa 2.5% del total de agua en el cuerpo, ¿qué
porcentaje del peso total corporal debe corresponder al agua
transcelular, y qué porcentaje del total de agua del cuerpo debe
ser el del agua intracelular?
1.2 Un grupo de 30 estudiantes asiste a clase en un salón que
mide 10 m por 8 m por 3 m. Cada estudiante ocupa alrededor de
0.075 m3
y genera cerca de 80 W de calor (1 W = 1 J/s). Calcule
el incremento de la temperatura del aire durante los primeros 15
minutos de la clase, si el salón está sellado y aislado por com-
pleto. Suponga que la capacidad calorífica del aire, Cu, es de
0.718 kJ/(kg K). Suponga que el aire es un gas ideal a 20° C y
101.325 kPa. Obsérvese que el calor absorbido por el aire Q está
relacionado con la masa de aire m, la capacidad calorífica, y el
cambio en la temperatura, por medio de la relación siguiente:
Q m C dT mC T T
T
T
= =
∫1
2
2 1
v v ( – )
La masa del aire se obtiene de la ley del gas ideal:
PV
m
RT
=
Mwt
donde P es la presión del gas, V es el volumen de éste, Mwt es
el peso molecular del gas (para el aire, 28.97 kg/kmol), y R es la
constante del gas ideal [8.314 kPa m3
/(kmol K)].
1.3 Se dispone de la información siguiente de una cuenta ban-
caria:
Fecha Depósitos Retiros Balance
5/1 1512.33
220.13 327.26
6/1
216.80 378.61
7/1
450.25 106.80
8/1
127.31 350.61
9/1
Utilice la conservación del efectivo para calcular el balance al
6/1, 7/1, 8/1 y 9/1. Demuestre cada paso del cálculo. ¿Este cálcu-
lo es de estado estacionario o transitorio?
1.4 La tasa de flujo volumétrico a través de un tubo está dado
por la ecuación Q = vA, donde v es la velocidad promedio y A
es el área de la sección transversal. Utilice la continuidad volu-
métrica para resolver cuál es el área requerida en el tubo 3.
1.5 En la figura P1.5 se ilustran formas distintas en las que un
hombre promedio gana o pierde agua durante el día. Se ingiere
un litro en forma de comida, y el cuerpo produce en forma me-
tabólica 0.3 L. Al respirar aire, el intercambio es de 0.05 L al
inhalar, y 0.4 L al exhalar, durante el periodo de un día. El cuer-
po también pierde 0.2, 1.4, 0.2 y 0.35 L a través del sudor, la
orina, las heces y por la piel, respectivamente. Con objeto de
mantener la condición de estado estacionario, ¿cuánta agua debe
tomarse por día?
1.6 Para el paracaidista en caída libre con arrastre lineal, supon-
ga un primer saltador de 70 kg con coeficiente de arrastre de
12 kg/s. Si un segundo saltador tiene un coeficiente de arrastre
de 15 kg/s y una masa de 75 kg, ¿cuánto tiempo le tomará alcan-
zar la misma velocidad que el primero adquiera en 10 s?
1.7 Utilice el cálculo para resolver la ecuación (1.9) para el caso
en que la velocidad inicial, v(0) es diferente de cero.
1.8 Repita el ejemplo 1.2. Calcule la velocidad en t = 10 s, con
un tamaño de paso de a) 1 y b) 0.5 s. ¿Puede usted establecer
algún enunciado en relación con los errores de cálculo con base
en los resultados?
1.9 En vez de la relación lineal de la ecuación (1.7), elija mode-
lar la fuerza hacia arriba sobre el paracaidista como una relación
de segundo orden,
FU = –c′v2
donde c′ = un coeficiente de arrastre de segundo orden (kg/m).
a) Con el empleo del cálculo, obtenga la solución de forma
cerrada para el caso en que al inicio el saltador se encuentra
en reposo (v = 0 en t = 0).
b) Repita el cálculo numérico en el ejemplo 1.2 con los mismos
valores de condición inicial y de parámetros. Utilice un valor
de 0.225 kg/m para c′.
1.10 Calcule la velocidad de un paracaidista en caída libre con
el empleo del método de Euler para el caso en que m = 80 kg y
c = 10 kg/s. Lleve a cabo el cálculo desde t = 0 hasta t = 20 s con
un tamaño de paso de 1 s. Use una condición inicial en que el
paracaidista tiene una velocidad hacia arriba de 20 m/s en t = 0.
Suponga que el paracaídas se abre instantáneamente en t = 10 s,
de modo que el coeficiente de arrastre sube a 50 kg/s.
1.11 En el ejemplo del paracaidista en caída libre, se supuso que
la aceleración debida a la gravedad era un valor constante de
9.8 m/s2
.Aunque ésta es una buena aproximación cuando se estu-
dian objetos en caída cerca de la superficie de la tierra, la fuerza
gravitacional disminuye conforme se acerca al nivel del mar. Una
representación más general basada en la ley de Newton del inver-
so del cuadrado de la atracción gravitacional, se escribe como
g x g
R
R x
( ) ( )
( )
=
+
0
2
2
donde g(x) = aceleración gravitacional a una altitud x (en m)
medida hacia arriba a partir de la superficie terrestre (m/s2
), g(0) =
aceleración gravitacional en la superficie terrestre (⬵ 9.8 m/s2
),
y R = el radio de la tierra (⬵ 6.37 ¥ 106
m).
a) En forma similar en que se obtuvo la ecuación (1.9), use
un balance de fuerzas para obtener una ecuación diferencial
para la velocidad como función del tiempo que utilice esta
representación más completa de la gravitación. Sin embargo,
para esta obtención, suponga como positiva la velocidad
hacia arriba.
b) Para el caso en que el arrastre es despreciable, utilice la regla
de la cadena para expresar la ecuación diferencial como
función de la altitud en lugar del tiempo. Recuerde que la
regla de la cadena es
dv
dt
dv
dx
dx
dt
=
c) Use el cálculo para obtener la forma cerrada de la solución
donde v = v0 en = 0.
d) Emplee el método de Euler para obtener la solución numé-
rica desde x = 0 hasta 100000 m, con el uso de un paso de
V3,sal = 6 m/s
A3 = ?
Q2,sal = 20 m3
/s
Q1,ent = 40 m3
/s
PROBLEMAS 23
Piel
Orina
CUERPO
Comida
Bebida
Heces
Sudor
Aire
Metabolismo
Figura P1.4
Figura P1.5
24 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA
10000 m, donde la velocidad inicial es de 1400 m/s hacia
arriba. Compare su resultado con la solución analítica.
1.12 La cantidad de un contaminante radiactivo distribuido
uniformemente que se encuentra contenido en un reactor cerrado,
se mide por su concentración c (becquerel/litro, o Bq/L). El con-
taminante disminuye con una tasa de decaimiento proporcional
a su concentración, es decir:
tasa de decaimiento = –kc
donde k es una constante con unidades de día–1
. Entonces, de
acuerdo con la ecuación (1.13), puede escribirse un balance
de masa para el reactor, así:
dc
dt
kc
–
=
( )=
de la masa
cambio
por de
ecaimiento
disminución
( )
a) Use el método de Euler para resolver esta ecuación desde
t = 0 hasta 1 d, con k = 0.2 d–1
. Emplee un tamaño de paso
de ∆t = 0.1. La concentración en t = 0 es de 10 Bq/L.
b) Grafique la solución en papel semilogarítmico (p.ej., ln c ver-
sus t) y determine la pendiente. Interprete sus resultados.
1.13 Un tanque de almacenamiento contiene un líquido con
profundidad y, donde y = 0 cuando el tanque está lleno a la mitad.
El líquido se extrae con una tasa de flujo constante Q a fin de
satisfacer las demandas. Se suministra el contenido a una tasa
senoidal de 3Q sen2
(t).
Para este sistema, la ecuación (1.13) puede escribirse como
d Ay
dx
Q t Q
( )
–
=
( )
3 sen
el volumen
cambio en
2
=
= (flujo de entrada) – (flujo de salida)
o bien, como el área de la superficie A es constante
dy
dx
Q
A
t
Q
A
= 3 sen2
–
Emplee el método de Euler para resolver cuál sería la profundi-
dad y, desde t = 0 hasta 10 d, con un tamaño de paso de 0.5 d.
Los valores de los parámetros son A = 1200 m2
y Q = 500 m3
/d.
Suponga que la condición inicial es y = 0.
1.14 Para el mismo tanque de almacenamiento que se describe
en el problema 1.13, suponga que el flujo de salida no es cons-
tante sino que la tasa depende de la profundidad. Para este caso,
la ecuación diferencial para la profundidad puede escribirse
como
dy
dx
Q
A
t
y
A
=
+
3
1 1 5
sen2
–
( ) .
α
Use el método de Euler para resolver cuál sería la profundidad
y, desde t = 0 hasta 10 d, con un tamaño de paso de 0.5 d.
Los valores de los parámetros son A = 1200 m2
, Q = 500 m3
/d,
y a = 300. Suponga que la condición inicial es y = 0.
1.15 Suponga que una gota esférica de líquido se evapora a una
tasa proporcional al área de su superficie.
dV
dt
kA
= −
donde V = volumen (mm3
), t = tiempo (h), k = la tasa de evapo-
ración (mm/h), y A = área superficial (mm2
). Emplee el método
de Euler para calcular el volumen de la gota desde t = 0 hasta 10
min usando un tamaño de paso de 0.25 min. Suponga que k = 0.1
mm/min, y que al inicio la gota tiene un radio de 3 mm. Evalúe
la validez de sus resultados por medio de determinar el radio de
su volumen final calculado y la verificación de que es consisten-
te con la tasa de evaporación.
1.16 La ley de Newton del enfriamiento establece que la tempe-
ratura de un cuerpo cambia con una tasa que es proporcional a
la diferencia de su temperatura y la del medio que lo rodea (tem-
peratura ambiente).
dT
dt
k T Ta
= − −
( )
donde T = temperatura del cuerpo (°C), t = tiempo (min), k =
constante de proporcionalidad (por minuto), y Ta = temperatu-
ra del ambiente (°C). Suponga que una tasa de café tiene origi-
nalmente una temperatura de 68°C. Emplee el método de Euler
para calcular la temperatura desde t = 0 hasta 10 min, usando
un tamaño de paso de 1 min, si Ta = 21°C y k = 0.017/min.
1.17 Las células cancerosas crecen en forma exponencial con
un tiempo de duplicación de 20 h cuando tienen una fuente ili-
mitada de nutrientes. Sin embargo, conforme las células comien-
zan a formar un tumor de forma esférica sin abasto de sangre, el
y
0
Figura P1.13
crecimiento en el centro del tumor queda limitado, y eventual-
mente las células empiezan a morir.
a) El crecimiento exponencial del número de células N puede
expresarse como se indica, donde µ es la tasa de crecimiento
de las células. Encuentre el valor de µ para las células can-
cerosas.
dN
dt
N
= µ
b) Construya una ecuación que describa la tasa de cambio del
volumen del tumor durante el crecimiento exponencial,
dado que el diámetro de una célula individual es de 20
micras.
c) Una vez que un tipo particular de tumor excede las 500
micras de diámetro, las células del centro del tumor se
mueren (pero continúan ocupando espacio en el tumor).
Determine cuánto tiempo tomará que el tumor exceda ese
tamaño crítico.
1.18 Se bombea un fluido por la red que se ilustra en la figura
P1.18. Si Q2 = 0.6, Q3 = 0.4, Q7 = 0.2 y Q8 = 0.3 m3
/s, determine
los otros flujos.
Figura P1.18
Q1
Q10 Q9 Q8
Q3 Q5
Q7
Q6
Q4
Q2
PROBLEMAS 25
CAPÍTULO 2
Programación y software
En el capítulo anterior, desarrollamos un modelo matemático a partir de la fuerza total
para predecir la velocidad de caída de un paracaidista. Este modelo tenía la forma de
una ecuación diferencial,
d
dt
g
c
m
v
v
= −
También vimos que se obtenía una solución de esta ecuación utilizando un método nu-
mérico simple, llamado método de Euler,
v v
v
i i
i
d
dt
t
+ = +
1 ∆
Dada una condición inicial, se emplea esta ecuación repetidamente para calcular la
velocidad como una función del tiempo. Sin embargo, para obtener una buena precisión
sería necesario desarrollar muchos pasos pequeños. Hacerlo a mano sería muy laborio-
so y tomaría mucho tiempo; pero, con la ayuda de las computadoras tales cálculos
pueden realizarse fácilmente.
Por ende, nuestro siguiente objetivo consiste en observar cómo se hace esto. En el
presente capítulo daremos una introducción al uso de la computadora como una herra-
mienta para obtener soluciones de este tipo.
2.1 PAQUETES Y PROGRAMACIÓN
En la actualidad existen dos tipos de usuarios de software. Por un lado están aquellos
que toman lo que se les da. Es decir, quienes se limitan a las capacidades que encuentran
en el modo estándar de operación del software existente. Por ejemplo, resulta muy sen-
cillo resolver un sistema de ecuaciones lineales o generar una gráfica con valores x-y
con Excel o con MATLAB. Como este modo de operación por lo común requiere un
mínimo esfuerzo, muchos de los usuarios adoptan este modo de operación. Además,
como los diseñadores de estos paquetes se anticipan a la mayoría de las necesidades tí-
picas de los usuarios, muchos de los problemas pueden resolverse de esta manera.
Pero, ¿qué pasa cuando se presentan problemas que están más allá de las capacida-
des estándar de dichas herramientas? Por desgracia, decir “Lo siento jefe, pero no lo sé
hacer” no es algo aceptado en la mayoría de los círculos de la ingeniería. En tales casos
usted tiene dos alternativas.
La primera sería buscar otro paquete y ver si sirve para resolver el problema. Ésta
es una de las razones por las que quisimos usar tanto Excel como MATLAB en este
libro. Como veremos, ninguno de los dos abarca todo y cada uno tiene sus ventajas.
Sabiendo usar ambos, se amplía de forma notable el rango de problemas que pueden
resolverse.
La segunda sería que es posible volverse un “potente usuario” si se aprende a escri-
bir macros en Excel VBA1
o archivos M (M-files) en MATLAB. ¿Y qué son tales cues-
tiones? No son más que programas computacionales que permiten ampliar la capacidad
de estas herramientas. Como los ingenieros nunca se sentirán satisfechos al verse limi-
tados por las herramientas, harán todo lo que sea necesario para resolver sus problemas.
Una buena manera de lograrlo consiste en aprender a escribir programas en los ambien-
tes de Excel y MATLAB. Además, las habilidades necesarias para crear macros o ar-
chivos M (M-files) son las mismas que se necesitan para desarrollar efectivamente
programas en lenguajes como Fortran 90 o C.
El objetivo principal del capítulo es enseñarle cómo se hace esto. Sin embargo,
supondremos que usted ya ha tenido contacto con los rudimentos de la programación y,
por tal razón, destacaremos las facetas de la programación que afectan directamente su
uso en la solución de problemas en ingeniería.
2.1.1 Programas computacionales
Los programas computacionales son únicamente conjuntos de instrucciones que dirigen
a la computadora para realizar una cierta tarea. Hay mucha gente que escribe programas
para un amplio rango de aplicaciones en los lenguajes de alto nivel, como Fortran 90 o
C, porque tienen una gran variedad de capacidades. Aunque habrá algunos ingenieros
que usarán toda la amplia gama de capacidades, la mayoría sólo necesitará realizar los
cálculos numéricos orientados a la ingeniería.
Visto desde esta perspectiva, reducimos toda esa complejidad a unos cuantos tópicos
de programación, que son:
• Representación de información sencilla (declaración de constantes, variables y ti-
pos)
• Representación de información más compleja (estructuras de datos, arreglos y re-
gistros)
• Fórmulas matemáticas (asignación, reglas de prioridad y funciones intrínsecas)
• Entrada/Salida
• Representación lógica (secuencia, selección y repetición)
• Programación modular (funciones y subrutinas)
Como suponemos que el lector ya ha tenido algún contacto con la programación,
no dedicaremos mucho tiempo en las cuatro primeras áreas. En lugar de ello, las pre-
sentamos como una lista para que el lector verifique lo que necesitará saber para desa-
rrollar los programas que siguen.
No obstante, sí dedicaremos algún tiempo a los dos últimos tópicos. Destacaremos
la representación lógica porque es el área que más influye en la coherencia y la compren-
sión de un algoritmo. Trataremos la programación modular porque también contribuye
de manera importante en la organización de un programa. Además, los módulos son un
medio para almacenar algoritmos utilizados frecuentemente en un formato adecuado
para aplicaciones subsecuentes.
1
VBA son las siglas de Visual Basic for Applications.
2.1 PAQUETES Y PROGRAMACIÓN 27
28 PROGRAMACIÓN Y SOFTWARE
2.2 PROGRAMACIÓN ESTRUCTURADA
En los comienzos de la computación, los programadores no daban mucha importancia
a que sus programas fueran claros y fáciles de entender. Sin embargo, hoy se reconoce
que escribir programas organizados y bien estructurados tiene muchas ventajas. Además
de las ventajas obvias de tener un software más accesible para compartirlo, también
ayuda a generar programas mucho más eficientes. Es decir, algoritmos bien estructura-
dos, que son invariablemente mucho más fáciles de depurar y de probar, lo que resulta
en programas que toman menos tiempo desarrollar, probar y actualizar.
Los científicos de la computación han estudiado sistemáticamente los factores y los
procedimientos necesarios para desarrollar software de alta calidad de este tipo. En
esencia la programación estructurada es un conjunto de reglas que desarrollan en el
programador los hábitos para lograr un buen estilo. Aunque la programación estructu-
rada es bastante flexible para permitir considerable creatividad y expresión personal, sus
reglas imponen suficientes restricciones para hacer que los programas resultantes sean
muy superiores a sus versiones no estructuradas. En particular, el producto terminado
es mucho más elegante y fácil de entender.
La idea clave detrás de la programación estructurada es que cualquier algoritmo
numérico requiere tan sólo de tres estructuras de control fundamentales: secuencia, se-
lección y repetición. Limitándonos a dichas estructuras el programa resultante será claro
y fácil de seguir.
En los párrafos siguientes describiremos cada una de estas estructuras. Para man-
tener esta descripción de una manera general usaremos diagramas de flujo y seudocó-
digo. Un diagrama de flujo es una representación visual o gráfica de un algoritmo. Un
diagrama de flujo emplea una serie de cajas o bloques y flechas, cada una de las cuales
representa un determinado paso u operación del algoritmo (figura 2.1). Las flechas re-
presentan el orden en el que se realizarán las operaciones.
No todas las personas relacionadas con la computación están de acuerdo en que los
diagramas de flujo sean una buena opción. Incluso, algunos programadores experimen-
tados no usan los diagramas de flujo. Sin embargo, nosotros pensamos que existen tres
buenas razones para estudiarlos. La primera es que sirven para expresar y comunicar
algoritmos. La segunda es que aunque no se empleen de manera rutinaria, algunas veces
resultarán útiles para planear, aclarar o comunicar la lógica del propio programa o del
de otra persona. Por último, que es lo más importante para nuestros objetivos, son exce-
lentes herramientas didácticas. Desde el punto de vista de la enseñanza, son los medios
ideales para visualizar algunas de las estructuras de control fundamentales que se em-
plean en la programación.
Otra manera de expresar algoritmos, y que constituye un puente de unión entre los
diagramas de flujo y el código de la computadora, es el seudocódigo. En esta técnica se
utilizan expresiones semejantes a las del código, en lugar de los símbolos gráficos del
diagrama de flujo. En esta obra, para el seudocódigo hemos adoptado algunas conven-
ciones de estilo. Escribiremos con mayúsculas las palabras clave como IF, DO, INPUT,
etc., mientras que las condiciones, pasos del proceso y tareas irán en minúsculas. Además,
los pasos del proceso se escribirán en forma indentada. De esta manera las palabras
clave forman un “sandwich” alrededor de los pasos para definir visualmente lo que
abarca cada estructura de control.
Una ventaja del seudocódigo es que con él resulta más fácil desarrollar un programa
que con el diagrama de flujo. El seudocódigo es también más fácil de modificar y de
compartir con los demás. No obstante, los diagramas de flujo, debido a su forma gráfi-
ca, resultan a veces más adecuados para visualizar algoritmos complejos. Nosotros
emplearemos diagramas de flujo con fines didácticos, y el seudocódigo será el principal
medio que usaremos para comunicar algoritmos relacionados con métodos numéricos.
2.2.1 Representación lógica
Secuencia. La estructura secuencial expresa la trivial idea de que, a menos que se
indique otra cosa, el código debe realizarse instrucción por instrucción. Como en la fi-
gura 2.2, la estructura se puede expresar de manera general como un diagrama de flujo
o como un seudocódigo.
Selección. En contraste con el paso por paso de la estructura secuencial, la selección nos
ofrece un medio de dividir el flujo del programa en ramas considerando el resultado de
una condición lógica. La figura 2.3 muestra las dos principales maneras de hacer esto.
La decisión ante una sola alternativa, o estructura IF/THEN (figura 2.3a), nos per-
mite una desviación en el flujo del programa si una condición lógica es verdadera. Si
esta condición es falsa no ocurre nada y el programa continúa con la indicación que se
encuentra después del ENDIF. La decisión ante dos alternativas, o estructura IF/THEN/
ELSE (figura 2.3b), se comporta de la misma manera si la condición es verdadera; sin
embargo, si la condición es falsa, el programa realiza las instrucciones entre el ELSE y
el ENDIF.
SÍMBOLO NOMBRE
Terminal
Líneas de flujo
Proceso
Entrada/Salida
Decisión
Unión
Conexión de fin
de página
Ciclo de cuenta
controlada
FUNCIÓN
Representa el inicio o el final de un programa.
Representan el flujo de la lógica. Los arcos en la flecha horizontal indican
que ésta pasa sobre las líneas de flujo verticales y no se conecta con ellas.
Representa cálculos o manipulación de datos.
Representa entrada o salida de datos e información.
Representa una comparación, una pregunta o una decisión que determina
los caminos alternativos a seguir.
Representa la confluencia de líneas de flujo.
Representa una interrupción que continúa en otra página.
Se usa para ciclos que repiten un número predeterminado de iteraciones.
FIGURA 2.1
Símbolos usados en los diagramas de flujo.
2.2 PROGRAMACIÓN ESTRUCTURADA 29
30 PROGRAMACIÓN Y SOFTWARE
AunquelasestructurasIF/THENeIF/THEN/ELSEsonsuficientesparaconstruircual-
quier algoritmo numérico, por lo común también se usan otras dos variantes. Suponga que el
ELSE de un IF/THEN/ELSE contiene otro IF/THEN. En tales casos el ELSE y el IF se pue-
den combinar en la estructura IF/THEN/ELSEIF que se muestra en la figura 2.4a.
Instrucción1
Instrucción2
Instrucción3
Instrucción4
Instrucción1
Instrucción2
Instrucción3
Instrucción4
a) Diagrama de flujo b) Seudocódigo
a) Estructura (IF/THEN) para una sola alternativa
b) Estructura (IF/THEN/ELSE) para dos alternativas
Diagrama de flujo Seudocódigo
IF condición THEN
Bloque verdadero
ENDIF
Verdadero
Condición
?
Bloque
verdadero
IF condición THEN
Bloque verdadero
ELSE
Bloque falso
ENDIF
Verdadero
Falso
Condición
?
Bloque
verdadero
Bloque
falso
FIGURA 2.2
a) Diagrama de flujo y
b) seudocódigo para la
estructura secuencial.
FIGURA 2.3
Diagrama de flujo y seudo-
código para estructuras de
selección simple.
a) Selección con una alter-
nativa (IF/THEN) y b) se-
lección con dos alternativas
(IF/THEN/ELSE).
a) Estructura con múltiples alternativas (IF/THEN/ELSEIF)
b) Estructura CASE (SELECCIONA o DESVÍA)
Diagrama de flujo Seudocódigo
SELECT CASE Expresión de prueba
CASE Valor1
Bloque1
CASE Valor2
Bloque2
CASE Valor3
Bloque3
CASE ELSE
Bloque4
END SELECT
Valor1 Valor2 Valor3 Otro
Expresión
de prueba
Bloque1 Bloque2 Bloque3 Bloque4
IF condición1 THEN
Bloque1
ELSEIF condición2
Bloque2
ELSEIF condición3
Bloque3
ELSE
Bloque4
ENDIF
Verdadero
Falso
Verdadero
Verdadero
Condición1
?
Falso
Condición3
?
Falso
Condición2
?
Bloque1
Bloque2
Bloque3
Bloque4
FIGURA 2.4
Diagrama de flujo y seudocódigo para construcciones de selección o ramificación.
a) Selección de múltiples alternativas (IF/THEN/ELSEIF) y b) Construcción CASE.
Observe que en la figura 2.4a hay una cadena o “cascada” de decisiones. La prime-
ra es una instrucción IF y cada una de las decisiones sucesivas es un ELSEIF. Siguiendo
la cadena hacia abajo, la primera condición que resulte verdadera ocasionará una des-
viación a su correspondiente bloque de código, seguida por la salida de la estructura. Al
final de la cadena de condiciones, si todas las condiciones resultaron falsas, se puede
adicionar un bloque ELSE opcional.
2.2 PROGRAMACIÓN ESTRUCTURADA 31
32 PROGRAMACIÓN Y SOFTWARE
La estructura CASE es una variante de este tipo de toma de decisiones (figura 2.4b).
En lugar de probar condiciones individuales, las ramificaciones dependen del valor de
una sola expresión de prueba. Según sea su valor, se presentarán diferentes bloques
de código. Además, si la expresión no toma ninguno de los valores previstos, se puede
proponer un bloque opcional (CASE ELSE).
Repetición. La repetición nos proporciona una manera de llevar a cabo instrucciones
repetidamente. Las estructuras resultantes, llamadas loops o ciclos, se presentan en dos
formas distintas que se diferencian por la manera en que terminan.
El primer tipo, y el fundamental, es el llamado loop de decisión debido a que ter-
mina basándose en el resultado de una condición lógica. La figura 2.5 muestra el tipo
general de loop de decisión, la construcción DOEXIT, también llamada loop de inte-
rrupción (break loop). Esta estructura realiza repeticiones hasta que una condición ló-
gica resulte verdadera.
En esta estructura no es necesario tener dos bloques. Cuando se omite el primer
bloque, a la estructura se le suele llamar loop de preprueba porque la prueba lógica se
realiza antes de que ocurra algo. Si se omite el segundo bloque, se le llama loop pos-
prueba. Al caso general, en el que se incluyen los dos bloques, se le llama loop de
prueba intermadia (midtest).
Hay que hacer notar que el loop DOEXIT fue introducido en Fortran 90 para tratar
de simplificar los loops de decisión. Esta estructura de control es parte estándar del
lenguaje VBA de macros en Excel; pero no forma parte estándar de C o de MATLAB,
que usan la estructura llamada WHILE. Como nosotros consideramos superior a la
estructura DOEXIT, la hemos adoptado en este libro como la estructura de loop de
decisión. Para que nuestros algoritmos se realicen tanto en MATLAB como en Excel,
mostraremos más adelante, en este capítulo (véase la sección 2.5), cómo simular el loop
de interrupción usando la estructura WHILE.
Falso
Verdadero
Condición
?
DO
Bloque1
IF condición EXIT
Bloque2
ENDDO
Diagrama de flujo Seudocódigo
Bloque1
Bloque2
FIGURA 2.5
Loop DOEXIT
o de interrupción.
Al loop de interrupción que se presenta en la figura 2.5 se le llama loop lógico
porque termina a causa de una condición lógica. Por otro lado, se tiene el loop contro-
lado por contador o loop DOFOR (figura 2.6) que realiza un número determinado de
repeticiones o iteraciones.
El loop controlado por contador funciona como sigue. El índice (representado por
i en la figura 2.6) es una variable a la que se le da un valor inicial. El programa prueba
si el índice es menor o igual al valor final, fin. Si es así, entonces ejecuta el cuerpo del
loop y vuelve al DO. Cada vez que encuentra el ENDDO el índice se incrementa auto-
máticamente con el valor definido por el incremento. De manera que el índice actúa
como un contador. Cuando el índice es mayor que el valor final (fin), la computadora
sale automáticamente del loop y transfiere el control a la línea que sigue después del
ENDDO. Observe que casi en todos los lenguajes de programación, incluyendo Excel y
MATLAB, si se omite el incremento, la computadora supone que éste es igual a 1.2
Los algoritmos numéricos que se describen en las páginas siguientes se desarrolla-
rán usando únicamente las estructuras presentadas en las figuras 2.2 a 2.6. El ejemplo
siguiente presenta el método básico para desarrollar un algoritmo que determine las
raíces de la ecuación cuadrática.
EJEMPLO 2.1 Algoritmo para las raíces de la ecuación cuadrática
Planteamiento del problema. Las raíces de una ecuación cuadrática
ax2
+ bx + c = 0
se determinan mediante la fórmula cuadrática,
x
x
b b ac
a
1
2
2
4
2
=
±
– | – |
(2.1)
FIGURA 2.6
Construcción controlada
por conteo o construcción
DOFOR.
i = inicio
Verdadero
Falso
i  fin
? i = i + incr.
DOFOR i = inicio, fin, incremento
ENDDO
Diagrama de flujo Seudocódigo
Bloque
2
Se puede usar incremento (decremento) negativo, en cuyo caso el loop termina cuando el índice es menor
que el valor final.
2.2 PROGRAMACIÓN ESTRUCTURADA 33
34 PROGRAMACIÓN Y SOFTWARE
Desarrolle un algoritmo que haga lo siguiente:
Paso 1: Pida al usuario los coeficientes a, b y c.
Paso 2: Realice las operaciones de la fórmula cuadrática previendo todas las eventualidades
(como, por ejemplo, evitar la división entre cero y permitir raíces complejas).
Paso 3: Dé la solución, es decir, los valores de x.
Paso 4: Dé al usuario la opción de volver al paso 1 y repetir el proceso.
Solución. Para desarrollar el algoritmo usaremos un método que va de lo general a lo
particular (método top-down). Esto es, iremos refinando cada vez más el algoritmo en
lugar de detallar todo a la primera vez.
Para esto, supongamos, por lo pronto, que ya probamos que están bien los valores
de los coeficientes de la fórmula cuadrática (claro que esto no es cierto, pero por lo
pronto así lo consideraremos). Un algoritmo estructurado para realizar la tarea es
DO
INPUT a, b, c
r1 = (—b + SQRT (b2
— 4ac))/(2a)
r2 = (—b — SQRT (b2
— 4ac))/(2a)
DISPLAY r1, r2
DISPLAY ‘¿Repetir? Conteste sí o no’
INPUT respuesta
IF respuesta = ‘no’ EXIT
ENDDO
La construcción DOEXIT se utiliza para repetir el cálculo de la ecuación cuadráti-
ca siempre que la condición sea falsa. La condición depende del valor de la variable de
tipo carácter respuesta. Si respuesta es igual a ‘sí’ entonces se llevan a cabo los cálculos.
Si no es así, si respuesta es igual a ‘no’, el loop termina. De esta manera, el usuario
controla la terminación mediante el valor de respuesta.
Ahora bien, aunque el algoritmo anterior funcionará bien en ciertos casos, todavía
no está completo. El algoritmo quizá no funcione para algunos valores de las variables.
Esto es:
• Si a = 0 se presentará inmediatamente un problema debido a la división entre cero.
Si inspeccionamos cuidadosamente la ecuación (2.1) veremos que aquí se pueden
presentar dos casos:
Si b ≠ 0, la ecuación se reduce a una ecuación lineal con una raíz real, –c/b
Si b = 0, entonces no hay solución. Es decir, el problema es trivial.
• Si a ≠ 0, entonces, según sea el valor del discriminante, d = b2
– 4ac, se pueden
presentar también dos casos,
Si d ≥ 0, habrá dos raíces reales.*
Si d  0, habrá dos raíces complejas.
Observe cómo hemos dejado una sangría adicional para hacer resaltar la estructura de
decisión que subyace a las matemáticas. Esta estructura se traduce, después, en un con-
junto de estructuras IF/THEN/ELSE acopladas que se pueden insertar en la parte con los
comandos sombreados en el código anterior, obteniéndose finalmente el algoritmo:
* En realidad si d = 0 las dos raíces reales tienen el mismo valor x = –b/2a.
DO
INPUT a, b, c
r1 = 0: r2 = 0: i1 = 0: i2 = 0
IF a = 0 THEN
IF b ≠ 0 THEN
r1 = –c/b
ELSE
DISPLAY “Solución trivial”
ENDIF
ELSE
discr = b2
– 4 * a * c
IF discr ≥ 0 THEN
r1 = (–b + Sqrt(discr))/(2 * a)
r2 = (–b – Sqrt(discr))/(2 * a)
ELSE
r1 = –b/(2 * a)
r2 = r1
i1 = Sqrt(Abs(discr))/(2 * a)
i2 = –i1
ENDIF
ENDIF
DISPLAY r1, r2, i1, i2
DISPLAY ‘¿Repetir? Conteste sí o no’
INPUT respuesta
IF respuesta = ‘no’ EXIT
ENDDO
El método que se utilizó en el problema anterior puede emplearse para desarrollar
un algoritmo para el problema del paracaidista. Recordemos que, dadas la condición
inicial para tiempo y velocidad, el problema consistía en resolver de manera iterativa la
fórmula
v v
v
i i
i
d
dt
t
+ = +
1 ∆ (2.2)
Como sabemos, para lograr una buena precisión será necesario emplear incrementos
pequeños. Por lo que será necesario emplear la fórmula repetidas veces, desde el tiempo
inicial hasta el tiempo final. En consecuencia, un algoritmo para resolver este problema
estará basado en el uso de un loop.
Supongamos, por ejemplo, que empezamos los cálculos en t = 0 y queremos prede-
cir la velocidad en t = 4 s con incrementos de tiempo ∆t = 0.5 s. Entonces tendremos que
aplicar la ecuación (2.2) ocho veces, esto es,
n = =
4
0 5
8
.
donde n es el número de iteraciones del loop. Como este número es exacto, es decir, esta
división nos da un número entero, podemos usar como base del algoritmo un loop con-
trolado por contador. A continuación damos un ejemplo de seudocódigo.
2.2 PROGRAMACIÓN ESTRUCTURADA 35
36 PROGRAMACIÓN Y SOFTWARE
g = 9.8
INPUT cd, m
INPUT ti, vi, tf, dt
t = ti
v = vi
n = (tf — ti) / dt
DOFOR i = 1 TO n
dvdt = g — (cd / m) * v
v = v + dvdt * dt
t = t + dt
ENDDO
DISPLAY v
3
Este problema se combina con el hecho de que las computadoras usan internamente, para la representación de
números, la base 2. En consecuencia, algunos números que aparentemente son divisibles no dan exactamente
un entero cuando la división se hace en una computadora. De esto hablaremos en el capítulo 3.
Aunque este esquema es fácil de programar, no está completo. Sólo funcionará si el
intervalo es divisible exactamente entre el incremento.3
Para tomar en cuenta el otro
caso, en el código anterior, en lugar del área sombreada se puede usar un loop de decisión.
El resultado es:
g = 9.8
INPUT cd, m
INPUT ti, vi, tf, dt
t = ti
v = vi
h = dt
DO
IF t + dt  tf THEN
h = tf — t
ENDIF
dvdt = g — (cd / m) * v
v = v + dvdt * h
t = t + h
IF t ≥ tf EXIT
ENDDO
DISPLAY v
Al introducir el loop, usamos la estructura IF/THEN para probar si el valor t + dt
nos lleva más allá del final del intervalo. Si no es así, lo cual comúnmente será el caso
al principio, no hacemos nada. De lo contrario, necesitaremos reducir el intervalo ha-
ciendo el tamaño de incremento h igual a tf – t. Así, garantizamos que el paso siguiente
caiga precisamente en tf. Después de hacer este paso final, el loop terminará, debido a
que t ≥ tf será verdadero.
Observe que antes de entrar en el loop hemos asignado el valor del incremento, dt,
a otra variable, h. Creamos esta variable con el objeto de que nuestra rutina no cambie
el valor de dt cuando tengamos que reducir el incremento. Hacemos esto anticipándonos
a que tengamos que usar el valor original de dt en algún otro lado, en el caso de que este
programa sea parte de otro programa mayor.
Hay que destacar que este algoritmo aún no está terminado. Puede ser, por ejemplo,
que el usuario dé por error un incremento que sea mayor que el intervalo, como por
ejemplo, tf – ti = 5 y dt = 20. Entonces, habrá que poner, en el programa, trampas para
detectar tales errores y que el usuario pueda corregirlos.
2.3 PROGRAMACIÓN MODULAR
Imaginemos qué difícil sería estudiar un libro que no tuviera capítulos, ni secciones, ni
párrafos. Dividir una tarea o una materia complicada en partes más accesibles es una
manera de hacerla más fácil. Siguiendo esta misma idea, los programas de computación
se dividen en subprogramas más pequeños, o módulos que pueden desarrollarse y pro-
barse por separado. A esta forma de trabajar se le llama programación modular.
La principal cualidad de los módulos es que son tan independientes y autosuficien-
tes como sea posible. Además, en general, están diseñados para llevar a cabo una función
específica y bien definida, y tienen un punto de entrada y un punto de salida. Los mó-
dulos a menudo son cortos (50 a 100 instrucciones) y están bien enfocados.
En los lenguajes estándar de alto nivel como Fortran 90 y C, el principal elemento
de programación usado para representar módulos es el procedimiento. Un procedimien-
to es un conjunto de instrucciones para computadora que juntas realizan una tarea dada.
Se emplean comúnmente dos tipos de procedimientos: funciones y subrutinas. Las
primeras normalmente dan un solo resultado, mientras que las últimas dan varios.
Además, hay que mencionar que gran parte de la programación relacionada con paque-
tes de software como Excel y MATLAB implica el desarrollo de subprogramas. Así, los
macros de Excel y las funciones de MATLAB están diseñadas para recibir información,
llevar a cabo un cálculo y dar un resultado. De manera que el pensamiento modular también
es consistente con la manera en que se programa en ambientes de paquetes.
La programación modular tiene diversas ventajas. El uso de unidades pequeñas e
independientes hace que la lógica subyacente sea más fácil de seguir y de entender,
tanto para el que desarrolla el módulo como para el usuario. Se facilita el desarrollo
debido a que se puede perfeccionar cada módulo por separado. En proyectos grandes,
varios programadores pueden trabajar por separado las diferentes partes individuales.
En el diseño modular también la depuración y la prueba de un programa se simplifican
debido a que los errores se pueden encontrar con facilidad. Por último, es más sencillo
el mantenimiento y la modificación del programa. Esto se debe principalmente a que se
pueden desarrollar nuevos módulos que desarrollen tareas adicionales e incorporarlos
en el esquema coherente y organizado que ya se tiene.
Aunque todas esas ventajas son razones suficientes para usar módulos, la razón más
importante, relacionada con la solución de problemas numéricos en ingeniería, es que
permiten tener una biblioteca de módulos útiles para posteriores usos en otros programas.
Ésta será la filosofía de la presente obra: todos los algoritmos serán presentados como
módulos.
El procedimiento anterior se ilustra en la figura 2.7 que muestra una función desa-
rrollada para usar el método de Euler. Observe que esa función y las versiones previas
difieren en cómo manipulan la entrada y la salida (input/output). En las versiones ante-
riores directamente la entrada viene (mediante el INPUT) del usuario, y la salida va
(mediante el DISPLAY) al usuario. En la función, se le da la entrada a ésta mediante su
lista de argumentos FUNCTION
2.3 PROGRAMACIÓN MODULAR 37
38 PROGRAMACIÓN Y SOFTWARE
Function Euler(dt, ti, tf, yi)
FIGURA 2.7
Seudocódigo para una
función que resuelve una
ecuación diferencial usando
el método de Euler.
FUNCTION Euler(dt, ti, tf, yi)
t = ti
y = yi
h = dt
DO
IF t + dt  tf THEN
h = tf — t
ENDIF
dydt = dy(t, y)
y = y + dydt * h
t = t + h
IF t ≥ tf EXIT
ENDDO
Euler = y
END
y la salida es regresada mediante una asignación
y = Euler(dt, ti, tf, yi)
Observe, además, lo general que se ha vuelto esta rutina. No se hace para nada re-
ferencia al caso específico del paracaidista. Por ejemplo, dentro de la función, en lugar
de llamar a la variable dependiente v, de velocidad, se le nombra y, de manera más ge-
neral. Asimismo, note que la derivada no se calcula mediante una ecuación explícita
dentro de la función. En lugar de ello se llama a otra función dy para calcularla, lo cual
indica el hecho de que podemos usar esta función en muchos problemas distintos, además
de encontrar la velocidad del paracaidista.
2.4 EXCEL
Excel es una hoja de cálculo producida por Microsoft Inc. Las hojas de cálculo son un
tipo especial de software para matemáticas que permite al usuario ingresar y realizar
cálculos en renglones y columnas de datos. Como tales, son una versión computarizada
de una gran hoja de contabilidad en la que se lleva a cabo una gran cantidad de cálculos
interrelacionados. Puesto que cuando se modifica un valor de la hoja, hay que actualizar
todos los cálculos, las hojas de cálculo son ideales para hacer análisis del tipo “¿y qué
pasa si...?”
Excel cuenta con varios recursos numéricos interconstruidos como resolución de
ecuaciones, ajuste de curvas y optimización. Incluye también VBA como un lenguaje de
macro que sirve para hacer cálculos numéricos. Por último, tiene varias herramientas
para la visualización como diagramas y gráficas tridimensionales, que son un valioso
complemento para el análisis numérico. En esta sección mostraremos cómo se utilizan
estos recursos en la solución del problema del paracaidista.
Para ello, construimos primero una hoja de cálculo sencilla. Como se ve abajo, el
primer paso consiste en colocar números y letras o palabras en las celdas de la hoja de
cálculo.
Antes de escribir un programa de macro para calcular el valor numérico, podemos
facilitar el trabajo consecuente dando nombres a los valores de los parámetros. Para esto,
seleccione las celdas A3:B5 (la manera más fácil de hacerlo es mover el ratón hasta A3,
mantener oprimido el botón izquierdo del ratón y arrastrarlo hasta B5). Después selec-
cione, del menú,
Insert Name Create Left column OK
Para verificar que todo haya funcionado correctamente, seleccione la celda B3 y verifi-
que que aparezca la etiqueta “m” en la casilla del nombre (casilla que se encuentra en el
lado izquierdo de la hoja, justo debajo de las barras del menú).
Muévase hasta la celda C8 e introduzca la solución analítica (ecuación 1.9),
=9.8*m/cd*(1-exp(-cd/m*A8))
Al introducir esta fórmula debe aparecer el valor 0 en la celda C8. Después copie la
fórmula a la celda C9 para obtener 16.405 m/s.
Todo lo anterior es típico del uso estándar de Excel. Hecho esto, podría, por
ejemplo, cambiar los valores de los parámetros y observar cómo se modifica la so-
lución analítica.
Ahora mostraremos cómo se usan las macros de VBA para extender los recursos
estándar. En la figura 2.8 se da una lista que contiene, para cada una de las estructuras
de control dadas en la sección anterior (figuras 2.2 a 2.6), el seudocódigo junto con el
código VBA de Excel. Observe que, aunque los detalles difieren, la estructura del seu-
docódigo y la del código VBA son idénticas.
Ahora podemos usar algunas de las construcciones dadas en la figura 2.8 para es-
cribir una función de macro que calcule la velocidad. Para abrir VBA seleccione4
Tools Macro Visual Basic Editor
4
¡La combinación de las teclas Alt-F11 es más rápida!
A B C D
1 Problema del paracaidista
2
3 m 68.1 kg
4 cd 12.5 kg/s
5 dt 0.1 s
6
7 t vnum (m/s) vanal (m/s)
8 0 0.000
9 2
2.4 EXCEL 39
40 PROGRAMACIÓN Y SOFTWARE
a) Seudocódigo b) Excel VBA
IF/THEN:
IF condición THEN If b  0 Then
Bloque verdadero r1 = —c / b
ENDIF End If
IF/THEN/ELSE:
IF condición THEN If a  0 Then
Bloque verdadero b = Sqr(Abs(a))
ELSE Else
Bloque falso b = Sqr(a)
ENDIF End If
IF/THEN/ELSEIF:
IF condición1
THEN If class = 1 Then
Bloque1
x = x + 8
ELSEIF condición2
ElseIf class  1 Then
Bloque2
x = x – 8
ELSEIF condición3
ElseIf class  10 Then
Bloque3
x = x — 32
ELSE Else
Bloque4
x = x — 64
ENDIF End If
CASE:
SELECT CASE Expresión de prueba Select Case a + b
CASE Valor1
Case Is  —50
Bloque1
x = —5
CASE Valor2
Case Is  0
Bloque2
x = —5 — (a + b) / 10
CASE Valor3
Case Is  50
Bloque3
x = (a + b) / 10
CASE ELSE Case Else
Bloque4
x = 5
END SELECT End Select
DOEXIT:
DO Do
Bloque1
i = i + 1
IF condición EXIT If i = 10 Then Exit Do
Bloque2
j = i*x
ENDIF Loop
LOOP CONTROLADO POR CONTADOR:
DOFOR i = inicio, fin, incremento For i = 1 To 10 Step 2
Bloque x = x + i
ENDDO Next i
FIGURA 2.8
Estructuras de control funda-
mentales en a) seudo-
código y b) VBA de Excel.
Una vez dentro del Visual Basic Editor (VBE), seleccione
Insert Module
y se abrirá una nueva ventana para código. La siguiente función en VBA se puede obte-
ner directamente del seudocódigo de la figura 2.7. Escriba la función dentro de la nueva
ventana.
Option Explicit
Function Euler(dt, ti, tf, yi, m, cd)
Dim h As Single, t As Single, y As Single, dydt As Single
t = ti
y = yi
h = dt
Do
If t + dt  tf Then
h = tf – t
End If
dydt = dy(t, y, m, cd)
y = y + dydt * h
t = t + h
If t = tf Then Exit Do
Loop
Euler = y
End Function
Compare esta macro con el seudocódigo de la figura 2.7 y vea que son muy simila-
res. Observe también cómo la lista de argumentos de la función se hizo más larga al
incluir los parámetros necesarios para el modelo de la velocidad del paracaidista. La
velocidad obtenida, v, pasa a la hoja de cálculo mediante el nombre de la función.
Note también cómo, para calcular la derivada, hemos usado otra función. Ésta se
puede introducir en el mismo módulo tecleándola directamente debajo de la función
Euler,
Function dy(t, v, m, cd)
Const g As Single = 9.8
dy = g – (cd / m) * v
End Function
El paso final consiste en volver a la hoja de cálculo y llamar a la función introdu-
ciendo la siguiente expresión en la celda B9.
=Euler(dt,A8,A9,B8,m,cd)
El resultado de la integración numérica, 16.531, aparecerá en la celda B9.
Vamos a ver qué ha pasado aquí. Cuando usted da la función en la celda de la hoja
de cálculo, los parámetros pasan al programa VBA, donde se realizan los cálculos y,
después, el resultado regresa a la celda. En efecto, el lenguaje de macros VBA le permi-
te usar Excel como mecanismo de entradas y salidas (input/output). Esta característica
resulta de mucha utilidad.
2.4 EXCEL 41
42 PROGRAMACIÓN Y SOFTWARE
Por ejemplo, ahora que ya tiene todos los cálculos, puede jugar con ellos. Suponga
que el paracaidista fuera mucho más pesado, digamos, m = 100 kg (alrededor de 200
libras). Introduzca 100 en la celda B3 y la hoja de cálculo se modificará de inmediato
mostrando el valor 17.438 en la celda B9. Cambie la masa nuevamente a 68.1 kg y el
resultado anterior, 16.531 reaparecerá de forma automática en la celda B9.
Ahora vayamos un poco más adelante dando algunos valores más para el tiempo.
Introduzca los números 4, 6, …, 16 en las celdas A10 a A16. Después copie las fórmulas
de las celdas B9:C9 hacia abajo en los renglones 10 a 16. Observe cómo el programa
VBA calcula correctamente los resultados numéricos en cada uno de los nuevos renglo-
nes. (Para verificar esto cambie el valor de dt por 2 y compare los resultados con los
cálculos a mano obtenidos anteriormente, en el ejemplo 1.2.) Para mejorar la presentación
se pueden graficar los resultados en un plano x-y usando Excel Chart Wizard.
Arriba se muestra la hoja de cálculo resultante. Hemos creado una valiosa herra-
mienta para la solución de problemas. Puede realizar un análisis de sensibilidad cam-
biando los valores de cada uno de los parámetros. Cada vez que se introduce un nuevo
valor, se modificarán automáticamente los cálculos y la gráfica. Tal característica de
interactividad es lo que hace tan potente a Excel. No obstante, se debe reconocer que
resolver este problema dependerá de la habilidad para escribir el macro en VBA.
La combinación del ambiente de Excel con el lenguaje de programación VBA nos
abre un mundo de posibilidades para la solución de problemas en ingeniería. En los
capítulos siguientes ilustraremos cómo se logra esto.
2.5 MATLAB
MATLAB es el principal producto de software de Mathworks, Inc., fundada por los analistas
numéricos Cleve Moler y John N. Little. Como su nombre lo indica, MATLAB se
desarrolló originalmente como un laboratorio para matrices. Hoy, el elemento principal
1 Problema del paracaidista
2
3 m 68.1 kg
4 cd 12.5 kg/s
5 dt 0.1 s
6
7 t vmun (m/s) vanal (m/s)
8 0 0.000 0.000
9 2 16.531 16.405
10 4 27.943 27.769
11 6 35.822 35.642
12 8 41.262 41.095
13 10 45.017 41.873
14 12 47.610 47.490
15 14 49.400 49.303
16 16 50.635 50.559
17
18
A B C D E F G H
60
50
40
30
20
10
0
0 10 20
vnum (m/s)
vanal (m/s)
de MATLAB sigue siendo la matriz. La manipulación matemática de matrices se ha
realizado muy adecuadamente en un ambiente interactivo fácil de utilizar. A esta mani-
pulación matricial, MATLAB agrega varias funciones numéricas, cálculos simbólicos
y herramientas para visualización. En consecuencia, la versión actual representa un
ambiente computacional bastante amplio.
MATLAB tiene diferentes funciones y operadores que permiten la adecuada reali-
zación de los métodos numéricos que aquí desarrollamos. Éstos se describirán con de-
talle en los capítulos siguientes. Además, se pueden escribir programas como los
llamados archivos M (m-files) que sirven para realizar cálculos numéricos. Vamos a
explorar cómo funciona.
Primero, usted se dará cuenta de que el uso normal de MATLAB está estrechamen-
te relacionado con la programación. Supongamos, por ejemplo, que queremos determi-
nar la solución analítica al problema del paracaidista, lo cual haríamos con los
siguientes comandos de MATLAB
 g=9.8;
 m=68.1;
 cd=12.5;
 tf=2;
 v=g*m/cd*(1-exp(-cd/m*tf))
obteniéndose como resultado
v =
16.4050
La secuencia de comandos es como la secuencia de instrucciones en un lenguaje de
programación típico.
Pero, ¿qué ocurre si usted se quiere desviar de la estructura secuencial? Aunque hay
algunos caminos bien definidos para establecer recursos no secuenciales en el modo
estándar de comandos, para introducir decisiones y loops, lo mejor es crear un docu-
mento de MATLAB al que se le llama archivo-m (m-file). Para hacer esto haga clic en
File New Mfile
y se abrirá una ventana nueva con el encabezado “MATLAB Editor/Debugger”. En esta
ventana usted puede escribir y editar programas en MATLAB. Escriba ahí el código
siguiente:
g=9.8;
m=68.1;
cd=12.5;
tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
Obsérvese que los comandos se escriben exactamente en la misma forma en que se
haría en el extremo frontal de MATLAB. Guarde el programa con el mismo nombre:
analpara. MATLAB agregará en forma automática la extensión .m para denotar que se
trata de un archivo M: analpara.m.
Para correr el programa, se debe regresar al modo de comando. La forma más di-
recta de efectuar esto consiste en hacer clic en el botón “MATLAB Command Window”
2.5 MATLAB 43
44 PROGRAMACIÓN Y SOFTWARE
que se encuentra en la barra de tareas (que por lo general está en la parte inferior de la
pantalla).
Ahora, el programa se puede correr al hacer clic en el archivo M, analpara, que debe
parecerse a lo siguiente:
 analpara
Si usted ha hecho todo en forma correcta, MATLAB debe responder con la respuesta
correcta:
v =
16.4050
Ahora, un problema con lo anterior es que está preparado para calcular sólo un caso.
El lector lo puede hacer más flexible si hace que el usuario introduzca algunas de las
variables. Por ejemplo, suponga que desea evaluar el efecto de la masa sobre la velocidad
a los 2 s. Para hacer esto, el archivo M podría reescribirse como sigue:
g=9.8;
m=input(‘masa (kg):’);
cd=12.5;
tf=2;
v=g*m/cd*(1-exp(-cd/m*tf))
Guarde esto con el nombre de analpara2.m. Si escribió analpara2 mientras se encontra-
ba en el modo de comando, la línea mostrará lo que sigue:
masa (kg):
Entonces, el usuario introduce un valor como 100, y el resultado aparecerá como:
v =
17.3420
Ahora, debe quedar bastante claro cómo se puede programar una solución numéri-
ca por medio de un archivo M. A fin de hacerlo, primero debemos entender la manera
en que MATLAB maneja las estructuras lógica y de lazo (ciclos o loops). En la figura
2.9 se enlista el seudocódigo junto con el código de MATLAB para todas las estructuras
de control, con base en la sección anterior. Aunque las estructuras del seudocódigo y el
código MATLAB son muy similares, existen algunas diferencias pequeñas que deben
destacarse.
En especial, observe cómo hemos expresado la estructura DOEXIT. En lugar del
DO usamos el WHILE(1). Como MATLAB interpreta al número 1 como correspon-
diente a “verdadero”, esta instrucción se repetirá indefinidamente de la misma manera
que el DO. El loop termina con un comando de interrupción (break), el cual transfiere
el control a la instrucción que se encuentra a continuación, de la instrucción end que
termina el ciclo.
También hay que observar que los parámetros del lazo controlado por contador
están ordenados de modo diferente. Para el seudocódigo, los parámetros del lazo están
a) Seudocódigo b) MATLAB
IF/THEN:
IF condición THEN if b ~= 0
Bloque verdadero r1 = —c / b;
ENDIF end
IF/THEN/ELSE:
IF condición THEN if a  0
Bloque verdadero b = sqrt(abs(a));
ELSE else
Bloque falso b = sqrt(a);
ENDIF end
IF/THEN/ELSEIF:
IF condición1
THEN if class == 1
Bloque1
x = x + 8;
ELSEIF condición2
elseif class  1
Bloque2
x = x – 8;
ELSEIF condición3
elseif class  10
Bloque3
x = x — 32;
ELSE else
Bloque4
x = x — 64;
ENDIF end
CASE:
SELECT CASE Expresión de prueba switch a + b
CASE Valor1
case 1
Bloque1
x = —5;
CASE Valor2
case 2
Bloque2
x = —5 — (a + b) / 10;
CASE Valor3
case 3
Bloque3
x = (a + b) / 10;
CASE ELSE otherwise
Bloque4
x = 5;
END SELECT end
DOEXIT:
DO while (1)
Bloque1
i = i + 1;
IF condición EXIT if i = 10, break, end
Bloque2
j = i*x;
ENDIF end
LOOP CONTROLADO POR CONTADOR:
DOFOR i = inicio, fin, incremento for i = 1:10:2
Bloque x = x + i;
ENDO end
FIGURA 2.9
Estructuras de control
fundamentales en a) seudo-
código y b) lenguaje de
programación en MATLAB.
2.5 MATLAB 45
46 PROGRAMACIÓN Y SOFTWARE
especificados como start, finish, step. Para MATLAB, los parámetros están
ordenados como start:step:finish.
Ahora el siguiente archivo-m de MATLAB se puede desarrollar directamente, a
partir del seudocódigo dado en la figura 2.7. Escriba lo siguiente en el Editor/Debugger
de MATLAB:
g=9.8;
m=input(‘mass (kg):’);
cd=12.5;
ti=0;
tf=2;
vi=0;
dt=0.1;
t = ti;
v = vi;
h = dt;
while (1)
if t + dt  tf
h = tf – t;
end
dvdt = g – (cd / m) * v;
v = v + dvdt * h;
t = t + h;
if t = tf, break, end
end
disp(‘velocity (m/s):’)
disp(v)
Guarde este archivo como numpara.m, vuelva al modo de comandos y córralo dando
numpara. Obtendrá la siguiente salida:
masa (kg): 100
velocity (m/s):
17.4381
Por último vamos a convertir este archivo-m en una función. Esto se puede hacer
en el siguiente archivo-m basado en el seudocódigo de la figura 2.7:
function euler = f(dt,ti,tf,yi,m,cd)
t = ti;
y = yi;
h = dt;
while (1)
if t + dt  tf
h = tf – t;
end
dydt = dy(t, y, m, cd);
y = y + dydt * h;
t = t + h;
if t = tf, break, end
end
yy = y;
Guarde este archivo como euler.m y después cree otro archivo-m para calcular la deri-
vada,
function dydt = dy(t, v, m, cd)
g = 9.8;
dydt = g – (cd / m) * v;
Guarde este archivo como dy.m y regrese al modo de comandos. Para llamar la función
y ver el resultado, teclee los siguientes comandos
 m=68.1;
 cd=12.5;
 ti=0;
 tf=2.;
 vi=0;
 dt=0.1;
 euler(dt,ti,tf,vi,m,cd)
Una vez dado el último comando, se desplegará el resultado
ans =
16.5309
La combinación del ambiente de MATLAB con el lenguaje de programación para
los archivos-m nos abre un mundo de posibilidades para la solución de problemas en
ingeniería. En el siguiente capítulo veremos cómo se hace esto.
2.6 OTROS LENGUAJES Y BIBLIOTECAS
En la sección anterior mostramos cómo se escribe una función en Excel o MATLAB,
para el método de Euler, a partir de un algoritmo expresado en seudocódigo. Funciones
semejantes se escriben en los lenguajes de alto nivel como Fortran 90 y C++. Por ejem-
plo, una función en Fortran 90 para el método de Euler es
Function Euler(dt, ti, tf, yi, m, cd)
REAL dt, ti, tf, yi, m, cd
Real h, t, y, dydt
t = ti
y = yi
h = dt
Do
If (t + dt  tf) Then
h = tf – t
End If
dydt = dy(t, y, m, cd)
y = y + dydt * h
t = t + h
If (t = tf) Exit
End Do
2.6 OTROS LENGUAJES Y BIBLIOTECAS 47
48 PROGRAMACIÓN Y SOFTWARE
Euler = y
End Function
En C el resultado sería bastante similar a la función escrita en MATLAB. El punto
es que una vez que se ha desarrollado bien un algoritmo estructurado en seudocódigo, es
fácil implementarlo en diversos ambientes de programación.
En este libro daremos al lector procedimientos bien estructurados escritos en seu-
docódigo. Esta colección de algoritmos constituirá una biblioteca numérica, que se
puede usar para realizar tareas numéricas específicas con diversas herramientas de soft-
ware y lenguajes de programación.
Además de tener sus propios programas, usted debe recordar que las bibliotecas
comerciales de programación tienen muchos procedimientos numéricos útiles. Por
ejemplo, la biblioteca Numerical Recipe contiene una gran variedad de algoritmos es-
critos en Fortran y C.5
Estos procedimientos se describen tanto en libros (por ejemplo,
Press et al., 1992) como en forma electrónica.
En Fortran, la IMSL (International Mathematical and Statistical Library) ofrece más
de 700 procedimientos que comprenden todas las áreas numéricas cubiertas en este libro.
Dada la amplia divulgación de Fortran en la ingeniería, incluimos algunas aplicaciones
de IMSL.
5
Los procedimientos Numerical Recipe también están disponibles en
libro y en formato electrónico para Pascal, MS BASIC y MATLAB. En
http://www.nr.com se puede encontrar la información sobre todos los
productos Numerical Recipe.
2.1 Escriba el seudocódigo para implementar el diagrama de
flujo que se ilustra en la figura P2.1. Asegúrese de incluir la in-
dentación apropiada para que la estructura sea clara.
2.2 Vuelva a escribir el seudocódigo siguiente, con el uso de la
indentación apropiada.
DO
i = i + 1
IF z  50 EXIT
x = x + 5
IF x  5 THEN
y = x
ELSE
y = 0
ENDIF
z = x + y
ENDDO
PROBLEMAS
Figura P2.1
F
F
F
T
T
T
x = 7.5 x = 5
x = x – 5
x  50
x  5
x ≥ 10
2.3 En cada una de las tarjetas de un conjunto de cartas índice,
se registra un valor para la concentración de un contaminante en
un lago.Al final del conjunto, se coloca una carta marcada como
“fin de los datos”. Escriba un algoritmo para determinar la suma,
el promedio y el máximo de dichos valores.
2.4 Escriba un diagrama de flujo estructurado para el proble-
ma 2.3.
2.5 Desarrolle, depure y documente un programa para determinar
las raíces de una ecuación cuadrática, ax2
+ bx + c, en cualquier
lenguaje de alto nivel, o de macros, de su elección. Utilice un
procedimiento de subrutina para calcular las raíces (sean reales o
complejas). Ejecute corridas de prueba para los casos en que a) a
= 1, b = 6, c = 2; b) a = 0, b = –4, c = 1.6; c) a = 3, b = 2.5, c = 7.
2.6 La función coseno puede evaluarse por medio de la serie
infinita siguiente:
cos x
x x x
= − + − +
1
2 4 6
2 4 6
! ! !

Escriba un algoritmo para implementar esta fórmula de modo
que calcule e imprima los valores de cos x conforme se agregue
cada término de la serie. En otras palabras, calcule e imprima la
secuencia de valores para
cos
cos
cos
x
x
x
x
x x
=
= −
= − +
1
1
2
1
2 4
2
2 4
!
! !
hasta el término de orden n que usted elija. Para cada uno de los
valores anteriores, calcule y haga que se muestre el error porcen-
tual relativo:
% %
error =
valor verdadero – aproximación con la serie
valor verdadero
×100
2.7 Escriba el algoritmo para el problema 2.6 en forma de a)
diagrama de flujo estructurado, y b) seudocódigo.
2.8 Desarrolle, depure y documente un programa para el problema
2.6 en cualquier lenguaje de alto nivel o de macros, de su elección.
Emplee la función coseno de la biblioteca de su computadora para
determinar el valor verdadero. Haga que el programa imprima en
cada paso la serie de aproximación y el error. Como caso de prue-
ba, utilice el programa para calcular valores desde cos(1.25) hasta
incluir el término x10
/10! Interprete los resultados.
2.9 El algoritmo siguiente está diseñado para determinar la ca-
lificación de un curso que consiste en cuestionarios, tareas y un
examen final:
Paso 1: Introducir la clave y nombre del curso.
Paso 2: Introducir factores de ponderación para los cuestionarios
(C), tareas (T) y examen final (E).
Paso 3: Introducir las calificaciones de las preguntas y determi-
nar su promedio (PC).
Paso 4: Introducir las calificaciones de las tareas y determinar
su promedio (PT).
Paso 5: Si el curso tiene una calificación final, continuar con el
paso 6. Si no, ir al paso 9.
Paso 6: Introducir la calificación del examen final, (F).
Paso 7: Determinar la calificación promedio, CP, de acuerdo
con
CP
C PC T PT E F
C T E
=
× + × + ×
+ +
( )
×
( )
%
100
Paso 8: Ir al paso 10.
Paso 9: Determinar la calificación promedio, CP, de acuerdo
con
CP
C PC T PT
C T
=
× + ×
+
( )
×
( )
%
100
Paso 10: Imprimir la clave y nombre del curso, y la calificación
promedio.
Paso 11: Finalizar el cálculo.
a) Escriba un seudocódigo bien estructurado para implementar
este algoritmo.
b) Escriba, depure y documente un programa estructurado de
computadora basado en este algoritmo. Pruébelo con los
datos siguientes para calcular una calificación sin el examen
final, y otra con éste. C = 35; T = 30; E = 35; cuestionario
= 98, 85, 90, 65 y 99; tareas = 95, 90, 87, 100, 92 y 77; y
examen final = 92.
2.10 El método antiguo de dividir y promediar, para obtener el
valor aproximado de la raíz cuadrada de cualquier número posi-
tivo a se puede formular como
x
x a x
=
+ /
2
a) Escriba un seudocódigo bien estructurado para implementar
este algoritmo como se ilustra en la figura P2.10. Utilice la
indentación apropiada para que la estructura sea clara.
b) Desarrolle, depure y documente un programa para imple-
mentar esta ecuación en cualquier lenguaje de algo nivel, o
de macros, de su elección. Estructure su código de acuerdo
con la figura P2.10.
2.11 Se invierte cierta cantidad de dinero en una cuenta en la
que el interés se capitaliza al final del periodo. Debe determinar-
se el valor futuro, F, que se obtiene con cierta tasa de interés, i,
después de n periodos, por medio de la fórmula siguiente:
F = P (1 + i)n
PROBLEMAS 49
50 PROGRAMACIÓN Y SOFTWARE
Escriba un programa que calcule el valor futuro de una inversión
para cada año, desde 1 hasta n. La entrada para la función debe
incluir la inversión inicial, P, la tasa de interés, i (en forma de-
cimal), y el número de años, n, para el que ha de calcularse el
valor futuro. La salida debe consistir en una tabla con encabeza-
dos y columnas para n y F. Corra el programa para P = $100000,
i = 0.06, y n = 5 años.
2.12 Las fórmulas económicas están disponibles para calcular
los pagos anuales de préstamos. Suponga que obtiene en présta-
mo cierta cantidad de dinero P y acuerda devolverla en n pagos
anuales con una tasa de interés de i. La fórmula para calcular el
pago anual A es:
A P
i i
i
n
n
=
+
+ −
( )
( )
1
1 1
Escriba un programa para calcular A. Pruébelo con P = $55000
y una tasa de interés de 6.6% (i = 0.066). Calcule los resultados
para n = 1, 2, 3, 4 y 5, y muestre los resultados en forma de tabla
con encabezados y columnas para n y A.
2.13 La temperatura promedio diaria para cierta área se aproxi-
ma por medio de la función siguiente,
T = Tmedia
+ (Tmáxima
– Tmedia
) cos(w(t – tmáxima
))
donde Tmedia
= temperatura promedio anual, tmáxima
= temperatura
máxima, w = frecuencia de la variación anual (= 2π/365), y
tmáxima
= día de la temperatura máxima (≅ 205 d). Desarrolle un
programa que calcule la temperatura promedio entre dos días del
año para una ciudad en particular. Pruébelo para a) enero-febre-
ro (t = 0 a 59) en Miami, Florida (Tmedia
= 22.1ºC; Tmáxima
= 28.3ºC),
y b) julio-agosto (t = 180 a 242) en Boston, Massachussetts
(Tmedia
= 10.7ºC; Tmáxima
= 22.9ºC).
2.14 Desarrolle, depure y pruebe un programa en cualquier len-
guaje de alto nivel, o de macros, de su elección, a fin de calcular
la velocidad del paracaídas que cae como se explicó en el ejemplo
1.2. Diseñe el programa de modo que permita al usuario introducir
valores para el coeficiente de arrastre y la masa. Pruebe el progra-
ma con la reproducción de los resultados del ejemplo 1.2. Repita
el cálculo pero utilice tamaños de paso de 1 y 0.5 s. Compare sus
resultados con la solución analítica que se obtuvo previamente, en
el Ejemplo 1.1. Un tamaño de paso más pequeño, ¿hace que los
resultados sean mejores o peores? Explique sus resultados.
2.15 El método de la burbuja es una técnica de ordenamiento
ineficiente pero fácil de programar. La idea que subyace al orde-
namiento consiste en avanzar hacia abajo a través de un arreglo,
comparar los pares adyacentes e intercambiar los valores si no
están en orden. Para que este método ordene por completo un
arreglo, es necesario que lo recorra muchas veces. Conforme se
avanza para un ordenamiento en orden ascendente, los elementos
más pequeños del arreglo parecen ascender como burbujas.
Eventualmente, habrá un paso por el arreglo que ya no requiera
intercambios. En ese momento, el arreglo estará ordenado. Des-
pués del primer paso, el valor más grande cae directamente
hasta el fondo. En consecuencia, el segundo paso sólo tiene que
proceder del segundo al último valor, y así sucesivamente. De-
sarrolle un programa que tome un arreglo de 20 números al azar
y los ordene en forma ascendente con la técnica de la burbuja
(véase la figura P2.15).
2.16 En la figura P2.16 se muestra un tanque cilíndrico con base
cónica. Si el nivel del líquido está muy bajo en la parte cónica,
el volumen simplemente es el volumen del cono de líquido. Si el
nivel del líquido está entre la parte cilíndrica, el volumen total
de líquido incluye la parte cónica llena y la parte cilíndrica par-
cialmente llena. Escriba un procedimiento bien estructurado de
función para calcular el volumen del tanque como función de los
valores dados de R y d. Utilice estructuras de control de decisio-
nes (como If/Then, Elself, Else, End If). Diseñe la función de
modo que produzca el volumen en todos los casos en los que la
profundidad sea menor que 3R. Genere un mensaje de error
(“Sobrepasado”) si se rebasa la altura del tanque, es decir, d 
3R. Pruébelo con los datos siguientes:
R 1 1 1 1
d 0.5 1.2 3.0 3.1
F
F
T
T
Raíz cuadrada = 0
Raíz cuadrada = x
y = (x + a/x)/2
e = |(y – x)/y|
x = y
tol = 105
x = a/2
a  0
e  tol
Figura P2.10
r x y
= +
2 2
Si las coordenadas quedan dentro del primer o cuarto cuadrante
(p. ej., x  0), entonces se emplea una fórmula sencilla para el
cálculo de q:
θ =
⎛
⎝
⎞
⎠
tan–1 y
x
La dificultad surge en los demás casos. La tabla siguiente resume
las posibilidades:
x y θ
0 0 tan–1
(y/x) + p
0 0 tan–1
(y/x) – p
0 =0 p
=0 0 p/2
=0 0 – p/2
=0 =0 0
a) Escriba un diagrama de flujo bien estructurado para un pro-
cedimiento de subrutina a fin de calcular r y q como función
de x y y. Exprese los resultados finales para q, en grados.
b) Escriba una procedimiento bien estructurado de función con
base en el diagrama de flujo. Pruebe el programa de modo
que se llene la tabla que sigue:
x y r θ
1 0
1 1
0 1
–1 1
–1 0
–1 –1
0 –1
1 –1
0 0
PROBLEMAS 51
2R
R
d
Figura P2.16
Figura P2.15
T
T
T
F
F
F
m = n – 1
cambio = falso
cambio =
verdadero
m = m – 1
i = 1
i = i + 1
i  m
cambiar
ai ai+1
inicio
fin
ai  ai+1
No
cambiar
2.17 Se requieren dos distancias para especificar la ubicación
de un punto en relación con el origen en un espacio de dos di-
mensiones (Véase la figura P2.17):
• Las distancias horizontal y vertical (x, y) en coordenadas
cartesianas.
• El radio y el ángulo (r, q) en coordenadas radiales.
Es relativamente fácil calcular las coordenadas cartesianas (x, y)
sobre la base de las coordenadas polares (r, q). El proceso inverso
no es tan simple. El radio se calcula con la fórmula que sigue:
I
II
III IV
␪
r
x
y
Figura P2.17
52 PROGRAMACIÓN Y SOFTWARE
2.18 Desarrolle un procedimiento bien estructurado de función
que lea una calificación numérica entre 0 y 100 y devuelva una
letra, de acuerdo con el esquema siguiente:
Letra Criterio
A 90 ≤ calificación numérica ≤ 100
B 80 ≤ calificación numérica  90
C 70 ≤ calificación numérica  80
D 60 ≤ calificación numérica  70
F calificación numérica  60
2.19 Desarrolle un procedimiento bien estructurado de función
para determinar a) el factorial de un número; b) el valor más
pequeño de un vector, y c) el promedio de los valores de un
vector.
2.20 Desarrolle programas bien estructurados para a) determinar
la raíz cuadrada de la suma de los cuadrados de los elementos de
un arreglo bidimensional (p. ej., una matriz), y b) normalizar una
matriz por medio de dividir cada renglón entre el valor absolu-
to máximo en el renglón de modo que el elemento mayor en cada
renglón sea 1.
CAPÍTULO 3
Aproximaciones y errores
de redondeo
A causa de que la mayor parte de los métodos expuestos en este libro son muy sencillos
en su descripción y en sus aplicaciones, en este momento resulta tentador ir directamen-
te al cuerpo principal del texto y averiguar el empleo de dichas técnicas. Sin embargo,
entender el concepto de error es tan importante para utilizar en forma efectiva los mé-
todos numéricos que los dos siguientes capítulos se eligieron para tratar el tema.
La importancia de los errores se mencionó por primera vez en el análisis de la caí-
da del paracaidista en el capítulo 1. Recuerde que la velocidad de caída del paracaidista
se determinó por métodos analíticos y numéricos. Aunque con la técnica numérica se
obtuvo una aproximación a la solución analítica exacta, hubo cierta discrepancia o error,
debido a que los métodos numéricos dan sólo una aproximación. En realidad fuimos
afortunados en este caso porque teníamos la solución analítica que nos permitía calcular
el error en forma exacta. Pero en muchos problemas de aplicación en ingeniería no es
posible obtener la solución analítica; por lo tanto, no se pueden calcular con exactitud
los errores en nuestros métodos numéricos. En tales casos debemos usar aproximaciones
o estimaciones de los errores.
La mayor parte de las técnicas desarrolladas en este libro tienen la característica de
poseer errores. En primera instancia, esto puede parecer contradictorio, ya que no coin-
cide con la imagen que se tiene de una buena ingeniería. Los estudiantes y los practi-
cantes de la ingeniería trabajan constantemente para limitar este tipo de errores en sus
actividades. Cuando hacen un examen o realizan sus tareas, son sancionados, mas no
premiados por sus errores. En la práctica profesional, los errores llegan a resultar cos-
tosos y, en algunas ocasiones, catastróficos. Si una estructura o un dispositivo falla, esto
puede costar vidas.
Aunquelaperfecciónesunametadignadealabarse,esdifícil,sinoimposible,alcanzar-
la. Por ejemplo, a pesar de que el modelo obtenido mediante la segunda ley de Newton es una
aproximación excelente, en la práctica jamás predecirá con exactitud la caída del paracaidis-
ta. Fenómenos tales como la velocidad del viento y alguna ligera variación de la resistencia
delairedesviaríanlapredicción.Sitalesdesviacionessonsistemáticamentegrandesopeque-
ñas, habría entonces que formular un nuevo modelo. No obstante, si su distribución es alea-
toria y se agrupan muy cerca de la predicción, entonces las desviaciones se considerarían
insignificantes y el modelo parecerá adecuado. Las aproximaciones numéricas también pre-
sentan discrepancias similares en el análisis. De nuevo, las preguntas son: ¿qué tanto error se
presenta en los cálculos? y ¿es tolerable?
Este capítulo y el siguiente cubren aspectos básicos relacionados con la identificación,
cuantificación y minimización de dichos errores. En las primeras secciones se revisa la
información referente a la cuantificación de los errores. En seguida, se estudia uno de
54 APROXIMACIONES Y ERRORES DE REDONDEO
los dos errores numéricos más comunes: errores de redondeo. Los errores de redondeo
se deben a que la computadora tan sólo representa cantidades con un número finito de
dígitos. En el siguiente capítulo nos ocuparemos de otra clase importante de error: el de
truncamiento. Los errores de truncamiento representan la diferencia entre una formu-
lación matemática exacta de un problema y su aproximación obtenida por un método
numérico. Por último, se analizan los errores que no están relacionados directamente
con el método numérico en sí. Éstos son equivocaciones, errores de formulación o del
modelo, y la incertidumbre en la obtención de los datos, entre otros.
3.1 CIFRAS SIGNIFICATIVAS
En esta obra se trata de manera extensa con aproximaciones que se relacionan con el
manejo de números. En consecuencia, antes de analizar los errores asociados con los
métodos numéricos, es útil repasar algunos conceptos básicos referentes a la represen-
tación aproximada de los números mismos.
Cuando se emplea un número para realizar un cálculo, debe haber seguridad de que
pueda usarse con confianza. Por ejemplo, la figura 3.1 muestra un velocímetro y un
odómetro (contador de kilometraje) de un automóvil. Con un simple vistazo al velocí-
metro se observa que el vehículo viaja a una velocidad comprendida entre 48 y 49 km/h.
Como la aguja está más allá de la mitad entre las marcas del indicador, es posible ase-
gurar que el automóvil viaja aproximadamente a 49 km/h. Tenemos confianza en este
resultado, ya que dos o más individuos que hicieran esta lectura llegarían a la misma
conclusión. Sin embargo, supongamos que se desea obtener una cifra decimal en la es-
timación de la velocidad. En tal caso, alguien podría decir 48.8, mientras que otra per-
sona podría decir 48.9 km/h. Por lo tanto, debido a los límites del instrumento,
40
8 7 3 2 4
4
5
0 120
20
40
60
80
100
FIGURA 3.1
El velocímetro y el odómetro de un automóvil ejemplifican el concepto de cifras
significativas.
únicamente se emplean con confianza los dos primeros dígitos. Para estimaciones del
tercer dígito (o más allá) sólo se considerarían aproximaciones. Sería ridículo afirmar,
considerando el velocímetro de la figura, que el automóvil viaja a 48.8642138 km/h. En
contraste, el odómetro muestra hasta seis dígitos confiables. De la figura 3.1 se conclu-
ye que el automóvil ha recorrido un poco menos de 87324.5 km durante su uso. Aquí el
séptimo dígito (y los siguientes) resultan inciertos.
El concepto de cifras o dígitos significativos se ha desarrollado para designar for-
malmente la confiabilidad de un valor numérico. Las cifras significativas de un número
son aquellas que pueden utilizarse en forma confiable. Se trata del número de dígitos
que se ofrecen con certeza, más uno estimado. Por ejemplo, el velocímetro y el odóme-
tro de la figura 3.1 muestran lecturas de hasta tres y siete cifras significativas, respecti-
vamente. Para el velocímetro, los dos dígitos seguros son 48. Por convención al dígito
estimado se le da el valor de la mitad de la escala menor de división en el instrumento
de medición. Así, la lectura del velocímetro consistirá de las tres cifras significati-
vas: 48.5. En forma similar, el odómetro dará una lectura con siete cifras significativas,
87324.45.
Aunque, por lo común, determinar las cifras significativas de un número es un
procedimiento sencillo, en algunos casos genera cierta confusión. Por ejemplo, los ceros
no siempre son cifras significativas, ya que pueden usarse sólo para ubicar el punto
decimal: los números 0.00001845, 0.0001845 y 0.001845 tienen cuatro cifras significa-
tivas. Asimismo, cuando se incluye ceros en números muy grandes, no queda claro
cuántos son significativos. Por ejemplo, el número 45300 puede tener tres, cuatro o
cinco dígitos significativos, dependiendo de si los ceros se conocen o no con exactitud.
La incertidumbre se puede eliminar utilizando la notación científica, donde 4.53 × 104
,
4.530 × 104
, 4.5300 × 104
muestran, respectivamente, que el número tiene tres, cuatro y
cinco cifras significativas.
El concepto de cifras significativas tiene dos implicaciones importantes en el estu-
dio de los métodos numéricos.
1. Como se mencionó en el problema de la caída del paracaidista, los métodos nu-
méricos dan resultados aproximados. Por lo tanto, se deben desarrollar criterios
para especificar qué tan confiables son dichos resultados. Una manera de hacerlo
es en términos de cifras significativas. Por ejemplo, es posible afirmar que la
aproximación es aceptable siempre y cuando sea correcta con cuatro cifras signi-
ficativas.
2. Aunque ciertas cantidades tales como p, e, o 7 representan cantidades específicas,
no se pueden expresar exactamente con un número finito de dígitos. Por ejemplo,
p = 3.141592653589793238462643...
hasta el infinito. Como las computadoras retienen sólo un número finito de cifras
significativas, tales números jamás se podrán representar con exactitud.Ala omisión
del resto de cifras significativas se le conoce como error de redondeo.
Los errores de redondeo y el uso de cifras significativas para expresar nuestra con-
fianza en un resultado numérico se estudiarán con mayor detalle en las siguientes sec-
ciones. Además, el concepto de cifras significativas tendrá mucha importancia en la
definición de exactitud y de precisión en la siguiente sección.
3.1 CIFRAS SIGNIFICATIVAS 55
56 APROXIMACIONES Y ERRORES DE REDONDEO
3.2 EXACTITUD Y PRECISIÓN
Los errores en cálculos y medidas se pueden caracterizar con respecto a su exactitud y
su precisión. La exactitud se refiere a qué tan cercano está el valor calculado o medido
del valor verdadero. La precisión se refiere a qué tan cercanos se encuentran, unos de
otros, diversos valores calculados o medidos.
Estos conceptos se ilustran gráficamente utilizando la analogía con una diana en la
práctica de tiro. Los agujeros en cada blanco de la figura 3.2 se consideran como las
predicciones con una técnica numérica; mientras que el centro del blanco representa la
verdad. La inexactitud (conocida también como sesgo) se define como una desviación
sistemática del valor verdadero. Por lo tanto, aunque los disparos en la figura 3.2c están
más juntos que los de la figura 3.2a, los dos casos son igualmente inexactos, ya que
ambos se centran en la esquina superior izquierda del blanco. La imprecisión (también
llamada incertidumbre), por otro lado, se refiere a la magnitud en la dispersión de los
disparos. Por consiguiente, aunque las figuras 3.2b y 3.2d son igualmente exactas (esto
es, igualmente centradas respecto al blanco), la última es más precisa, pues los disparos
están agrupados en forma más compacta.
c)
a)
d)
b)
Aumenta la exactitud
Aumenta
la
precisión
FIGURA 3.2
Un ejemplo de puntería ilustra los conceptos de exactitud y precisión. a) Inexacto e impreci-
so; b) exacto e impreciso; c) inexacto y preciso; d) exacto y preciso.
Los métodos numéricos deben ser lo suficientemente exactos o sin sesgo para sa-
tisfacer los requisitos de un problema particular de ingeniería. También deben ser sufi-
cientemente precisos para ser adecuados en el diseño de la ingeniería. En este libro se
usa el término error para representar tanto la inexactitud como la imprecisión en las
predicciones. Con dichos conceptos como antecedentes, ahora analizaremos los factores
que contribuyen al error en los cálculos numéricos.
3.3 DEFINICIONES DE ERROR
Los errores numéricos surgen del uso de aproximaciones para representar operaciones
y cantidades matemáticas exactas. Éstas incluyen los errores de truncamiento que re-
sultan del empleo de aproximaciones como un procedimiento matemático exacto, y los
errores de redondeo que se producen cuando se usan números que tienen un límite de
cifras significativas para representar números exactos. Para ambos tipos de errores, la
relación entre el resultado exacto, o verdadero, y el aproximado está dada por
Valor verdadero = Valor aproximado + error (3.1)
Reordenando la ecuación (3.1) se encuentra que el error numérico es igual a la diferencia
entre el valor verdadero y el valor aproximado, es decir
Et = valor verdadero – valor aproximado (3.2)
donde Et se usa para denotar el valor exacto del error. El subíndice t indica que se trata
del error “verdadero” (true). Como ya se mencionó brevemente, esto contrasta con los
otros casos, donde se debe emplear una estimación “aproximada” del error.
Una desventaja en esta definición es que no toma en consideración el orden de la
magnitud del valor que se estima. Por ejemplo, un error de un centímetro es mucho más
significativo si se está midiendo un remache en lugar de un puente. Una manera de tomar
en cuenta las magnitudes de las cantidades que se evalúan consiste en normalizar el error
respecto al valor verdadero, es decir
error verdadero
Error relativo fraccional verdadero = ———————
valor verdadero
donde, como ya se mencionó en la ecuación (3.2), error = valor verdadero – valor aproxi-
mado. El error relativo también se puede multiplicar por 100% para expresarlo como
error verdadero
et = ——————— 100% (3.3)
valor verdadero
donde et denota el error relativo porcentual verdadero.
EJEMPLO 3.1 Cálculo de errores
Planteamiento del problema. Suponga que se tiene que medir la longitud de un
puente y la de un remache, y se obtiene 9999 y 9 cm, respectivamente. Si los valores
verdaderos son 10000 y 10 cm, calcule a) el error verdadero y b) el error relativo por-
centual verdadero en cada caso.
3.3 DEFINICIONES DE ERROR 57
58 APROXIMACIONES Y ERRORES DE REDONDEO
Solución
a) El error en la medición del puente es [ecuación (3.2)]
Et = 10000 – 9 999 = 1 cm
y en la del remache es de
Et = 10 – 9 = 1 cm
b) El error relativo porcentual para el puente es [ecuación (3.3)]
1
et = ——— 100% = 0.01%
10000
y para el remache es de
1
et = —– 100% = 10%
10
Por lo tanto, aunque ambas medidas tienen un error de 1 cm, el error relativo porcentual
del remache es mucho mayor. Se concluye entonces que se ha hecho un buen trabajo en
la medición del puente; mientras que la estimación para el remache dejó mucho que
desear.
Observe que en las ecuaciones (3.2) y (3.3), E y e tienen un subíndice t que signifi-
ca que el error ha sido normalizado al valor verdadero. En el ejemplo 3.1 teníamos el
valor verdadero. Sin embargo, en las situaciones reales a veces es difícil contar con tal
información. En los métodos numéricos, el valor verdadero sólo se conocerá cuando se
tengan funciones que se resuelvan analíticamente. Éste comúnmente será el caso cuan-
do se estudie el comportamiento teórico de una técnica específica para sistemas simples.
Sin embargo, en muchas aplicaciones reales, no se conoce a priori la respuesta verda-
dera. Entonces en dichos casos, una alternativa es normalizar el error, usando la mejor
estimación posible al valor verdadero; es decir, para la aproximación misma, como en
error aproximado
ea = —————–—— 100% (3.4)
valor aproximado
donde el subíndice a significa que el error está normalizado a un valor aproximado.
Observe también que en aplicaciones reales la ecuación (3.2) no se puede usar para
calcular el término del error de la ecuación (3.4). Uno de los retos que enfrentan los
métodos numéricos es el de determinar estimaciones del error en ausencia del conoci-
miento de los valores verdaderos. Por ejemplo, ciertos métodos numéricos usan un
método iterativo para calcular los resultados. En tales métodos se hace una aproximación
considerando la aproximación anterior. Este proceso se efectúa varias veces, o de forma
iterativa, para calcular en forma sucesiva, esperando cada vez mejores aproximaciones.
En tales casos, el error a menudo se calcula como la diferencia entre la aproximación
previa y la actual. Por lo tanto, el error relativo porcentual está dado por
aproximación actual – aproximación anterior
ea = ———————————————–——— 100% (3.5)
aproximación actual
En capítulos posteriores se explicarán con detalle éste y otros métodos para expresar
errores.
Los signos de las ecuaciones (3.2) a (3.5) pueden ser positivos o negativos. Si la
aproximación es mayor que el valor verdadero (o la aproximación previa es mayor que
la aproximación actual), el error es negativo; si la aproximación es menor que el valor
verdadero, el error es positivo. También en las ecuaciones (3.3) a (3.5), el denominador
puede ser menor a cero, lo cual también llevaría a un error negativo. A menudo, cuando
se realizan cálculos, no importa mucho el signo del error, sino más bien que su valor
absoluto porcentual sea menor que una tolerancia porcentual prefijada es. Por lo tanto,
es útil emplear el valor absoluto de las ecuaciones (3.2) a (3.5). En tales casos, los cálcu-
los se repiten hasta que
|ea|  es (3.6)
Si se cumple la relación anterior, entonces se considera que el resultado obtenido está
dentro del nivel aceptable fijado previamente es. Observe que en el resto del texto en
general emplearemos exclusivamente valores absolutos cuando utilicemos errores rela-
tivos.
Es conveniente también relacionar estos errores con el número de cifras significa-
tivas en la aproximación. Es posible demostrar (Scarborough, 1966) que si el siguiente
criterio se cumple, se tendrá la seguridad que el resultado es correcto en al menos n
cifras significativas.
es = (0.5 × 102–n
)% (3.7)
EJEMPLO 3.2 Estimación del error con métodos iterativos
Planteamiento del problema. En matemáticas con frecuencia las funciones se repre-
sentan mediante series infinitas. Por ejemplo, la función exponencial se calcula usando
x2
x3
xn
ex
= 1 + x + —– + —– +…+ —– (E3.2.1)
2! 3! n!
Así cuanto más términos se le agreguen a la serie, la aproximación será cada vez más
una mejor estimación del valor verdadero de ex
. La ecuación (E3.2.1) se conoce como
expansión en series de Maclaurin.
Empezando con el primer término ex
= 1 y agregando término por término, estime
el valor de e0.5
. Después de agregar cada término, calcule los errores: relativo porcentual
verdadero y normalizado a un valor aproximado usando las ecuaciones (3.3) y (3.5),
respectivamente. Observe que el valor verdadero es e0.5
= 1.648721… Agregue términos
hasta que el valor absoluto del error aproximado ea sea menor que un criterio de error
preestablecido es con tres cifras significativas.
Solución. En primer lugar la ecuación (3.7) se emplea para determinar el criterio de
error que asegura que un resultado sea correcto en al menos tres cifras significativas:
es = (0.5 × 102–3
)% = 0.05%
Por lo tanto, se agregarán términos a la serie hasta que ea sea menor que este valor.
3.3 DEFINICIONES DE ERROR 59
60 APROXIMACIONES Y ERRORES DE REDONDEO
La primera estimación es igual a la ecuación (E3.2.1) con un solo término. Entonces,
la primera estimación es igual a 1. La segunda estimación se obtiene agregando el se-
gundo término, así:
ex
= 1 + x
y para x = 0.5,
e0.5
= 1 + 0.5 = 1.5
Esto representa el error relativo porcentual verdadero de [ecuación (3.3)]
1.648721 – 1.5
et = —————–— 100% = 9.02%
1.648721
La ecuación (3.5) se utiliza para determinar una estimación aproximada del error, dada
por:
1.5 – 1
ea = ——— 100% = 33.3%
1.5
Como ea no es menor que el valor requerido es, se deben continuar los cálculos agregan-
do otro término, x2
/2!, repitiendo el cálculo del error. El proceso continúa hasta que ea
 es. Todos los cálculos se resumen de la siguiente manera
Términos Resultado εt (%) εa (%)
1 1 39.3
2 1.5 9.02 33.3
3 1.625 1.44 7.69
4 1.645833333 0.175 1.27
5 1.648437500 0.0172 0.158
6 1.648697917 0.00142 0.0158
Así, después de usar seis términos, el error aproximado es menor que es = 0.05%, y el
cálculo termina. Sin embargo, observe que, ¡el resultado es exacto con cinco cifras sig-
nificativas! en vez de tres cifras significativas. Esto se debe a que, en este caso, las ecua-
ciones (3.5) y (3.7) son conservadoras. Es decir, aseguran que el resultado es, por lo
menos, tan bueno como lo especifican. Aunque, como se analiza en el capítulo 6, éste no
es siempre el caso al usar la ecuación (3.5), que es verdadera en la mayoría de las veces.
Con las definiciones anteriores como antecedente, se procede ahora a examinar los
dos tipos de error relacionados directamente con los métodos numéricos: el error de
redondeo y el error de truncamiento.
3.4 ERRORES DE REDONDEO
Como se mencionó antes, los errores de redondeo se originan debido a que la compu-
tadora emplea un número determinado de cifras significativas durante un cálculo. Los
números tales como p, e o 7 no pueden exspresarse con un número fijo de cifras
significativas. Por lo tanto, no pueden ser representados exactamente por la computado-
ra. Además, debido a que las computadoras usan una representación en base 2, no pue-
den representar exactamente algunos números en base 10. Esta discrepancia por la
omisión de cifras significativas se llama error de redondeo.
3.4.1 Representación de números en la computadora
Numéricamente los errores de redondeo se relacionan de manera directa con la forma
en que se guardan los números en la memoria de la computadora. La unidad fundamen-
tal mediante la cual se representa la información se llama palabra. Ésta es una entidad
que consiste en una cadena de dígitos binarios o bits (binary digits). Por lo común, los
números son guardados en una o más palabras. Para entender cómo se realiza esto, se
debe revisar primero algún material relacionado con los sistemas numéricos.
Sistemas numéricos. Un sistema numérico es simplemente una convención para re-
presentar cantidades. Debido a que se tienen 10 dedos en las manos y 10 dedos en los
pies, el sistema de numeración que nos es muy familiar es el decimal o de base 10. Una
base es el número que se usa como referencia para construir un sistema. El sistema
de base 10 utiliza 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) para representar números. Tales
dígitos son satisfactorios por sí mismos para contar de 0 a 9.
Para grandes cantidades se usa la combinación de estos dígitos básicos; con la po-
sición o valor de posición se especifica su magnitud. El dígito en el extremo derecho de
un número entero representa un número del 0 al 9. El segundo dígito a partir de la de-
recha representa un múltiplo de 10. El tercer dígito a partir de la derecha representa un
múltiplo de 100 y así sucesivamente. Por ejemplo, si se tiene el número 86409 se tienen
8 grupos de 10000, seis grupos de 1000, cuatro grupos de 100 y cero grupos de 10, y
nueve unidades, o bien
(8 × 104
) + (6 × 103
) + (4 × 102
) + (0 × 101
) + (9 × 100
) = 86409
La figura 3.3a ofrece una representación de cómo se formula un número en el sis-
tema de base 10. Este tipo de representación se llama notación posicional.
Debido a que el sistema decimal resulta ser tan familiar, no es común darse cuenta
de que existen otras alternativas. Por ejemplo, si el ser humano tuviera ocho dedos en
las manos y ocho en los pies, se tendría, sin duda, una representación en un sistema
octal o de base 8. En tal sentido nuestra amiga la computadora es como un animal que
tiene dos dedos, limitado a dos estados: 0 o 1. Esto se relaciona con el hecho de que las
unidades lógicas fundamentales de las computadoras digitales sean componentes elec-
trónicos de apagado/encendido. Por lo tanto, los números en la computadora se repre-
sentan con un sistema binario o de base 2. Del mismo modo que con el sistema decimal,
las cantidades pueden representarse usando la notación posicional. Por ejemplo, el nú-
mero binario 11 es equivalente a (l × 21
) + (1 × 20
) = 2 + 1 = 3 en el sistema decimal. En
la figura 3.3b se ilustra un ejemplo más complejo.
Representación entera. Ahora que se ha revisado cómo los números de base 10 se
representan en forma binaria, es fácil concebir cómo los enteros se representan en la
computadora. El método más sencillo se denomina método de magnitud con signo y
3.4 ERRORES DE REDONDEO 61
62 APROXIMACIONES Y ERRORES DE REDONDEO
emplea el primer bit de una palabra para indicar el signo: con un 0 para positivo y un 1
para el negativo. Los bits sobrantes se usan para guardar el número. Por ejemplo, el
valor entero –173 puede guardarse en la memoria de una computadora de 16 bits como
se muestra en la figura 3.4.
1 ⫻ 1 =
0 ⫻ 2 =
1 ⫻ 4 =
1 ⫻ 8 =
0 ⫻ 16 =
1 ⫻ 32 =
0 ⫻ 64 =
1 ⫻ 128 =
1
0
4
8
0
32
0
128
173
27
1
26
0
25
1
24
0
23
1
22
1
21
0
20
1
9 ⫻ 1 =
0 ⫻ 10 =
4 ⫻ 100 =
6 ⫻ 1 000 =
8 ⫻ 10 000 =
9
0
400
6 000
80 000
86 409
104
8
103
6
102
4
101
0
100
9
a)
b)
FIGURA 3.3
Cómo trabajan los sistemas a) decimal (base 10) y b) binario (base 2). En b) el número
binario 10101101 es equivalente al número decimal 173.
1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1
Signo
Número
FIGURA 3.4
La representación de un entero decimal –173 en una computadora de 16 bits usando el
método de magnitud con signo.
EJEMPLO 3.3 Rango de enteros
Planteamiento del problema. Determine el rango de enteros de base 10 que pueda
representarse en una computadora de 16 bits.
Solución. De los 16 bits, se tiene el primer bit para el signo. Los 15 bits restantes
pueden contener los números binarios de 0 a 111111111111111. El límite superior se
convierte en un entero decimal, así
(1 × 1214
) + (1 × 213
) + ··· + (1 × 21
) + (1 × 20
)
que es igual a 32767 (observe que esta expresión puede simplemente evaluarse como 215
– 1). Así, en una computadora de 16 bits una palabra puede guardar en memoria un
entero decimal en el rango de –32767 a 32767. Además, debido a que el cero está ya
definido como 0000000000000000, sería redundante usar el número 1000000000000000
para definir “menos cero”. Por lo tanto, es usualmente empleado para representar un
número negativo adicional: –32768, y el rango va de –32768 a 32767.
Observe que el método de magnitud con signo descrito antes no se utiliza para re-
presentar enteros en computadoras convencionales. Se prefiere usar una técnica llamada
complemento de 2 que incorpora en forma directa el signo dentro de la magnitud del
número, en lugar de emplear un bit adicional para representar más o menos (véase Cha-
pra y Canale, 1994). Sin embargo, en el ejemplo 3.3 sigue sirviendo para ilustrar cómo
todas las computadoras digitales están limitadas en cuanto a su capacidad para repre-
sentar enteros. Esto es, los números por encima o por debajo de este rango no pueden
representarse. Una limitación más importante se encuentra en el almacenaje y la mani-
pulación de cantidades fraccionarias, como se describe a continuación.
Representación del punto-flotante. Las cantidades fraccionarias generalmente se
representan en la computadora usando la forma de punto flotante. Con este método, el
número se expresa como una parte fraccionaria, llamada mantisa o significando, y una
parte entera, denominada exponente o característica, esto es,
m · be
donde m = la mantisa, b = la base del sistema numérico que se va a utilizar y e = el ex-
ponente. Por ejemplo, el número 156.78 se representa como 0.15678 × 103
en un sistema
de base 10 de punto flotante.
En 1a figura 3.5 se muestra una forma en que el número de punto flotante se guar-
da en una palabra. El primer bit se reserva para el signo; la siguiente serie de bits, para
el exponente con signo; y los últimos bits, para la mantisa.
Observe que la mantisa es usualmente normalizada si tiene primero cero dígitos.
Por ejemplo, suponga que la cantidad 1/34 = 0.029411765… se guarda en un sistema de
base 10 con punto flotante, que únicamente permite guardar cuatro lugares decimales.
Entonces, 1/34 se guardaría como
0.0294 × l00
Sin embargo, al hacerlo así, la inclusión del cero “inútil” a la derecha del punto decimal
nos obliga a eliminar el dígito 1 del quinto lugar decimal. El número puede normalizarse
3.4 ERRORES DE REDONDEO 63
64 APROXIMACIONES Y ERRORES DE REDONDEO
para eliminar el cero multiplicando la mantisa por 10 y diminuyendo el exponente en 1,
para quedar
0.2941 × 10–1
Así, se conserva una cifra significativa adicional al guardar el número.
La consecuencia de la normalización es que el valor absoluto de m queda limitado.
Esto es,
1
— ≤ m  1 (3.8)
b
donde b = la base. Por ejemplo, para un sistema de base 10, m estaría entre 0.1 y 1; y
para un sistema de base 2, entre 0.5 y 1.
La representación de punto flotante permite que tanto fracciones como números
muy grandes se expresen en la computadora. Sin embargo, hay algunas desventajas. Por
ejemplo, los números de punto flotante requieren más espacio y más tiempo de proce-
sado que los números enteros. Más importante aun es que su uso introduce una fuente
de error debido a que la mantisa conserva sólo un número finito de cifras significativas.
Por lo tanto, se introduce un error de redondeo.
EJEMPLO 3.4 Conjunto hipotético de números con punto flotante
Planteamiento del problema. Determine un conjunto hipotético de números con pun-
to flotante para una máquina que guarda información usando palabras de 7 bits. Emplee
el primer bit para el signo del número, los siguientes tres para el signo y la magnitud del
exponente, y los últimos tres para la magnitud de la mantisa (véase figura 3.6).
Solución. El número positivo más pequeño posible se representa en la figura 3.6. El 0
inicial señala que la cantidad es positiva. El 1 en el segundo lugar indica que el expo-
nente tiene signo negativo. Los 1, en el tercero y cuarto lugar dan un valor máximo al
exponente de
1 × 21
+ 1 × 20
= 3
Por lo tanto, el exponente será –3. Por último, la mantisa está especificada por el 100 en
los últimos tres lugares, lo cual nos da
1 × 2–1
+ 0 × 2–2
+ 0 × 2–3
= 0.5
Signo
Exponente
con signo
Mantisa
FIGURA 3.5
La forma en que un número de punto flotante se guarda en una palabra.
Aunque es posible tomar una mantisa más pequeña (por ejemplo, 000, 001, 010, 011), se
emplea el valor de 100 debido al límite impuesto por la normalización [ecuación (3.8)].
Así, el número positivo más pequeño posible en este sistema es +0.5 × 2–3
, el cual es
igual a 0.0625 en el sistema de base 10. Los siguientes números más grandes se desa-
rrollan incrementando la mantisa como sigue:
0111101 = (1 × 2–1
+ 0 × 2–2
+ 1 × 2–3
) × 2–3
= (0.078125)10
0111110 = (1 × 2–1
+ 1 × 2–2
+ 0 × 2–3
) × 2–3
= (0.093750)10
0111111 = (1 × 2–1
+ 1 × 2–2
+ 1 × 2–3
) × 2–3
= (0.109375)10
Observe que las equivalencias de base 10 se esparcen de manera uniforme en un inter-
valo de 0.015625.
En este punto, para continuar el incremento se debe disminuir el exponente a 10, lo
cual da un valor de
1 × 21
+ 0 × 20
= 2
La mantisa disminuye hasta su valor más pequeño: 100. Por lo tanto, el siguiente núme-
ro es
0110100 = (1 × 2–1
+ 0 × 2–2
+ 0 × 2–3
) × 2–2
= (0.125000)10
Esto todavía representa una brecha o espacio de 0.l25000 – 0.109375 = 0.015625. Sin
embargo, cuando los números grandes se generan incrementando la mantisa, la brecha
es de 0.03125,
0110101 = (1 × 2–1
+ 0 × 2–2
+ 1 × 2–3
) × 2–2
= (0.156250)10
0110110 = (1 × 2–1
+ 1 × 2–2
+ 0 × 2–3
) × 2–2
= (0.187500)10
0110111 = (1 × 2–1
+ 1 × 2–2
+ 1 × 2–3
) × 2–2
= (0.218750)10
Este patrón se repite conforme se formula una cantidad mayor hasta que se alcanza un
número máximo:
0011111 = (1 × 2–1
+ 1 × 2–2
+ 1 × 2–3
) × 23
= (7)10
El conjunto del número final se muestra en la figura 3.7.
0 1 1 1 1 0 0
Signo del
número
Signo del
exponente
Magnitud
del exponente
Magnitud
de la mantisa
21
20
2–1
2–2
2–3
FIGURA 3.6
El número positivo de punto flotante más pequeño posible del ejemplo 3.4.
3.4 ERRORES DE REDONDEO 65
66 APROXIMACIONES Y ERRORES DE REDONDEO
En la figura 3.7 se presentan diversos aspectos de la representación de punto flotan-
te, que son importantes respecto de los errores de redondeo en las computadoras.
1. El rango de cantidades que pueden representarse es limitado. Como en el caso de
los enteros, hay números grandes positivos y negativos que no pueden representar-
se. Intentar emplear números fuera del rango aceptable dará como resultado el
llamado error de desbordamiento (overflow). Sin embargo, además de las grandes
cantidades, la representación de punto flotante tiene la limitación adicional de que
números muy pequeños no pueden representarse. Esto se ilustra por el “agujero”
underflow entre el cero y el primer número positivo en la figura 3.7. Se debe ob-
servar que este agujero aumenta por las limitaciones de normalización de la ecua-
ción (3.8).
2. Existe sólo un número finito de cantidades que puede representarse dentro de un
rango. Así, el grado de precisión es limitado. Es evidente que los números irraciona-
les no pueden representarse de manera exacta. Además, los números racionales que
no concuerdan exactamente con uno de los valores en el conjunto tampoco pueden
ser representados en forma precisa. A los errores ocasionados por la aproximación
⌬x
x – ⌬x
⌬x/2 ⌬x/2
x – ⌬x x + ⌬x
Corte Redondeo
0
0
7
Overflow(1)
Underflow(2)
“agujero”
en el cero
(1)
Se genera una cantidad demasiado grande, en una operación aritmética, que rebasa la capacidad del registro
(2)
Se genera una cantidad, en una operación aritmética, demasiado pequeña, para que pueda ser almacenada.
FIGURA 3.7
Sistema numérico hipotético desarrollado en el ejemplo 3.4. Cada valor se indica con una
marca. Tan sólo se muestran los números positivos. Un conjunto idéntico se extendería en
dirección negativa.
en ambos casos se les conoce como errores de cuantificación. La aproximación real
se realiza por dos caminos: cortando o redondeando. Por ejemplo, suponga que el
valor de p = 3.14159265358… se va a guardar en un sistema de numeración de base
10 con 7 cifras significativas. Un método de aproximación podría ser simplemente
omitir, o “cortar”, el octavo y demás términos, como en p = 3.141592, con la intro-
ducción de un error asociado de [ecuación (3.2)]
Et = 0.00000065…
Esta técnica de mantener sólo términos significativos fue originalmente conocida
como “truncamiento” en la jerga computacional. Preferimos llamarla corte para
distinguirla de los errores de truncamiento que se analizarán en el capítulo 4. Ob-
serve que en el sistema numérico de base 2 de la figura 3.7, corte significa que
cualquier cantidad que esté dentro de un intervalo de longitud ∆x se guardará en
memoria como una cantidad en el extremo inferior del intervalo. Así, el error máxi-
mo por corte es ∆x. Además, se presenta un sesgo porque todos los errores son po-
sitivos. La deficiencia del corte se atribuye al hecho de que los términos superiores
de la representación decimal completa no tienen impacto en la versión cortada. Así,
en el ejemplo de p, el primer dígito descartado es 6. El último dígito retenido debe-
ría redondearse a 3.141593. Tal redondeo reduce el error a
Et = –0.00000035…
En consecuencia, el redondeo produce un error absoluto menor que el de corte.
Observe que, en el sistema numérico de base 2 de la figura 3.7, redondear significa
que cualquier cantidad que esté en un intervalo de longitud ∆x se representará como
el número más cercano permitido. Entonces, el error máximo de redondeo es ∆x/2.
Además, no se presenta sesgo porque ciertos errores son positivos y otros son nega-
tivos. Algunas computadoras emplean redondeo. Sin embargo, esto aumenta el
trabajo computacional y, en consecuencia, muchas máquinas simplemente usan
el corte. Dicho enfoque se justifica con la suposición de que el número de cifras
significativas es suficientemente grande para que los errores de redondeo resultantes
sean despreciables.
3. El intervalo entre los números, ∆x, aumenta conforme los números crecen en mag-
nitud. Ésta es la característica, por supuesto, que permite que la representación de
punto flotante conserve los dígitos significativos. Sin embargo, también quiere decir
que los errores de cuantificación sean proporcionales a la magnitud del número que
será representado. Para normalizar los números de punto flotante, esta proporciona-
lidad se expresa, para los casos en que se emplea el corte, como
∆x
x
≤ Ᏹ (3.9)
y, para los casos donde se utiliza el redondeo, como
∆x
x
≤
Ᏹ
2
(3.10)
3.4 ERRORES DE REDONDEO 67
68 APROXIMACIONES Y ERRORES DE REDONDEO
donde a Ᏹ se le denomina épsilon de la máquina, el cual se calcula como
Ᏹ = b1–t
(3.11)
donde b es el número base y t es el número de dígitos significativos en la mantisa. Ob-
serve que las desigualdades en las ecuaciones (3.9) y (3.10) quieren decir que éstos son
los límites de los errores. Es decir, especifican los casos extremos.
EJEMPLO 3.5 Épsilon de la máquina
Planteamiento del problema. Determine el épsilon de la máquina y verifique su
efectividad para caracterizar los errores del sistema numérico del ejemplo 3.4. Suponga
que se usa al corte.
Solución. El sistema de punto flotante hipotético del ejemplo 3.4 empleaba valores de
base b = 2, y número de bits de la mantisa t = 3. Por lo tanto, el épsilon de la máquina
debe ser [ecuación (3.11)]
Ᏹ = 21–3
= 0.25
En consecuencia, el error de cuantificación relativo estará limitado por 0.25, para el
corte. El error relativo más grande debería ocurrir para aquellas cantidades que caen
justo debajo del límite superior del primer intervalo entre números equidistantes suce-
sivos (véase figura 3.8). Aquellos números que caen en los intervalos sucesivos siguien-
tes tendrán el mismo valor de ∆x pero un mayor valor de x y, por lo tanto, tendrán un
error relativo bajo. Un ejemplo de un error máximo sería un valor que cae justo por
debajo de límite superior del intervalo entre (0.125000)10 y (0.156250)10. Para este caso,
el error sería menor a
0 03125
0 125000
0 25
.
.
.
=
Entonces, el error es como se predijo mediante la ecuación (3.9).
Error relativo
mayor
FIGURA 3.8
El error de cuantificación más grande ocurrirá para aquellos valores que caigan justo debajo
del límite superior del primero de una serie de intervalos equiespaciados.
El hecho de que los errores de cuantificación dependan de la magnitud tiene varias
aplicaciones prácticas en los métodos numéricos. Muchas de ellas están relacionadas
con la comúnmente empleada operación de probar si dos números son iguales. Ello
ocurre cuando se prueba la convergencia de cantidades, así como en los mecanismos
para detener procesos iterativos (véase el ejemplo 3.2). En estos casos deberá ser claro
que más que probar si las dos cantidades son iguales, es recomendable probar si su di-
ferencia es menor que una pequeña tolerancia aceptable. Además, deberá ser evidente
que más que la diferencia absoluta, deberá compararse la diferencia normalizada, en
especial cuando se trabaja con números de gran magnitud. El épsilon de la máquina,
además, se emplea al formular criterios de paro o de convergencia. Esto asegura que los
programas sean portátiles, es decir, que no sean dependientes de la computadora sobre
la cual se hayan implementado. En la figura 3.9 se presenta un seudocódigo que auto-
máticamente determina el épsilon de la máquina en una computadora binaria.
Precisión extendida. Aquí se debe observar que, aunque los errores de redondeo
llegan a ser importantes en contextos tales como pruebas de convergencia, el número de
dígitos significativos que tiene la mayoría de las computadoras permite que muchos
cálculos de ingeniería se realicen con una precisión más que aceptable. Por ejemplo, el
sistema numérico hipotético de la figura 3.7 es una enorme exageración que se usó con
propósitos ilustrativos. En las computadoras comerciales se utilizan conjuntos mucho
más grandes y por consiguiente se permite que los números queden expresados con una
precisión adecuada. Por ejemplo, las computadoras que usan el formato IEEE permiten
24 bits para ser usados por la mantisa, lo cual se traduce en cerca de siete cifras signifi-
cativas de precisión1
en dígitos de base 10 con un rango aproximado de 10–38
a 1039
.
Se debe reconocer que aún hay casos donde el error de redondeo resulta crítico. Por
tal razón muchas computadoras permiten la especificación de precisión extendida. La
más común de estas especificaciones es la doble precisión, en la cual se duplica el nú-
mero de palabras utilizado para guardar números de punto flotante. Esto proporciona
de 15 a 16 dígitos decimales de precisión y un rango aproximado de 10–308
a 10308
.
En muchos casos el uso de cantidades de doble precisión llega a reducir, en gran
medida, el efecto del error de redondeo. Sin embargo, el precio que se paga por tales
medidas remediales consiste en mayores requerimientos de memoria y de tiempo de
ejecución. La diferencia en el tiempo de ejecución de un cálculo pequeño podría parecer
insignificante. No obstante, conforme los programas van siendo cada vez más grandes
y complicados, el tiempo de ejecución agregado se vuelve más considerable y repercute
de manera negativa para resolver el problema en forma efectiva. Por lo tanto, la precisión
extendida no debería utilizarse en forma generalizada. Por el contrario, deberá ser em-
pleada en forma selectiva, donde se obtenga un máximo beneficio al menor costo en
términos de tiempo de ejecución. En las siguientes secciones veremos más de cerca cómo
los errores de redondeo afectan los cálculos y ello nos servirá para comprender los fun-
damentos que nos guíen en el uso de la capacidad de la doble precisión.
Antes de proseguir, debemos observar que algunos paquetes de software de uso
común (por ejemplo, Excel o Mathcad) normalmente utilizan doble precisión para re-
presentar las cantidades numéricas. Así, quienes desarrollaron estos paquetes decidieron
reducir los errores de redondeo sacrificando velocidad para usar una precisión extendi-
da. Otros, como el MATLAB, permiten usar la precisión extendida, si se desea.
1
Observe que, de hecho, únicamente 23 bits se emplean en la memoria para la mantisa. Sin embargo, debido a
la normalización, el primer bit de la mantisa es siempre 1 y, por lo tanto, no se guarda. Así, el primer bit junto
con los 23 bits de memoria dan 24 bits en total para la precisión de la mantisa.
3.4 ERRORES DE REDONDEO 69
epsilon = 1
DO
IF (epsilon+1 ≤ 1)
EXIT
epsilon = epsilon/2
END DO
epsilon = 2 × epsilon
FIGURA 3.9
Seudocódigo para deter-
minar el épsilon de la má-
quina en una computadora
binaria.
70 APROXIMACIONES Y ERRORES DE REDONDEO
3.4.2 Manipulación aritmética de números en la computadora
Junto con las limitaciones del sistema numérico de una computadora, las manipulaciones
aritméticas que se usan con tales números también pueden dar como resultado errores
de redondeo. En la siguiente sección se ilustrará primero cómo afectan las operaciones
aritméticas comunes a los errores de redondeo. De este modo, investigaremos varias
manipulaciones que son especialmente propensas a errores de redondeo.
Operaciones aritméticas comunes. A causa de que estamos familiarizados con los
números de base 10, los emplearemos para ilustrar el efecto del error de redondeo en las
operaciones básicas: suma, resta, multiplicación y división. Otras bases de números
pueden tener un comportamiento similar. Para simplificar el análisis, emplearemos una
computadora decimal hipotética con una mantisa de 4 dígitos y un exponente de 1 dígi-
to. Además, se usará el corte. El redondeo puede implicar errores similares, aunque
menos dramáticos.
Cuando se suman dos números de punto flotante, el número de la mantisa con el
exponente menor se modifica de tal forma que los exponentes sean los mismos. Esto
tiene el efecto de alinear los puntos decimales. Por ejemplo, suponga que se quiere sumar
0.1557 · 101
+ 0.4381 · 10–1
. El decimal de la mantisa del segundo número se recorre a
la izquierda un número de lugares igual a la diferencia de los exponentes [1 – (–1) = 2],
así,
0.4381 · 10–1
→ 0.004381 · 101
Ahora se suman los números,
0.1557 · 101
0.004381· 101
0.160081· 101
y el resultado es cortado a 0.1600 · 101
. Note cómo los últimos dos dígitos del segundo
número que se recorrieron a la derecha fueron eliminados de los cálculos.
La resta se realiza en forma idéntica a la suma, con la excepción del signo del sus-
traendo, que es negativo. Por ejemplo, suponga que hacemos la resta 36.41 menos 26.86.
Esto es,
0.3641 · 102
–0.2686 · 102
0.0955 · 102
Aquí el resultado no está normalizado y se debe recorrer el decimal un lugar a la
derecha para obtener 0.9550 · 101
= 9.550. Observe que el cero sumado al final de la man-
tisa no es relevante, tan sólo llena el espacio vacío creado al recorrer los números. Es
posible obtener resultados más dramáticos todavía, cuando las cantidades estén muy
cercanas, como por ejemplo,
0.7642 · 103
–0.7641 · 103
0.0001 · 103
que podría convertirse en 0.1000 · 100
= 0.1000. Así, en este caso, se agregan tres ceros
no significativos, lo cual introduce un error sustancial de cálculo debido a que las ma-
nipulaciones siguientes actúan como si los ceros fueran significativos. Como se verá más
adelante en otra sección, la pérdida significativa durante la resta de números casi iguales
es una de las principales fuentes de errores de redondeo en los métodos numéricos.
La multiplicación y la división resultan un poco más sencillos que la suma y la
resta. Los exponentes se suman y la mantisa se multiplica. Debido a que la multiplicación
de dos mantisas de n dígitos da como resultado 2n dígitos, muchas computadoras ofrecen
resultados intermedios en un registro de doble longitud. Por ejemplo,
0.1363 · 103
× 0.6423 · 10–1
= 0.08754549 · 102
Si, como en este caso, se introduce un cero, el resultado es normalizado,
0.08754549 · 102
→ 0.8754549 · 101
y cortando resulta
0.8754 · 101
La división se realiza en forma similar, aunque las mantisas se dividen y los expo-
nentes se restan. Entonces el resultado es normalizado y cortado.
Cálculos grandes. Ciertos métodos requieren un número extremadamente grande
de manipulaciones aritméticas para llegar a los resultados finales. Además, dichos cálcu-
los a menudo son interdependientes; es decir, los cálculos son dependientes de
los resultados previos. En consecuencia, aunque el error de redondeo individual sea
pequeño, el efecto acumulativo durante el proceso de muchos cálculos puede ser rele-
vante.
EJEMPLO 3.6 Un número grande de cálculos interdependientes
Planteamiento del problema. Investigue el efecto del error de redondeo en un gran
número de cálculos interdependientes. Desarrolle un programa que sume un número
100000 veces. Sume el número 1 con precisión simple, y 0.00001 con precisiones sim-
ple y doble.
Solución. En la figura 3.10 se muestra un programa en Fortran 90 que realiza la suma.
Mientras que la suma con precisión simple de 1 dará el resultado esperado, la precisión
simple en la suma de 0.00001 tiene una gran discrepancia. Este error se reduce de ma-
nera importante cuando 0.00001 se suma con precisión doble.
Los errores de cuantificación son la fuente de las discrepancias. Debido a que el
entero 1 puede ser representado en forma exacta en la computadora, puede sumarse
exactamente. En contraste, 0.00001 no puede representarse con exactitud y se cuantifi-
ca con un valor que es ligeramente diferente de su valor verdadero. Aunque esta ligera
discrepancia resultará insignificante para un cálculo pequeño, se acumula después de la
repetición de sumas. Tal problema ocurre también con la precisión doble, pero se redu-
ce en forma relevante porque el error de cuantificación es mucho más pequeño.
3.4 ERRORES DE REDONDEO 71
72 APROXIMACIONES Y ERRORES DE REDONDEO
Observe que el tipo de error ilustrado en el ejemplo anterior es algo atípico porque
todos los errores en las operaciones que se repiten tienen el mismo signo. En muchos
casos, los errores en grandes cálculos alternan el signo de manera aleatoria y, entonces,
con frecuencia se cancelan. Sin embargo, hay también algunos casos donde tales errores
no se cancelan pero, en efecto, llevan a resultados finales dudosos. En las siguientes
secciones se mostrará cómo puede ocurrir esto.
Suma de un número grande y uno pequeño. Suponga que se desea sumar un nú-
mero pequeño, 0.0010, con un número grande, 4000, utilizando una computadora hipo-
tética con una mantisa de 4 dígitos y un exponente de 1 dígito. Modificamos el número
pequeño para que su exponente sea igual al del grande,
0.4000 · 104
0.0000001 · 104
0.4000001 · 104
el cual se corta a 0.4000 · l04
. Así, ¡resultó lo mismo que si no hubiéramos realizado la
suma!
Este tipo de error puede ocurrir cuando se calculan series infinitas. Por ejemplo, si
el término inicial de una serie es relativamente grande en comparación con los demás
términos, después de que se han sumado unos pocos términos, estamos en la situación
de sumar una cantidad pequeña a una cantidad grande.
PROGRAM fig0310
IMPLICIT none
INTEGER::i
REAL::sum1, sum2, x1, x2
DOUBLE PRECISION::sum3, x3
sum1=0.
sum2=0.
sum3=0.
x1=1.
x2=1.e-5
x3=1.d-5
DO i=1,100000
sum1=sum1+x1
sum2=sum2+x2
sum3=sum3+x3
END DO
PRINT *, sum1
PRINT *, sum2
PRINT *, sum3
END
output:
100000.000000
1.000990
9.999999999980838E-001
FIGURA 3.10
Programa en Fortran 90
para sumar un número 105
veces. Aquí se suma el nú-
mero 1 con precisión simple
y el número 10–5
con preci-
siones simple y doble.
Una manera de reducir este tipo de errores consiste en sumar la serie en sentido
inverso: esto es, en orden ascendente en lugar de descendente. De esta manera, cada
nuevo término será comparable en magnitud con el de la suma acumulada (véase el
problema 3.4).
Cancelación por resta. Se refiere al redondeo inducido cuando se restan dos núme-
ros de punto flotante casi iguales.
Un caso común donde esto ocurre es en la determinación de las raíces de una ecua-
ción cuadrática o parábola utilizando la fórmula cuadrática,
x
x
b b ac
a
1
2
2
4
2
=
± −
– (3.12)
En los casos donde b2

 4ac, la diferencia en el numerador puede ser muy pequeña. En
tales casos, la precisión doble llega a reducir el problema. Además, una formulación
alternativa puede usarse para minimizar la cancelación por resta.
x
x
c
b b ac
1
2
2
2
4
=
± −
–
(3.13)
Una ilustración del problema y del uso de esta fórmula alternativa se ofrecen en el si-
guiente ejemplo.
EJEMPLO 3.7 Cancelación por resta
Planteamiento del problema. Calcule el valor de las raíces de una ecuación cuadráti-
ca con a = 1, b = 3000.001 y c = 3. Compare el valor calculado con las raíces verdaderas
x1 = –0.001 y x2 = –3000.
Solución. En la figura 3.11 se muestra un programa en Fortran 90 que calcula las
raíces x1 y x2 usando la fórmula cuadrática [(ecuación (3.12)]. Observe que se dan las
versiones tanto de la precisión simple como la precisión doble. Mientras que los resul-
tados para x2 son adecuados, el error relativo porcentual para x1 es pobre para la precisión
simple, et = 2.4%. Este valor quizá resulte para muchos problemas de aplicaciones en
ingeniería. ¡Este resultado es en particular sorpresivo porque se emplea una fórmula
analítica para obtener la solución!
La pérdida de significancia ocurre en la línea del programa donde dos números
grandes se restan. No ocurren problemas semejantes cuando los mismos números se
suman.
Considerando lo anterior podemos obtener la conclusión general de que la fórmu-
la cuadrática será susceptible de cancelación por resta cada vez que b2
 4ac. Una
manera de evitar este problema consiste en usar precisión doble. Otra es reacomodar la
fórmula cuadrática en la forma de la ecuación (3.13). Ya que en la salida del programa,
ambas opciones dan un error mucho menor porque se minimiza o evita la cancelación
por resta.
3.4 ERRORES DE REDONDEO 73
74 APROXIMACIONES Y ERRORES DE REDONDEO
Considere que, como en el ejemplo anterior, hay veces en las que la cancelación por
resta se evita empleando una transformación. No obstante, el único remedio general es
usar la precisión extendida.
Dispersión. La dispersión ocurre generalmente cuando los términos individuales en
la sumatoria son más grandes que la sumatoria misma. Como en el siguiente ejemplo,
casos como éstos ocurren en las series con signos alternados.
EJEMPLO 3.8 Evaluación de ex
usando series infinitas
Planteamiento del problema. La función exponencial y = ex
está dada por la serie
infinita
y x
x x
= + + + +
1
2 3
2 3
! !

Evalúe esta función para x = 10 y x = –10; esté atento al problema del error de redondeo.
Solución. En la figura 3.12a se muestra un programa en Fortran 90 que utiliza una
serie infinita para evaluar ex
. La variable i es el número de términos en la serie, term es
el valor de término actual que se le agrega a la serie, y sum es el valor acumulado de la
serie. La variable test es el valor acumulado precedente de la serie antes de la suma de
term. La serie se termina cuando la computadora no puede detectar la diferencia entre
test y sum.
PROGRAM fig0311
IMPLICIT none
REAL::a,b,c,d,x1,x2,x1r
DOUBLE PRECISION::aa,bb,cc,dd,x11,x22
a = 1.
b = 3000.001
c = 3.
d = SQRT(b * b - 4. * a * c)
x1 = (-b + d) / (2. * a)
x2 = (-b - d) / (2. * a)
PRINT *, ‘resultados con precisión
simple:’
PRINT ‘(1x,a10,f20.14)’
, ‘x1 = ’
, x1
PRINT ‘(1x,a10,f10.4)’
, ‘x2 = ’
, x2
PRINT *
aa = 1.
bb = 3000.001
cc = 3.
dd = SQRT(bb * bb – 4. * aa * cc)
x11 = (-bb + dd) / (2. * aa)
x22 = (-bb – dd) / (2. * aa)
PRINT *, ‘resultados con precisión
doble:’
PRINT ‘(1x,a10,f20.14)’
, ‘x1 = ’
, x11
PRINT ‘(1x,a10,f10.4)’
, ‘x2 = ’
, x22
PRINT *
PRINT *, ‘fórmula modificada para la
primer raíz:’
x1r = -2. * c / (b + d)
PRINT ‘(1x,a10,f20.14)’
, ‘x1 = ’
, x1r
END
SALIDA
resultados con precisión simple:
x1 = -.00097656250000
x2 = -3000.0000
resultados con precisión doble:
x1 = -.00100000000771
x2 = -3000.0000
fórmula modificada para la primera raíz:
x1 = -.00100000000000
FIGURA 3.11
Programa en Fortran 90 para determinar las raíces de una ecuación cuadrática. Con precisiones simple y doble.
c) Evaluación de e–10
x=
-10
i term sum
0 1.000000 1.000000
1 –10.000000 –9.000000
2 50.000000 41.000000
3 –166.666700 –125.666700
4 416.666700 291.000000
5 –833.333400 –542.333400
.
.
.
1 –2.989312E-09 8.137590E-05
42 7.117410E-10 8.137661E-05
43 –1.655212E-10 8.137644E-05
44 3.761845E-11 8.137648E-05
45 –8.359655E-12 8.137647E-05
valor exacto = 4.539993E-05
a) Programa
PROGRAM fig0312
IMPLICIT none
Real::term, test, sum,x
INTEGER::i
i = 0
term = 1.
sum = 1.
test = 0.
PRINT *, ‘x = ’
READ *, x
PRINT *, ‘i’, ‘term’, ‘sum’
DO
IF (sum.EQ.test) EXIT
PRINT *, i, term, sum
i = i + 1
term = term*x/i
test = sum
sum = sum+term
END DO
PRINT *, ‘valor exacto =’ ,exp(x)
END
b) Evaluación de e10
x=
10
i term sum
0 1.000000 1.000000
1 10.000000 11.000000
2 50.000000 61.000000
3 166.666700 227.666700
4 416.666700 644.333400
5 833.333400 1477.667000
.
.
.
27 9.183693E-02 22026.420000
28 3.279890E-02 22026.450000
29 1.130997E-02 22026.460000
30 3.769989E-03 22026.470000
31 1.216126E-03 22026.470000
valor exacto = 22026.460000
FIGURA 3.12
a) Un programa en Fortran 90 para evaluar ex
usando series infinitas. b) Evaluación de ex
. c) Evaluación de e–x
.
3.4 ERRORES DE REDONDEO 75
76 APROXIMACIONES Y ERRORES DE REDONDEO
La figura 3.12b muestra los resultados de la ejecución del programa para x = 10.
Observe que este caso es completamente satisfactorio. El resultado final se alcanza en
31 términos con la serie idéntica para el valor de la función en la biblioteca con siete
cifras significativas.
En la figura 3.12c se muestran los resultados para x = –10. Sin embargo, en este
caso, los resultados de la serie calculada no coinciden ni en el signo con respecto al re-
sultado verdadero. De hecho, los resultados negativos abren una gama de preguntas
serias porque ex
nunca puede ser menor que cero. El problema es causado por el error
de redondeo. Observe que muchos de los términos que conforman la suma son mucho
más grandes que el resultado final de la suma. Además, a diferencia del caso anterior,
los términos individuales varían de signo. Así, en efecto, estamos sumando y restando
números grandes (cada uno con algún error pequeño) y dando gran significancia a las
diferencias; esto es, cancelación por resta. Entonces, puede verse que el culpable en este
ejemplo de dispersión es, en efecto, la cancelación por resta. En tales casos es apropiado
buscar alguna otra estrategia de cálculo. Por ejemplo, uno podría tratar de calcular y =
e–10
como y = (e–1
)10
. En lugar de una reformulación, ya que el único recurso general es
la precisión extendida.
Productos internos. De las secciones anteriores debe quedar claro que, algunas series
infinitas son particularmente propensas a errores por redondeo. Por fortuna, el cálculo
de series no es una de las operaciones más comunes en métodos numéricos. Una mani-
pulación más frecuente es el cálculo de productos internos, esto es,
x y x y x y x y
i i n n
i
n
= + + +
=
∑ 1 1 2 2
1

Esta operación es muy común, en particular en la solución de ecuaciones simultáneas
lineales algebraicas. Tales sumatorias son propensas a errores por redondeo. En conse-
cuencia, a menudo es deseable calcular tales sumas con precisión extendida.
Aunque en las secciones siguientes se ofrecerán reglas prácticas para reducir el error
de redondeo, no son un medio directo mejor que el método de prueba y error para de-
terminar realmente el efecto de tales errores en los cálculos. En el próximo capítulo se
presentará la serie de Taylor, la cual proporcionará un enfoque matemático para estimar
esos efectos.
PROBLEMAS
3.1 Convierta los números siguientes en base 2 a números en
base 10: a) 1011101. b) 101.101, y c) 0.01101.
3.2 Realice su propio programa con base en la figura 3.9 y úselo
para determinar el épsilon de máquina de su computadora.
3.3 En forma similar a la de la figura 3.9, escriba un programa
corto para determinar el número más pequeño, xmín, que utiliza
la computadora que empleará con este libro. Observe que su
computadora será incapaz de diferenciar entre cero y una canti-
dad más pequeña que dicho número.
3.4 La serie infinita
f n
i
i
n
( ) =
=
∑
1
4
1
converge a un valor de f(n) = p4
/90 conforme n se tiende a infi-
nito. Escriba un programa de precisión sencilla para calcular f(n)
para n = 10000 por medio de calcular la suma desde i = 1 hasta
10000. Después repita el cálculo pero en sentido inverso, es
decir, desde i = 10000 a 1, con incrementos de –1. En cada caso,
calcule el error relativo porcentual verdadero. Explique los re-
sultados.
3.5 Evalúe e–5
con el uso de dos métodos
e x
x x
x
−
= − + − +
1
2 3
2 3
!

y
e
e
x
x x
x
x
−
= =
+ + + +
1 1
1
2 3
2 3
!

y compárelo con el valor verdadero de 6.737947 × 10–3
. Utilice
20 términos para evaluar cada serie y calcule los errores relativos
aproximado y verdadero como términos que se agregaran.
3.6 La derivada de f(x) = 1/(1 – 3x2
)2
está dada por
6
1 3 2 2
x
x
( )
−
¿Esperaría el lector dificultades para evaluar esta función para
x = 0.577? Inténtelo con aritmética de 3 y 4 dígitos con corte.
3.7 a) Evalúe el polinomio
y = x3
– 7x2
+ 8x + 0.35
en x = 1.37. Utilice aritmética de 3 dígitos con corte. Evalúe el
error relativo porcentual.
b) Repita el inciso a) pero exprese a y como
y = [(x – 7)x + 8]x + 0.35
Evalúe el error y compárelo con el inciso a).
3.8 Calcule la memoria de acceso al azar (RAM) en megabytes,
que es necesaria para almacenar un arreglo multidimensional de
20 × 40 × 120. Este arreglo es de doble precisión, y cada valor
requiere una palabra de 64 bits. Recuerde que una palabra de 64
bits = 8 bytes, y un kilobyte = 210
bytes. Suponga que el índice
comienza en 1.
3.9 Determine el número de términos necesarios para aproximar
cos x a 8 cifras significativas con el uso de la serie de McLaurin.
cos
! ! !
x
x x x x
= − + − + −
1
2 4 6 8
2 4 6 8

Calcule la aproximación con el empleo del valor de x = 0.3p.
Escriba un programa para determinar el resultado.
3.10 Utilice aritmética de 5 dígitos con corte para determinar las
raíces de la ecuación siguiente, por medio de las ecuaciones (3.12)
y (3.13).
x2
– 5000.002x + 10
Calcule los errores relativos porcentuales de sus resultados.
3.11 ¿Cómo puede emplearse el épsilon de la máquina para
formular un criterio de detención es para sus programas? Dé un
ejemplo.
PROBLEMAS 77
CAPÍTULO 4
Errores de truncamiento
y la serie de Taylor
Los errores de truncamiento son aquellos que resultan al usar una aproximación en
lugar de un procedimiento matemático exacto. Por ejemplo, en el capítulo 1 aproximamos
la derivada de la velocidad de caída de un paracaidista mediante una ecuación en dife-
rencia finita dividida de la forma [ecuación (1.11)]
d
dt t
t t
t t
i i
i i
v v v v
≅ = +
+
∆
∆
( ) – ( )
–
1
1
(4.1)
Se presentó un error de truncamiento en la solución numérica, ya que la ecuación en
diferencia sólo aproxima el valor verdadero de la derivada (véase figura 1.4). Para obte-
ner un conocimiento sobre las características de estos errores, debe considerar una
formulación matemática que se utiliza ampliamente en los métodos numéricos para
expresar funciones de manera aproximada: la serie de Taylor.
4.1 LA SERIE DE TAYLOR
El teorema de Taylor (véase cuadro 4.1) y su fórmula, la serie de Taylor, es de gran valor
en el estudio de los métodos numéricos. En esencia, la serie de Taylor proporciona un
medio para predecir el valor de una función en un punto en términos del valor de la
función y sus derivadas en otro punto. En particular, el teorema establece que cual-
quier función suave puede aproximarse por un polinomio.
Una buena manera de comprender la serie de Taylor consiste en construirla término
por término. Por ejemplo, el primer término de la serie es:
f(xi+1) ⬵ f(xi) (4.2)
Esta relación, llamada la aproximación de orden cero, indica que el valor de f en el
nuevo punto es el mismo que su valor en el punto anterior. Tal resultado tiene un sentido
intuitivo, ya que si xi y xi+1 están muy próximas entre sí, entonces es muy probable que
el nuevo valor sea similar al anterior.
La ecuación (4.2) ofrece una estimación perfecta si la función que se va a aproximar
es, de hecho, una constante. Sin embargo, si la función cambia en el intervalo, entonces
se requieren los términos adicionales de la serie de Taylor, para obtener una mejor
aproximación. Por ejemplo, la aproximación de primer orden se obtiene sumando otro
término para obtener:
f(xi+1) ⬵ f(xi) + f′(xi)(xi+1 – xi) (4.3)
Teorema de Taylor
Si la función f y sus primeras n + 1 derivadas son continuas en
un intervalo que contiene a y x, entonces el valor de la función
en x está dado por
f x f a f a x a
f a
x a
f a
x a
f a
n
x a R
n
n
n
( ) ( ) ( )( – )
( )
!
( – )
( )
!
( – )
( )
!
( – )
( )
( )
= + ′ +
′′
+ +
+ +
2
3
2
3
3

(C4.1.1)
donde el residuo Rn se define como
R
x t
n
f t dt
n
n
a
x
n
=
∫
+
( – )
!
( )
( )
1
(C4.1.2)
donde t = a es una variable muda. La ecuación (C4.1.1) se llama
serie de Taylor o fórmula de Taylor. Si se omite el residuo, el lado
derechodelaecuación(C4.1.1)eslaaproximacióndelpolinomio
deTaylorparaf(x).Enesencia,elteoremaestablecequecualquier
función suave puede aproximarse mediante un polinomio.
La ecuación (C4.1.2) es sólo una manera, denominada la
forma integral, mediante la cual puede expresarse el residuo. Se
obtiene una formulación alternativa basándose en el teorema del
valor medio para integrales.
Primer teorema del valor medio para integrales
Si la función g es continua e integrable en un intervalo que con-
tenga a y x, entonces existe un punto x entre a y x tal que
g t dt g x a
a
x
∫ =
( ) ( )( – )
ξ (C4.1.3)
Cuadro 4.1 Teorema de Taylor
En otras palabras, el teorema establece que la integral pue-
de representarse por un valor promedio de la función g(x) mul-
tiplicado por la longitud del intervalo x – a. Como el promedio
debe encontrarse entre los valores mínimo y máximo del inter-
valo, existe un punto x = x en el cual la función toma el valor
promedio.
El primer teorema es, de hecho, un caso especial del segundo
teorema del valor medio para integrales.
Segundo teorema del valor medio para integrales
Si las funciones g y h son continuas e integrables en un interva-
lo que contiene a y x, y h no cambia de signo en el intervalo,
entonces existe un punto x entre a y x tal que
g t h t dt g h t dt
a
x
a
x
∫ ∫
=
( ) ( ) ( ) ( )
ξ (C4.1.4)
La ecuación (C4.1.3) es equivalente a la ecuación (C4.1.4) con
h(t) = 1.
El segundo teorema se aplica a la ecuación (C4.1.2) con
g t f t h t
x t
n
n
n
( ) ( ) ( )
( – )
!
( )
= =
+1
Conforme t varía de a a x, h(t) es continua y no cambia de signo.
Por lo tanto, si f (n+l)
(t) es continua, entonces se satisface el teo-
rema del valor medio para integrales y
R
f
n
x a
n
n
n
=
+
+
+
( )
( )
( )!
( – )
1
1
1
ξ
Esta ecuación es conocida como la forma de Lagrange del re-
siduo.
El término adicional de primer orden consiste en una pendiente f′(xi) multiplicada por
la distancia entre xi y xi+l. Por lo tanto, la expresión representa ahora una línea recta y es
posible predecir un incremento o un decremento de la función entre xi y xi+l.
Aunque la ecuación (4.3) puede predecir un cambio, sólo es exacta para una línea
recta o una tendencia lineal. Por lo tanto, se le agrega a la serie un término de segundo
orden para obtener algo de la curvatura, que pudiera presentar la función:
f x f x f x x x
f x
x x
i i i i i
i
i i
( ) ( ) ( )( – )
( )
!
( – )
+ + +
≅ + ′ +
′′
1 1 1
2
2
(4.4)
4.1 LA SERIE DE TAYLOR 79
80 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
De manera similar, se agregan términos adicionales para desarrollar la expansión com-
pleta de la serie de Taylor:
f x f x f x x x
f x
x x
f x
x x
f x
n
x x R
i i i i i
i
i i
i
i i
n
i
i i
n
n
( ) ( ) ( )( – )
( )
!
( – )
( )
!
( – )
( )
!
( – )
( ) ( )
+ + +
+ +
= + ′ +
′′
+ + + +
1 1 1
2
3
1
3
1
2
3
 (4.5)
Observe que debido a que la ecuación (4.5) es una serie infinita, el signo igual reempla-
za al signo de aproximación que se utiliza en las ecuaciones (4.2) a (4.4). Se incluye un
término residual para considerar todos los términos desde el n + 1 hasta infinito:
R
f
n
x x
n
n
i i
n
=
+
+
+
+
( )
( )
( )!
( – )
1
1
1
1
ξ
(4.6)
donde el subíndice n indica que éste es el residuo de la aproximación de n-ésimo orden
y x es un valor de x que se encuentra en algún punto entre xi y xi+l. La x es tan importan-
te que se dedica una sección completa (sección 4.1.1) para su estudio. Por ahora es sufi-
ciente darse cuenta de que existe este valor que da una estimación exacta del error.
Con frecuencia es conveniente simplificar la serie de Taylor definiendo un tamaño
de paso o incremento h = xi+1 – xi y expresando la ecuación (4.5) como:
f x f x f x h
f x
h
f x
h
f x
n
h R
i i i
i i
n
i n
n
( ) ( ) ( )
( )
!
( )
!
( )
!
( ) ( )
+ = + ′ +
′′
+ + + +
1
2
3
3
2 3
 (4.7)
donde el término residual es ahora
R
f
n
h
n
n
n
=
+
+
+
( )
( )
( )!
1
1
1
ξ
(4.8)
EJEMPLO 4.1 Aproximaciones de un polinomio mediante la serie de Taylor
Planteamiento del problema. Use expansiones de la serie de Taylor de los órdenes
cero hasta cuatro para aproximar la función
f(x) = –0.1x4
– 0.15x3
– 0.5x2
– 0.25x + 1.2
desde xi = 0 con h = 1. Esto es, prediga el valor de la función en xi+l = 1.
Solución. Ya que se trata de una función conocida, es posible calcular valores de f(x)
entre 0 y 1. Los resultados (véase figura 4.1) indican que la función empieza en f(0) =
1.2 y hace una curva hacia abajo hasta f(1) = 0.2. Por lo tanto, el valor verdadero que se
trata de predecir es 0.2.
La aproximación de la serie de Taylor con n = 0 es [ecuación (4.2)]
f(xi+1) ⬵ 1.2
Como se muestra en la figura 4.1, la aproximación de orden cero es una constante. Usan-
do esta formulación resulta un error de truncamiento [recuerde la ecuación (3.2)] de
Et = 0.2 – 1.2 = –1.0
en x = 1.
Para n = 1, se debe determinar y evaluar la primer derivada en x = 0:
f′(0) = –0.4(0.0)3
– 0.45(0.0)2
– 1.0(0.0) – 0.25 = –0.25
La aproximación de primer orden es entonces [véase ecuación (4.3)]
f(xi+1) ⬵ 1.2 – 0.25h
que se emplea para calcular f(1) = 0.95. La aproximación empieza a coincidir con la
trayectoria hacia abajo de la función en forma de una línea recta inclinada (véase figura
4.1). De esta manera, el error de truncamiento se reduce a
Et = 0.2 – 0.95 = –0.75
Para n = 2, se evalúa la segunda derivada en x = 0:
f′(0) = –1.2(0.0)2
– 0.9(0.0) – 1.0 = –1.0
Entonces, de acuerdo con la ecuación (4.4)
f(xi+1) ⬵ 1.2 – 0.25h – 0.5h2
y sustituyendo h = 1, f(1) = 0.45. Al incluirse la segunda derivada se añade una curvatu-
ra descendente que proporciona una mejor estimación, como se muestra en la figura 4.1.
Además, el error de truncamiento se reduce a 0.2 – 0.45 = –0.25.
Los términos adicionales mejoran aún más la aproximación. En efecto, la inclusión
de la tercera y de la cuarta derivadas da como resultado exactamente la misma ecuación
del principio:
f(x) = 1.2 – 0.25h – 0.5h2
– 0.15h3
– 0.1h4
Segundo
orden
Primer orden
V
e
r
d
a
d
e
r
o
f(x)
1.0
0.5
0
xi = 0 xi + 1 = 1 x
f(xi + 1)
f(xi + 1) ⯝ f(xi) + f⬘(xi)h + h2
h
f ⬙(xi)
2!
f(xi + 1) ⯝ f(xi) + f⬘(xi)h
f(xi + 1) ⯝ f(xi)
f(xi)
Orden cero
FIGURA 4.1
Aproximación de f(x) = –0.1x4
– 0.15x3
– 0.5x2
– 0.25x + 1.2 en x = 1 mediante
expansiones de la serie de Taylor de órdenes cero, primero y segundo.
4.1 LA SERIE DE TAYLOR 81
82 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
donde el término residual es
R
f
h
4
5
5
5
0
= =
( )
( )
!
ξ
ya que la quinta derivada de un polinomio de cuarto orden es cero. Por consiguiente,
la expansión de la serie de Taylor hasta la cuarta derivada da una estimación exacta para
xi+l = 1:
f(1) = 1.2 – 0.25(1) – 0.5(1)2
– 0.15(1)3
– 0.1(1)4
= 0.2
En general, la expansión de la serie de Taylor de n-ésimo orden será exacta para un
polinomio de n-ésimo orden. Para otras funciones continuas y diferenciables, como las
exponenciales y las senoidales, no se obtiene una estimación exacta con un número fi-
nito de términos. Cada uno de los términos adicionales contribuye, aunque sea con poco,
al mejoramiento de la aproximación. Esto se muestra en el ejemplo 4.2, donde se obten-
dría un resultado exacto únicamente si se le agrega un número infinito de términos.
Aunque lo anterior es cierto, el valor práctico de las expansiones de la serie de Taylor
estriba, en la mayoría de los casos, en el uso de pocos términos que darán una aproxi-
mación lo suficientemente cercana a la solución verdadera para propósitos prácticos. La
determinación de cuántos términos se requieren para obtener una “aproximación razo-
nable” se basa en el término residual de la expansión. Recuerde que el término residual
es de la forma general de la ecuación (4.8). Dicha fórmula tiene dos grandes inconve-
nientes. Primero, x no se conoce con exactitud, sino que sólo se sabe que está entre xi y
xi+1. Segundo, para la evaluación de la ecuación (4.8) se requiere determinar la (n +
1)ésima derivada de f(x). Para hacerlo, se necesita conocer f(x). Pero si ya se conoce f(x),
entonces no hay razón para realizar la expansión de la serie de Taylor.
A pesar de este dilema, la ecuación (4.8) aún resulta útil para la evaluación de erro-
res de truncamiento. Esto se debe a que se tiene control sobre el término h de la ecuación.
En otras palabras, es posible decidir qué tan lejos de x se desea evaluar f(x) y controlar
el número de términos que queremos tener en la expansión. Por esto, la ecuación (4.8)
se expresa usualmente como
Rn = O(hn+1
)
donde la nomenclatura O(hn+1
) significa que el error de truncamiento es de orden hn+1
.
Es decir, el error es proporcional al incremento h elevado a la (n + 1)ésima potencia.
Aunque esta aproximación no implica nada en relación con la magnitud de las derivadas
que multiplican hn+1
, es extremadamente útil para evaluar el error comparativo de los
métodos numéricos que se basan en expansiones de la serie de Taylor. Por ejemplo, si el
error es O(h) y el incremento se reduce a la mitad, entonces el error también se reduci-
rá a la mitad. Por otro lado, si el error es O(h2
) y el incremento se reduce a la mitad,
entonces el error se reducirá a una cuarta parte.
En general, se considera que el error de truncamiento disminuye agregando térmi-
nos a la serie de Taylor. En muchos casos, si h es suficientemente pequeño, entonces el
término de primer orden y otros términos de orden inferior causan un porcentaje des-
proporcionadamente alto del error. Esta propiedad se ilustra en el ejemplo siguiente.
EJEMPLO 4.2 Uso de la expansión de la serie de Taylor para aproximar una función
con un número infinito de derivadas
Planteamiento del problema. Utilice expansiones de la serie de Taylor con n desde
0 hasta 6 para aproximar f(x) = cos x en xi+1 = p/3 con base en el valor de f(x) y sus
derivadas en xi = p/4. Observe que esto significa que h = p/3 – p/4 = p/12.
Solución. Como en el ejemplo 4.1, el conocimiento de la función original implica que
se puede determinar el valor exacto de f(p/3) = 0.5.
La aproximación de orden cero es [ecuación (4.3)]
f
π π
3
0 707106781
⎛
⎝
⎞
⎠
≅ ⎛
⎝
⎞
⎠
=
cos
4
.
que representa un error relativo porcentual de
εt = =
0 5 0 707106781
0 5
100 41 4
. – .
.
% – . %
Para la aproximación de primer orden, se agrega el término de la primera derivada
donde f′(x) = –sen x:
f
π π π π
3 12
0 521986659
⎛
⎝
⎞
⎠
≅ ⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
=
cos
4
sen
4
– .
que tiene et = –4.40 por ciento.
Para la aproximación de segundo orden, se agrega el término de la segunda deriva-
da donde f′′(x) = –cos x:
f
π π π π π π
3 4 12 12
0 497754491
2
⎛
⎝
⎞
⎠
≅ ⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
=
cos
4
sen
cos ( / 4)
2
– – .
con et = 0.449 por ciento. Entonces, al agregar más términos a la serie se obtiene una
mejor aproximación.
Este proceso continúa y sus resultados se enlistan, como en la tabla 4.1. Observe que
las derivadas nunca se aproximan a cero, como es el caso con el polinomio del ejemplo
4.1. Por lo tanto, cada término que se le agrega a la serie genera una mejor aproximación.
TABLA 4.1 Aproximaciones mediante la serie de Taylor de f(x) = cos x en xi+1 =
p/3 usando como punto base p/4. Los valores se presentan para varios
órdenes (n) de aproximación.
Orden n f (n)
(x) f(π/3) εt
0 cos x 0.707106781 –41.4
1 –sen x 0.521986659 –4.4
2 –cos x 0.497754491 0.449
3 sen x 0.499869147 2.62 × 10–2
4 cos x 0.500007551 –1.51 × 10–3
5 –sen x 0.500000304 –6.08 × 10–5
6 –cos x 0.499999988 2.40 × 10–6
4.1 LA SERIE DE TAYLOR 83
84 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
Sin embargo, observe también que la mejor aproximación se consigue con los primeros
términos. En este caso, al agregar el tercer término, el error se redujo al 2.62 × 10–2
%, lo
cual significa que se alcanzó el 99.9738% del valor exacto. Por consiguiente, aunque se
le agreguen más términos a la serie el error decrece, aunque la mejoría será mínima.
4.1.1 El residuo en la expansión de la serie de Taylor
Antes de mostrar cómo se utiliza la serie de Taylor en la estimación de errores numéri-
cos, se debe explicar por qué se incluye el argumento x en la ecuación (4.8). Un desarro-
llo matemático se presenta en el cuadro 4.1. Ahora se expondrá una interpretación más
visual. Después se extiende este caso específico a una formulación más general.
Suponga que se trunca la expansión de la serie de Taylor [ecuación (4.7)] después
del término de orden cero para obtener:
f(xi+1) ⬵ f(xi)
En la figura 4.2 se muestra una representación gráfica de esta predicción de orden cero.
El residuo o error de esta predicción, que se indica también en la figura, consiste de la
serie infinita de términos que fueron truncados:
R f x h
f x
h
f x
h
i
i i
0
2
3
3
2 3
= ′ +
′′
+ +
( )
( )
!
( )
!
( )

Obviamente no resulta conveniente manipular el residuo en este formato de serie infini-
ta. Se obtiene una simplificación truncando el residuo mismo de la siguiente manera
R0 ⬵ f′(xi)h (4.9)
FIGURA 4.2
Representación gráfica de una predicción de orden cero con la serie de Taylor y del residuo.
Predicción de orden cero
Predicción exacta
f (x)
xi xi + 1 x
h
f(xi)
R0
Aunque como se mencionó en la sección previa, por lo común las derivadas de orden
inferior cuentan mucho más en el residuo que los términos de las derivadas de or-
den superior; este resultado todavía es inexacto, ya que se han despreciado los términos
de segundo orden y de órdenes superiores. Esta “inexactitud” se denota mediante el
símbolo de aproximación a la igualdad (⬵) empleado en la ecuación (4.9).
Una simplificación alternativa que transforma la aproximación en una equivalencia
está basada en un esquema gráfico. Como se muestra en la figura 4.3 el teorema del
valor medio para la derivada establece que si una función f(x) y su primera derivada
son continuas en el intervalo de xi a xi+1, entonces existe al menos un punto en la función
que tiene una pendiente, denotada por f′(x), que es paralela a la línea que une f(xi) y
f(xi+1). El parámetro x marca el valor x donde se presenta la pendiente (figura 4.3). Una
ilustración física de este teorema es la siguiente: si usted viaja entre dos puntos a una
velocidad promedio, habrá al menos un momento durante el curso del viaje en que usted
se mueve a esa velocidad promedio.
Al utilizar este teorema resulta fácil darse cuenta, como se muestra en la figura (4.3),
de que la pendiente f′(x) es igual al cociente de la elevación R0 entre el recorrido h, o
′ =
f
R
h
( )
ξ 0
que se puede reordenar para obtener
R0 = f′(x)h (4.10)
Por lo tanto, se ha obtenido la versión de orden cero de la ecuación (4.8). Las versiones
de orden superior son tan sólo una extensión lógica del razonamiento usado para encon-
trar la ecuación (4.10). La versión de primer orden es
R
f
h
1
2
2
=
′′( )
!
ξ
(4.11)
FIGURA 4.3
Representación gráfica del teorema del valor medio para la derivada.
f(x)
xi xi + 1
 x
h
R0
Pendiente = f⬘()
Pendiente =
R0
h
4.1 LA SERIE DE TAYLOR 85
86 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
En este caso, el valor de x será el valor de x que corresponde a la derivada de segundo
orden que hace exacta a la ecuación (4.11). Es posible obtener versiones similares
de orden superior a partir de la ecuación (4.8).
4.1.2 Uso de la serie de Taylor para estimar los errores
de truncamiento
Aunque la serie de Taylor será muy útil en la estimación de los errores de truncamiento
a lo largo de este libro, quizá no resulte claro cómo la expansión se aplica a los métodos
numéricos. De hecho, esto ya se hizo en el ejemplo de la caída del paracaidista. Recuer-
de que el objetivo de los ejemplos 1.1 y 1.2 fue predecir la velocidad como una función
del tiempo. Es decir, se deseaba determinar v(t). Como se especificó en la ecuación (4.5),
v(t) se puede expandir en una serie de Taylor del siguiente modo:
v v v
v
( ) ( ) ( )( – )
( )
!
( – )
t t t t t
t
t t R
i i i i i
i
i i n
+ + +
= + ′ +
′′
+ +
1 1 1
2
2
 (4.12)
Ahora, truncando la serie después del término con la primera derivada, se obtiene:
v(ti+l) = v(ti) + v′(ti)(ti+l – ti) + R1 (4.13)
En la ecuación (4.13) se despeja obteniendo
′ = +
+ +
v
v v
( )
( ) – ( )
–
–
–
t
t t
t t
R
t t
i
i i
i i i
1
1
1
1 1
Aproximación
de primer orden
Error de
truncamiento


 


(4.14)
La primera parte de la ecuación (4.14) es exactamente la misma relación que se usó para
aproximar la derivada del ejemplo 1.2 [ecuación (1.11)]. Sin embargo, con el método de
la serie de Taylor se ha obtenido una estimación del error de truncamiento asociado con
esta aproximación de la derivada. Utilizando las ecuaciones (4.6) y (4.14) se tiene
R
t t
t t
i i
i i
1
1
1
2
+
+
=
′
–
( )
!
( – )
v ξ
(4.15)
o
R
t t
O t t
i i
i i
1
1
1
+
+
=
–
( – ) (4.16)
Por lo tanto, la estimación de la derivada [ecuación (1.11) o la primera parte de la ecua-
ción (4.14)] tiene un error de truncamiento de orden ti+1 – ti. En otras palabras, el error
en nuestra aproximación de la derivada debería ser proporcional al tamaño del incre-
mento. Entonces, si éste se divide a la mitad, se esperaría que el error de la derivada se
reduzca a la mitad.
EJEMPLO 4.3 El efecto de no linealidad y del tamaño del incremento en la aproximación
de la serie de Taylor
Planteamiento del problema. En la figura 4.4 se grafica la función
f(x) = xm
(E4.3.1)
para m = 1, 2, 3 y 4 en el rango de x = 1 a 2. Observe que para m = 1 la función es lineal,
y conforme m se incrementa, se presenta mayor curvatura o no linealidad dentro de la
función.
FIGURA 4.4
Gráfica de la función f(x) = xm
para m = 1, 2, 3 y 4. Note que la función tiende a ser más
no lineal cuando aumenta m.
1
0
5
10
15
2 x
f(x)
m = 2
3
=
m
m
=
4
1
=
m
Utilizar la serie de Taylor de primer orden para aproximar la función con diversos valo-
res del exponente m y del tamaño de incremento h.
4.1 LA SERIE DE TAYLOR 87
88 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
Solución. La ecuación (E4.3.1) se aproxima por una expansión de la serie de Taylor
de primer orden:
f(xi+1) = f(xi) + mxi
m–1
h (E4.3.2)
la cual tiene un residuo de
R
f x
h
f x
h
f x
h
i i i
1
2
3
3
4
4
2 3 4
=
′′
+ + +
( )
!
( )
!
( )
!
( ) ( )

Primero, puede examinarse cómo se comporta la aproximación conforme m aumenta;
es decir, conforme la función se vuelve más no lineal. Para m = 1, el valor verdadero de
la función en x = 2 es 2. La serie de Taylor nos da
f(2) = 1 + 1(1) = 2
y
R1 = 0
El residuo es cero porque la segunda derivada y las derivadas de orden superior de una
función lineal son cero. Entonces, como es de esperarse, la expansión de la serie de
Taylor de primer orden es perfecta cuando la función de que se trata es lineal.
Para m = 2, el valor real es f(2) = 22
= 4. La aproximación de la serie de Taylor de
primer orden es
f(2) = 1 + 2(1) = 3
y
R1
2
2
2
1 0 0 1
= + + + =
( ) 
Debido a que la función es una parábola, la aproximación mediante una línea recta da
por resultado una discrepancia. Observe que el residuo se determina en forma exacta.
Para m = 3, el valor real es f(2) = 23
= 8. La aproximación con la serie de Taylor es
f(2) = 1 + 3(1)2
(1) = 4
y
R1
6
2
2 6
6
3
1 1 0 0 4
= + + + + =
( ) ( ) 
Otra vez, hay una discrepancia que se puede determinar exactamente a partir de la serie
de Taylor.
Para m = 4, el valor real es f(2) = 24
= 16. La aproximación con la serie de Taylor
es
f(2) = 1 + 4(1)3
(1) = 5
y
R1
12
2
2 24
6
3 24
24
4
1 1 1 0 0 11
= + + + + + =
( ) ( ) ( )
Considerando estos cuatro casos, se observa que R1 se incrementa conforme la
función empieza a ser cada vez más no lineal. Además, R1 da cuenta exacta de la discre-
pancia, porque la ecuación (E4.3.1) es un simple monomio con un número finito de
derivadas. Esto permite una completa determinación del residuo de la serie de Taylor.
Ahora examinemos la ecuación (E4.3.2) para el caso en que m = 4 y observe cómo
R1 cambia cuando el tamaño del incremento h varía. Para m = 4, la ecuación (E4.3.2) es
f x h f x x h
i
( ) ( )
+ = + 4 3
Si x = 1, f(1) = 1 y esta ecuación se expresa como
f(1 + h) = 1 + 4h
con un residuo de
R1 = 6h2
+ 4h3
+ h4
Lo cual nos lleva a la conclusión de que la discrepancia disminuirá conforme h se re-
duzca. Entonces, para valores suficientemente pequeños de h, el error debería ser pro-
porcional a h2
. Es decir, conforme h se reduce a la mitad, el error se reduce a la cuarta
parte. Este comportamiento se confirma en la tabla 4.2 y en la figura 4.5.
兩Pendiente兩 = 2
0.1
1
0.001
0.01
0.1
1
10
0.01 h
R1
FIGURA 4.5
Gráfica en escala log-log del residuo R1 para la aproximación de la función f(x) = x4
me-
diante la serie de Taylor de primer orden contra el tamaño del incremento h. La línea con la
pendiente 2 también se muestra para indicar que conforme h disminuye, el error se vuelve
proporcional a h2
.
4.1 LA SERIE DE TAYLOR 89
90 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
TABLA 4.2 Comparación del valor exacto de la función f(x) = x4
con la aproximación
de la serie de Taylor de primer orden. Ambos, la función y la
aproximación, se evalúan en x + h, donde x = 1.
Aproximación
h Verdadero de primer orden R1
1 16 5 11
0.5 5.0625 3 2.0625
0.25 2.441406 2 0.441406
0.125 1.601807 1.5 0.101807
0.0625 1.274429 1.25 0.024429
0.03125 1.130982 1.125 0.005982
0.015625 1.063980 1.0625 0.001480
De esta forma, se concluye que el error de la aproximación por serie de Taylor de
primer orden disminuye conforme m se aproxima a 1 y conforme h disminuye. Intui-
tivamente, esto significa que la serie de Taylor adquiere más exactitud cuando la función
que se está aproximando se vuelve más semejante a una línea recta sobre el intervalo de
interés. Esto se logra reduciendo el tamaño del intervalo o “enderezando” la función por
reducción de m. Es obvio que dicha opción usualmente no está disponible en el mundo
real porque las funciones para analizar son, en forma general, dictadas en el contexto
del problema físico. En consecuencia, no se tiene control sobre la falta de linealidad y
el único recurso consiste en reducir el tamaño del incremento o incluir términos adicio-
nales de la expansión de la serie de Taylor.
4.1.3 Diferenciación numérica
A la ecuación (4.14) se le conoce con un nombre especial en el análisis numérico: dife-
rencia finita dividida y generalmente se representa como
′ = +
+
+
+
f x
f x f x
x x
O x x
i
i i
i i
i i
( )
( ) – ( )
–
( – )
1
1
1
(4.17)
o
′ = +
f x
f
h
O h
i
i
( ) ( )
∆
(4.18)
donde a ∆fi se le conoce como la primera diferencia hacia adelante y a h se le llama el
tamaño del paso o incremento; esto es, la longitud del intervalo sobre el cual se realiza
la aproximación. Se le llama diferencia “hacia delante”, porque usa los datos en i e i +
1 para estimar la derivada (figura 4.6a). Al término completo ∆f/h se le conoce como
primer diferencia finita dividida.
Esta diferencia dividida hacia adelante es sólo una de tantas que pueden desarro-
llarse a partir de la serie de Taylor para la aproximación de derivadas numéricas. Por
ejemplo, las aproximaciones de la primera derivada utilizando diferencias hacia atrás
o diferencias centradas se pueden desarrollar de una manera similar a la de la ecuación
(4.14). Las primeras usan valores en xi–1 y xi (figura 4.6b); mientras que las segundas
utilizan valores igualmente espaciados alrededor del punto donde la derivada está esti-
mada (figura 4.6c). Es posible desarrollar aproximaciones más exactas de la primera
derivada incluyendo términos de orden más alto de la serie de Taylor. Finalmente, todas
las versiones anteriores se pueden desarrollar para derivadas de segundo orden, de tercer
orden y de órdenes superiores. En las siguientes secciones se dan resúmenes breves que
ilustran cómo se obtienen algunos de estos casos.
Aproximación a la primera derivada con diferencia hacia atrás. La serie de Tay-
lor se expande hacia atrás para calcular un valor anterior sobre la base del valor actual,
f x f x f x h
f x
h
i i i
i
( ) ( ) – ( )
( )
!
–
–1
2
2
= ′ +
′′
 (4.19)
Truncando la ecuación después de la primera derivada y reordenando los términos se
obtiene
′ ≅ =
∇
f x
f x f x
h
f
h
i
i i
( )
( ) – ( )
–1 1
(4.20)
donde el error es O(h), y a ∇fi se le conoce como primera diferencia dividida hacia atrás.
Véase la figura 4.6b para una representación gráfica.
Aproximación a la primera derivada con diferencias centradas. Una tercera
forma de aproximar la primera derivada consiste en restar la ecuación (4.19) de la ex-
pansión de la serie de Taylor hacia adelante:
f x f x f x h
f x
h
i i i
i
( ) ( ) ( )
( )
!
+ = + ′ +
′′
+
1
2
2
 (4.21)
para obtener
f x f x f x h
f x
h
i i i
i
( ) ( ) ( )
( )
!
–
( )
+ = + ′ + +
1 1
3
3
2
2
3

de donde se despeja
′ = +
f x
f x f x
h
f x
h
i
i i i
( )
( ) – ( )
–
( )
–
–
( )
1 1
3
2
2 6

o
′ = +
f x
f x f x
h
O h
i
i i
( )
( ) – ( )
– ( )
–
1 1 2
2
(4.22)
La ecuación (4.22) es una representación de las diferencias centradas de la primera
derivada. Observe que el error de truncamiento es del orden de h2
en contraste con las
aproximaciones hacia adelante y hacia atrás, que fueron del orden de h. Por lo tanto, el
análisis de la serie de Taylor ofrece la información práctica de que la diferencia centra-
da es una representación más exacta de la derivada (figura 4.6c). Por ejemplo, si dismi-
nuimos el tamaño del incremento a la mitad, usando diferencias hacia atrás o hacia
adelante, el error de truncamiento se reducirá aproximadamente a la mitad; mientras
que con diferencias centradas el error se reduciría a la cuarta parte.
4.1 LA SERIE DE TAYLOR 91
92 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
FIGURA 4.6
Gráfica de aproximaciones con diferencias finitas divididas de la primera derivada:
a) hacia delante, b) hacia atrás, c) centrales.
2h
xi–1 xi+1 x
f(x)
Derivada verdadera
Aproximación
c)
h
xi–1 xi x
f(x)
Derivada verdadera
A
p
r
o
x
i
m
a
c
i
ó
n
b)
h
xi xi+1 x
f(x)
Derivada verdadera
Aproximación
a)
EJEMPLO 4.4 Aproximación de derivadas por diferencias finitas divididas
Planteamiento del problema. Use aproximaciones con diferencias finitas hacia ade-
lante y hacia atrás de O(h) y una aproximación de diferencia centrada de O(h2
) para
estimar la primera derivada de
f(x) = –0.1x4
– 0.15x3
– 0.5x2
– 0.25x + 1.2
en x = 0.5 utilizando un incremento de h = 0.5. Repita el cálculo con h = 0.25. Observe
que la derivada se calcula directamente como
f′(x) = –0.4x3
– 0.45x2
– 1.0x – 0.25
y se puede utilizar para calcular el valor verdadero como f′(0.5) = –0.9125.
Solución. Para h = 0.5, la función se emplea para determinar
xi–1 = 0 f(xi–1) = 1.2
xi = 0.5 f(xi) = 0.925
xi+1 = 1.0 f(xi+1) = 0.2
Esos valores sirven para calcular las diferencias divididas hacia adelante [ecuación
(4.17)],
′ ≅ = =
f t
( . )
. – .
.
– . . %
0 5
0 2 0 925
0 5
1 45 58 9
ε
la diferencia dividida hacia atrás [ecuación (4.20)],
′ ≅ = =
f t
( . )
. – .
.
– . . %
0 5
0 925 1 2
0 5
0 55 39 7
ε
y la diferencia dividida centrada [ecuación (4.22)],
′ ≅ = =
f t
( . )
. – .
.
– . . %
0 5
0 2 1 2
1 0
1 0 9 6
ε
Para h = 0.25,
xi–1 = 0.25 f(xi–1) = 1.10351563
xi = 0.5 f(xi) = 0.925
xi+1 = 0.75 f(xi+1) = 0.63632813
que se utilizan para calcular la diferencia dividida hacia adelante,
′ ≅ = =
f t
( . )
. – .
.
– . . %
0 5
0 63632813 0 925
0 25
1 155 26 5
ε
la diferencia dividida hacia atrás,
′ ≅ = =
f t
( . )
. – .
.
– . . %
0 5
0 925 1 10351563
0 25
0 714 21 7
ε
y la diferencia dividida centrada,
′ ≅ = =
f t
( . )
. – .
.
– . . %
0 5
0 63632813 1 10351563
0 5
0 934 2 4
ε
4.1 LA SERIE DE TAYLOR 93
94 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
Para ambos tamaños de paso, la aproximación en diferencias centrales es más exac-
ta que las diferencias hacia adelante y hacia atrás. También, como se pronosticó con el
análisis de la serie de Taylor, dividiendo a la mitad el incremento, se tiene aproximada-
mente la mitad del error en las diferencias hacia atrás y hacia adelante y una cuarta
parte de error en la diferencia centrada.
Aproximaciones por diferencias finitas para derivadas de orden superior. Ade-
más de las primeras derivadas, la expansión en serie de Taylor sirve para obtener esti-
maciones numéricas de las derivadas de orden superior. Para esto, se escribe la expansión
en serie de Taylor hacia adelante para f(xi+2) en términos de f(xi):
f x f x f x h
f x
h
i i i
i
( ) ( ) ( )( )
( )
!
( )
+ = + ′ +
′′
+
2
2
2
2
2  (4.23)
La ecuación (4.21) se multiplica por 2 y se resta de la ecuación (4.23) para obtener
f(xi+2) – 2 f(xi+1) = –f(xi) + f′′(xi)h2
+ …
de donde se despeja
′′ =
+
+
+ +
f x
f x f x f x
h
O h
i
i i i
( )
( ) – ( ) ( )
( )
2 1
2
2
(4.24)
Esta relación se llama la segunda diferencia finita dividida hacia adelante. Manipula-
ciones similares se emplean para obtener la versión hacia atrás
′′ =
+
+
f x
f x f x f x
h
O h
i
i i i
( )
( ) – ( ) ( )
( )
– –
2 1 2
2
y la versión centrada
′′ =
+
+
+
f x
f x f x f x
h
O h
i
i i i
( )
( ) – ( ) ( )
( )
–
1 1
2
2
2
Como fue el caso con las aproximaciones de la primer derivada, el caso centrado es más
exacto. Observe también que la versión centrada puede ser expresada en forma alterna-
tiva como
′′ ≅
+
f x
f x f x
h
f x f x
h
h
i
i i i i
( )
( ) – ( )
–
( ) – ( )
–
1 1
Así, como la segunda derivada es una derivada de la derivada, la aproximación de la se-
gunda diferencia finita dividida es una diferencia de dos primeras diferencias divididas.
Se volverá al tema de la diferenciación numérica en el capítulo 23. Aquí hemos
presentado este tema porque es un muy buen ejemplo de por qué la serie de Taylor es
importante en los métodos numéricos. Además, varias de las fórmulas vistas en esta
sección se emplearán antes del capítulo 23.
4.2 PROPAGACIÓN DEL ERROR
El propósito de esta sección consiste en estudiar cómo los errores en los números pueden
propagarse a través de las funciones matemáticas. Por ejemplo, si se multiplican dos
números que tienen errores, nos gustaría estimar el error de este producto.
4.2.1 Funciones de una sola variable
Suponga que se tiene la función f(x) que es dependiente de una sola variable independien-
te x. Considere que x
~ es una aproximación de x. Por lo tanto, se desearía evaluar el efec-
to de la discrepancia entre x y x
~ en el valor de la función. Esto es, se desearía estimar
∆f(x
~) = |f(x) – f(x
~)|
El problema para evaluar ∆f(x
~) es que se desconoce f(x) porque se desconoce x. Se su-
pera esta dificultad si x
~ está cercana a x y f(x
~) es continua y diferenciable. Si se satisfa-
cen estas condiciones se utiliza una serie de Taylor para calcular f(x) cerca de f(x
~),
f x f x f x x x
f x
x x
( ) ( ˜) ( ˜)( – ˜)
( ˜)
( – ˜)
= + ′ +
′′
+
2
2

Quitando el segundo término, los de orden superior, y reordenando, se obtiene
f x f x f x x x
( ) – ( ˜) ( ˜)( – ˜)
≅ ′
Error verdadero
兩f⬘(x)兩⌬x
Error estimado
x x x
f(x)
⌬x
FIGURA 4.7
Representación gráfica de la propagación del error de primer orden.
4.2 PROPAGACIÓN DEL ERROR 95
96 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
o
∆f x f x x x
( ˜) ( ˜)( – ˜)
= ′ (4.25)
donde ∆f(x
~) = |f(x) – f(x
~)| representa una estimación del error de la función y ∆x
~ = |x – x
~|
representa una estimación del error de x. La ecuación (4.25) proporciona la capacidad de
aproximar el error en f(x) dando la derivada de una función y una estimación del error en
la variable independiente. La figura 4.7 es una gráfica que representa esta operación.
EJEMPLO 4.5 Propagación del error en una función de una variable
Planteamiento del problema. Dado un valor de x
~ = 2.5 con un error ∆x
~ = 0.01, esti-
me el error resultante en la función f(x) = x3
.
Solución. Con la ecuación (4.25),
∆f(x
~) ⬵ 3(2.5)2
(0.01) = 0.1875
Ya que f(2.5) = 15.625, se pronostica que
f(2.5) = 15.625 ± 0.1875
o que el valor verdadero se encuentra entre 15.4375 y 15.8125. De hecho, si x fuera real-
mente 2.49, la función se evaluaría como 15.4382, y si x fuera 2.51, el valor de la función
sería 15.8132. Para este caso, el análisis del error de primer orden proporciona una esti-
mación adecuada del error verdadero.
4.2.2 Funciones de más de una variable
El enfoque anterior puede generalizarse a funciones que sean dependientes de más de
una variable independiente, lo cual se realiza con una versión para varias variables de la
serie de Taylor. Por ejemplo, si se tiene una función de dos variables independientes, u
y v, la serie de Taylor se escribe como
f u f u
f
u
u u
f
f
u
u u
f
u
u u
f
i i i i i i i i
i i i i i i
i i
( , ) ( , ) ( – ) ( – )
!
( – ) ( – )( – )
( – )
+ + + +
+ + +
+
= +
∂
∂
+
∂
∂
+
∂
∂
+
∂
∂ ∂
⎡
⎣
⎢
+
∂
∂
⎤
⎦
1 1 1 1
2
2 1
2
2
1 1
2
2 1
2
1
2
2
v v
v
v v
v
v v
v
v v ⎥
⎥ +
(4.26)
donde todas las derivadas parciales se evalúan en el punto base i. Si no se consideran
todos los términos de segundo orden y de orden superior, de la ecuación (4.26) puede
despejarse
∆ ∆ ∆
f u
f
u
u
f
(˜,˜) ˜ ˜
v
v
v
=
∂
∂
+
∂
∂
donde ∆u
~ y ∆v
~ son estimaciones del error en u y v, respectivamente.
Para n variables independientes x
~
1, x
~
2,…, x
~
n teniendo errores ∆x
~
1, ∆x
~
2,…, ∆xn se
satisface la siguiente relación general:
∆ ∆ ∆ ∆
f x x x
f
x
x
f
x
x
f
x
x
n
n
n
( ˜ , ˜ , , ˜ ) ˜ ˜ ˜
1 2
1
1
2
2
… 
≅
∂
∂
+
∂
∂
+ +
∂
∂
(4.27)
EJEMPLO 4.6 Propagación del error en una función con varias variables
Planteamiento del problema. La deflexión y de la punta de un mástil en un bote de
vela es
y
FL
EI
=
4
8
donde F = una carga lateral uniforme (lb/ft), L = altura (ft), E = el módulo de elasticidad
(lb/ft2
), e I = el momento de inercia (ft4
). Estime el error en y, dados los siguientes datos:
F
~
= 50 lb/ft ∆F
~
= 2 lb/ft
L
~
= 30 ft ∆L
~
= 0.1 ft
E
~
= 1.5 × 108
lb/ft2
∆E
~
= 0.01 × 108
lb/ft2
I
~
= 0.06 ft4
∆I
~
= 0.0006 ft4
Solución. Empleando la ecuación (4.27) se tiene
∆ ∆ ∆ ∆ ∆
y F L E I
y
F
F
y
L
L
y
E
E
y
I
I
( ˜, ˜, ˜, ˜) ˜ ˜ ˜ ˜
=
∂
∂
+
∂
∂
+
∂
∂
+
∂
∂
o
∆ ∆ ∆ ∆ ∆
y F L E I
L
EI
F
FL
EI
L
FL
E I
E
FL
EI
I
( ˜, ˜, ˜, ˜)
˜
˜˜
˜
˜ ˜
˜˜
˜
˜ ˜
˜ ˜
˜
˜ ˜
˜˜
˜
≅ + + +
4 3 4
2
4
2
8 2 8 8
Al sustituir los valores apropiados se tiene
∆y = 0.0225 + 0.0075 + 0.00375 + 0.005625 = 0.039375
Por lo tanto, y = 0.5625 ± 0.039375. En otras palabras y está entre 0.523125 y 0.601875
ft. La validez de estas estimaciones se verifica sustituyendo los valores extremos para
las variables dentro de la ecuación que genera un mínimo exacto de
ymín =
×
=
48 29 9
8 1 51 10 0 0606
0 52407
4
8
( . )
( . ) .
.
y
ymáx =
×
=
52 30 1
8 1 49 10 0 0594
0 60285
4
8
( . )
( . ) .
.
Así, las estimaciones de primer orden están razonablemente cercanas de los valores
exactos.
4.2 PROPAGACIÓN DEL ERROR 97
98 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
La ecuación (4.27) se utiliza para definir relaciones en la propagación de errores
con las operaciones matemáticas comunes. Los resultados se resumen en la tabla 4.3. Se
deja el desarrollo de estas fórmulas como un ejercicio de tarea.
4.2.3 Estabilidad y condición
La condición de un problema matemático relaciona su sensibilidad con los cambios en
los datos de entrada. Se dice que un cálculo es numéricamente inestable si la inexactitud
de los valores de entrada se aumenta considerablemente por el método numérico.
Estas ideas pueden estudiarse usando una serie de Taylor de primer orden
f(x) = f(x
~) + f′(x
~)(x – x
~)
Esta relación se emplea para estimar el error relativo de f(x) como en
f x f x
f x
f x x x
f x
( ) – ( ˜)
( )
( ˜)( – ˜)
( ˜)
≅
′
El error relativo de x está dado por
x x
x
– ˜
˜
TABLA 4.3 El error estimado relacionado con las
operaciones matemáticas comunes
usando números inexactos u
~ y v
~.
Operación Error estimado
Adición ∆(u
~ + v
~) ∆u
~ + ∆v
~
Sustracción ∆(u
~ – v
~) ∆u
~ + ∆v
~
Multiplicación ∆(u
~ × v
~) |u
~|∆v
~ + |v~|∆u
~
División ∆
˜
˜
u
v
⎛
⎝
⎜
⎞
⎠
⎟
˜ ˜ ˜ ˜
˜
u v v u
v
∆ ∆
+
2
Un número de condición puede definirse como la razón entre estos errores relativos
Número de condición =
′
˜ ( ˜)
( ˜)
x f x
f x
(4.28)
El número de condición proporciona una medida de qué tanto una inexactitud de x se
aumenta por f(x). Un valor de 1 nos indica que el error relativo de la función es idéntico
al error relativo de x. Un valor mayor que 1 nos señala que el error relativo se amplifica;
mientras que para un valor menor que 1 nos dice que se atenúa. En funciones con valo-
res muy grandes se dice que están mal condicionadas. Cualquier combinación de los
factores en la ecuación (4.28), que aumente el valor numérico del número de condición,
tendería a aumentar inexactitudes al calcular f(x).
EJEMPLO 4.7 Número de condición
Planteamiento del problema. Calcule e interprete el número de condición para
f x x x
( ) ˜ .
= + ⎛
⎝
⎞
⎠
tan para =
2
π π
0 1
2
f x x x
( ) ˜ .
= + ⎛
⎝
⎞
⎠
tan para =
2
π π
0 01
2
Solución. El número de condición se calcula como
Número de condición =
tan
˜( / cos )
˜
x x
x
1 2
Para x
~ = p/2 + 0.1(p/2)
Número de condición =
1 7279 40 86
6 314
11 2
. ( . )
– .
– .
=
Así, la función está mal condicionada. Para x
~ = p/2 + 0.01 (p/2), esta situación es aún
peor:
Número de condición =
1 5865 4 053
63 66
101
. ( )
– .
–
=
En este caso, la causa principal del mal condicionamiento parece ser la derivada. Esto
tiene sentido, ya que en la vecindad de p/2, la tangente tiende tanto a infinito positivo
como a infinito negativo.
4.3 ERROR NUMÉRICO TOTAL
El error numérico total es la suma de los errores de truncamiento y de redondeo. En
general, la única forma para minimizar los errores de redondeo consiste en incrementar
el número de cifras significativas en la computadora. Adicionalmente, hemos notado
que el error de redondeo aumentará debido a la cancelación por resta o debido a que en
el análisis aumente el número de cálculos. En contraste, el ejemplo 4.4 demuestra que el
error de truncamiento se reduce disminuyendo el tamaño del incremento. Como una
disminución al tamaño del incremento puede llevar a una cancelación por resta o a un
incremento de los cálculos, los errores de truncamiento disminuyen conforme los errores
de redondeo se incrementan. En consecuencia, se debe afrontar el siguiente dilema: la
estrategia para disminuir un componente del error total conduce a un incremento en el
otro componente. En un cálculo, se podría disminuir el tamaño del incremento para
minimizar los errores de truncamiento únicamente para descubrir que el error de redon-
deo empieza a dominar la solución y ¡el error total crece! Así, el remedio empieza a ser
un problema (figura 4.8). Es un reto determinar el tamaño del incremento apropiado para
4.3 ERROR NUMÉRICO TOTAL 99
100 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
un cálculo en particular. Se deberá seleccionar un tamaño de incremento grande con la
finalidad de disminuir la cantidad de cálculos y errores de redondeo para no tener como
consecuencia grandes errores de truncamiento. Si el error total es como se muestra en la
figura 4.8, el reto es identificar un punto llamado de regreso disminuido donde los erro-
res de redondeo no muestran los beneficios de la reducción del tamaño del incremento.
En casos reales, sin embargo, tales situaciones son relativamente poco comunes,
porque muchas computadoras utilizan suficientes cifras significativas para que los erro-
res de redondeo no predominen. Aunque, algunas veces estos errores ocurren y surge
una clase de “principio numérico de incertidumbre” que da un límite absoluto sobre la
exactitud que puede obtenerse usando ciertos métodos numéricos computarizados.
4.3.1 Control de errores numéricos
En la mayoría de los casos prácticos, no se conoce el error exacto asociado con el mé-
todo numérico. Con excepción, claro está, de cuando obtenemos la solución exacta que
vuelve innecesaria la aproximación numérica. Por lo tanto, en la mayoría de las aplica-
ciones en ingeniería debe tenerse algún estimado del error en los cálculos.
No hay una forma sistemática ni general para evaluar el error numérico en todos los
problemas. En muchos casos, la estimación del error se basa en la experiencia y en el
buen juicio del ingeniero.
Aunque el análisis de error es hasta cierto punto un arte, se sugieren varios linea-
mientos prácticos de cálculo: lo primero, y principal, implica tratar de evitar la resta de
dos números casi iguales. Cuando esto ocurre, casi siempre se pierden cifras significa-
tivas. Algunas veces puede reordenarse o reformularse el problema para evitar la can-
celación por resta. Y si esto no es posible, se utiliza la aritmética de precisión extendida.
FIGURA 4.8
Representación gráfica de las relaciones entre el error de redondeo y el error de truncamien-
to que juegan un papel importante en el curso de métodos numéricos. Se presenta el punto
de regreso disminuido, donde el error de redondeo no muestra los beneficios de la reduc-
ción del tamaño del incremento.
Error total
Error de redondeo
Error de
truncamiento
Log tamaño de incremento
Log
error
Punto
de rendimientos
decrecientes
Además, cuando se suman o se restan números, es mejor ordenarlos y trabajar primero
con los números más pequeños, lo cual evita perder cifras significativas.
Más allá de estas sugerencias de cálculo, se puede intentar predecir el error numé-
rico total usando formulaciones teóricas. La serie de Taylor es la primera herramienta
de análisis tanto para el error de truncamiento como para el error de redondeo. Varios
ejemplos se han presentado en este capítulo. La predicción del error numérico total es
muy complicada para, incluso, un problema de tamaño moderado, y tiende a resultar
pesimista. Por lo tanto, únicamente se utiliza para tareas a pequeña escala.
La tendencia es avanzar con los cálculos numéricos e intentar estimar la exactitud
de sus resultados. Esto algunas veces se puede hacer observando si los resultados satis-
facen alguna condición o ecuación de prueba. O se pueden sustituir los resultados en la
ecuación original para verificar si se satisface dicha ecuación.
Por último, usted debería estar preparado para realizar experimentos numéricos que
aumenten su conocimiento de los errores de cálculo y de posibles problemas mal condi-
cionados. Tales experimentos pueden consistir en repetir los cálculos con diferentes ta-
maños de incremento o método, y comparar los resultados. Llega a emplearse un análisis
sensitivo para observar cómo la solución cambia cuando se modifican los parámetros del
modelo o los valores de entrada. Es factible probar distintos algoritmos numéricos que
tengan diferente fundamento matemático, que se basan en distintas estrategias de cálcu-
lo o que tengan diferentes características de convergencia y de estabilidad.
Cuando los resultados del cálculo numérico son extremadamente críticos y pueden
implicar la pérdida de vidas humanas o tener severas repercusiones económicas, es
apropiado tomar precauciones especiales. Esto implicaría el uso de dos o más técnicas
independientes para resolver el mismo problema y luego comparar los resultados.
El papel de los errores será un tópico de preocupación y análisis en todas las sec-
ciones de este libro. Se dejan estas investigaciones en secciones específicas.
4.4 EQUIVOCACIONES, ERRORES DE FORMULACIÓN
E INCERTIDUMBRE EN LOS DATOS
Aunque las siguientes fuentes de error no están directamente relacionadas con la mayor
parte de los métodos numéricos de este libro, en algunas ocasiones llegan a tener un gran
impacto en el éxito al realizar un modelado. Por lo tanto, se deben tener siempre en cuenta
cuando se apliquen técnicas numéricas en el contexto de los problemas del mundo real.
4.4.1 Errores por equivocación
A todos nos son familiares los errores por negligencia o por equivocación. En los pri-
meros años de las computadoras, los resultados numéricos erróneos algunas veces se
atribuían a las fallas de la propia computadora. En la actualidad esta fuente de error es
muy improbable y la mayor parte de las equivocaciones se atribuyen a fallas humanas.
Las equivocaciones llegan a ocurrir a cualquier nivel del proceso de modelación
matemática y pueden contribuir con todas las otras componentes del error. Es posible
evitarlos únicamente con un sólido conocimiento de los principios fundamentales y
mediante el cuidado con el que se enfoque y diseñe la solución del problema.
Las equivocaciones por lo general se pasan por alto en el estudio de un método
numérico. Esto se debe sin duda al hecho de que los errores son, hasta cierto punto,
4.4 EQUIVOCACIONES, ERRORES DE FORMULACIÓN E INCERTIDUMBRE 101
102 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
inevitables. No obstante, recuerde que hay varias formas con las cuales se puede mini-
mizar su aparición. En particular, los buenos hábitos de programación que se esbozaron
en el capítulo 2 son muy útiles para disminuir las equivocaciones. Además, hay formas
simples de verificar si un método numérico funciona correctamente. A lo largo del
texto, se estudian algunas formas de verificar los resultados de un cálculo numérico.
4.4.2 Errores de formulación
Los errores de formulación o de modelo pueden atribuirse al sesgo que implica un mode-
lo matemático incompleto. Un ejemplo de un error de formulación insignificante es el
hecho de que la segunda ley de Newton no toma en cuenta los efectos relativísticos. Esto
no desvirtúa la validez de la solución del ejemplo 1.1, ya que estos errores son mínimos en
las escalas de tiempo y espacio asociadas con el problema de la caída del paracaidista.
Sin embargo, suponga que la resistencia del aire no es linealmente proporcional a la
velocidad de caída, como en la ecuación (1.7), sino que está en función del cuadrado de
la velocidad. Si éste fuera el caso, las soluciones analíticas y numéricas obtenidas en el
primer capítulo serían falsas debido al error en la formulación. En algunas aplicaciones
de ingeniería del libro se presentan consideraciones adicionales a los errores de formu-
lación. Se debe estar consciente de estos problemas y darse cuenta de que, si se está usan-
do un modelo deficiente, ningún método numérico generará los resultados adecuados.
4.4.3 Incertidumbre en los datos
Algunas veces se introducen errores en un análisis debido a la incertidumbre en los
datos físicos obtenidos, sobre los que se basa el modelo. Por ejemplo, suponga que se
desea probar el modelo de la caída del paracaidista, haciendo que un individuo salte
repetidas veces, midiendo su velocidad después de un intervalo de tiempo específico.
Sin duda, se asociaría cada medición con una incertidumbre, ya que el paracaidista
caerá con más rapidez en unos saltos que en otros. Estos errores pueden mostrar inexac-
titud e imprecisión. Si los instrumentos constantemente subevalúan o sobrevalúan las
mediciones de la velocidad, se estará tratando con un instrumento inexacto o desviado.
Por otro lado, si las medidas son aleatoriamente grandes y pequeñas, entonces se trata
de una cuestión de precisión.
Los errores de medición se pueden cuantificar resumiendo los datos con uno o más
estadísticos, que den tanta información como sea posible, respecto a características es-
pecíficas de los datos. Tales estadísticos descriptivos a menudo se seleccionan para
obtener 1. la posición del centro de la distribución de los datos y 2. el grado de dispersión
de los datos. Como tales, estos estadísticos ofrecen una medida de la desviación e im-
precisión, respectivamente. En la parte cinco se regresa el tema de caracterización de
incertidumbre de datos.
Aunque se debe estar consciente de los errores por equivocación, de los errores de
formulación y de la incertidumbre en los datos, los métodos numéricos utilizados para
construir modelos pueden estudiarse, en la mayoría de los casos, en forma independien-
te de estos errores. Por consiguiente, en la mayor parte de este libro se supondrá que no
hay errores por equivocaciones, que el modelo es adecuado y que se está trabajando sin
errores en las mediciones de los datos. En estas condiciones es posible estudiar los mé-
todos numéricos sin complicaciones.
4.1 La serie infinita
e x
x x x
n
x
n
= + + + + +
1
2 3
2 3
! !

se utiliza para aproximar ex
.
a) Muestre que la expansión en serie de Maclaurin es un caso
especial de la expansión en la serie de Taylor [ecuación
(4.7)] con xi = 0 y h = x.
b) Use la serie de Taylor para estimar f(x) = e–x
en xi+1 = 1 para
xi = 0.25. Emplee versiones de cero, primero, segundo y
tercer orden, y calcule |εt| para cada caso.
4.2 La expansión en serie de Maclaurin para cos x es
cos –
!
–
! !
–
x
x x x x
= + +
1
2 4 6 8
2 4 6 8

Iniciando con el primer término cos x = 1, agregue los términos
uno a uno para estimar cos (p/4). Después de que agregue cada
uno de los términos, calcule los errores relativos porcentuales
exactos y aproximados. Use una calculadora para determinar el
valor exacto. Agregue términos hasta que el valor absoluto del
error aproximado se encuentre dentro de cierto criterio de error,
considerando dos cifras significativas.
4.3 Repita los cálculos del problema 4.2, pero ahora usando la
expansión de la serie de Maclaurin para sen x,
sen x x
x x x
= + +
–
! !
–
!
3 5 7
3 5 7

para evaluar el sen (p/4).
4.4 Emplee la expansión de la serie de Taylor de cero hasta
tercer orden para predecir f(2) si
f(x) = 25x3
– 6x2
+ 7x – 88
usando como punto base x = 1. Calcule el error relativo porcen-
tual verdadero et para cada aproximación.
4.5 Use la expansión de la serie de Taylor de cero al cuarto orden
para estimar f(3) si f(x) = ln x utilizando x = 1 como punto base.
Calcule el error relativo porcentual et para cada aproximación.
Analice los resultados.
4.6 Utilice aproximaciones en diferencias de O(h) hacia atrás y
hacia adelante y una aproximación de diferencia central de O(h2
)
para estimar la primera derivada de la función mencionada en el
problema 4.4. Evalúe la derivada en x = 2 usando un tamaño del
incremento 0.2. Compare los resultados con el valor exacto de
las derivadas. Interprete los resultados considerando el término
residual de la expansión en la serie de Taylor.
4.7 Con la aproximación en diferencias centrales de O(h2
) esti-
me la segunda derivada de la función examinada en el problema
4.4. Realice la evaluación para x = 2 usando un tamaño de incre-
mento 0.25 y 0.125. Compare lo estimado con el valor exacto de
PROBLEMAS
la segunda derivada. Interprete sus resultados considerando el
término residual de la expansión en la serie de Taylor.
4.8 Recuerde que la velocidad de caída del paracaidista puede
calcularse con [ecuación (1.10)]
v( ) ( – )
–( / )
t
gm
c
e c m t
= 1
Use un análisis de error de primer orden para estimar el error de
v para t = 6, si g = 9.8 y m = 50, pero c = 12.5 ± 2.
4.9 Repita el problema 4.8 con g = 9.8, t = 6, c = 12.5 ± 1.5 y m
= 50 ± 2.
4.10 La ley de Stefan-Boltzmann se utiliza para estimar la ve-
locidad de cambio de la energía H para una superficie, esto es,
H = AeσT4
donde H está en watts, A = área de la superficie (m2
), e = la
emisividad que caracteriza la propiedad de emisión de la super-
ficie (adimensional), σ = una constante universal llamada cons-
tante de Stefan-Boltzmann (= 5.67 × 10–8
W m–2
K–4
) y T =
temperatura absoluta (K). Determine el error de H para una
placa de acero con A = 0.15 m2
, e = 0.90 y T = 650 ± 20. Com-
pare los resultados con el error exacto. Repita los cálculos pero
con T = 650 ± 40. Interprete los resultados.
4.11 Repita el problema 4.10, pero para una esfera de cobre con
radio = 0.15 ± 0.01 m, e = 0.90 ± 0.05 y T = 550 ± 20.
4.12 Evalúe e interprete los números de condición para
a) f x x
( ) –
= +
1 1 para x = 1.0001
b) f(x) = e–x
para x = 9
c) f x x x
( ) –
= +
2
1 para x = 300
d) f x
e
x
x
( )
–
=
1 para x = 0.001
e) f x
x
x
( ) =
sen
1+ cos
para x = 1.0001p
4.13 Empleando las ideas de la sección 4.2, muestre las relacio-
nes de la tabla 4.3.
4.14 Muestre que la ecuación (4.4) es exacta para todos los
valores de x, si f(x) = ax2
+ bx + c.
4.15 La fórmula de Manning para un canal rectangular se escri-
be como
Q
n
BH
B H
S
=
+
1
2
5 3
2 3
1 2
( )
( )
/
/
/
donde Q = flujo (m3
/s), n = coeficiente de rugosidad, B = ancho
(m), H = profundidad (m) y S = pendiente. Aplique la fórmula
para un arroyo donde se conoce que el ancho = 20 m y la profun-
PROBLEMAS 103
104 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR
didad = 0.3 m. Por desgracia conocemos el coeficiente de rugo-
sidad y la pendiente con una precisión de sólo ±10%. Es decir, la
rugosidad tiene un valor de 0.03 con un rango de 0.027 a 0.033,
y la pendiente es 0.0003 con un rango de 0.00027 a 0.00033. Use
un análisis de error de primer orden para determinar la sensibili-
dad en la predicción del flujo para cada uno de esos dos factores.
¿Cuál se debería intentar medir para una mejor precisión?
4.16 Si |x|  1, se sabe que
1
1
1 2 3
– x
x x x
= + + + +
Repita el problema 4.2 para esta serie con x = 0.1.
4.17 Un misil sale de la Tierra con una velocidad inicial v0 for-
mando con la vertical un ángulo φ0 como se muestra en la figura
P4.17. La altitud máxima deseada es aR donde R es el radio de
la Tierra. Usando las leyes de la mecánica se demuestra que
sen ( ) –
φ α
α
α
0
0
2
1 1
1
= +
+
⎛
⎝
⎜
⎞
⎠
⎟
v
v
e
donde ve es la velocidad de escape del misil. Se quiere disparar el
misil y alcanzar la velocidad máxima proyectada con una exactitud
de ±1%. Determine el rango de valores de f0 si ve/v0 = 2 y
a = 0.2.
4.18 Para calcular las coordenadas espaciales de un planeta te-
nemos que resolver la función
f(x) = x – 1 – 0.5 sen x
Sea a = xi = p/2 en el intervalo [0, p] el punto base. Determine
la expansión de la serie de Taylor de orden superior que da un
error máximo de 0.015 en el intervalo dado. El error es igual al
valor absoluto de la diferencia entre la función dada y la expan-
sión de la serie de Taylor especificada. (Sugerencia: Resuelva
gráficamente.)
4.19 Considere la función f(x) = x3
– 2x + 4 en el intervalo
[–2, 2] con h = 0.25. Use las aproximaciones en diferencias fi-
nitas hacia adelante, hacia atrás y centrada para la primera y
segunda derivadas, e ilustre gráficamente qué aproximación es
más exacta. Grafique las tres aproximaciones a la primera deri-
vada por diferencias finitas, junto con los valores exactos, y haga
lo mismo con la segunda derivada.
R
v0
0
Figura P4.17
EPÍLOGO: PARTE UNO
PT1.4 ALTERNATIVAS
Los métodos numéricos son científicos en el sentido de que representan técnicas siste-
máticas para resolver problemas matemáticos. Sin embargo, hay cierto grado de arte,
juicios subjetivos y conveniencias, relacionadas con su uso efectivo en la ingeniería
práctica. Para cada problema, se enfrenta uno con varios métodos numéricos alternativos
y con muchos tipos diferentes de computadoras. Así, la elegancia y la eficiencia de las
diferentes maneras de abordar los problemas varían de una persona a otra y se correla-
cionan con la habilidad de hacer una elección prudente. Por desgracia, como sucede con
cualquier proceso intuitivo, los factores que influyen en dicha elección son difíciles de
comunicar. Estas habilidades pueden descubrirse y desarrollarse sólo mediante la expe-
riencia. Como tales habilidades desempeñan un papel muy importante en el uso efectivo
de los métodos, se presenta esta sección como una introducción a algunas de las alter-
nativas que se deben considerar cuando se seleccione un método numérico y las herra-
mientas para su realización. Se espera que el siguiente análisis influencie su orientación
cuando estudie el material subsecuente. También, que usted consulte nuevamente el
material cuando enfrente distintas alternativas en el resto del libro.
1. Tipo de problema matemático. Como se definió previamente en la figura PT.1.2, en
este libro se analizan varios tipos de problemas matemáticos.
a) Raíces de ecuaciones
b) Sistemas de ecuaciones algebraicas lineales simultáneas
c) Optimización
d) Ajuste de curvas
e) Integración numérica
f) Ecuaciones diferenciales ordinarias
g) Ecuaciones diferenciales parciales
Probablemente el lector se encontrará con algunos aspectos básicos sobre la aplicación
de los métodos numéricos al enfrentarse con problemas específicos en algunas de esas
áreas. Los métodos numéricos son necesarios, ya que los problemas planteados no se
pueden resolver en su totalidad usando técnicas analíticas. Deberá estar consciente de
que en las actividades profesionales se encontrarán problemas en las áreas ya mencio-
nadas. Por lo que el estudio de los métodos numéricos y la selección de un equipo de
cómputo deben, al menos, considerar esos tipos de problemas básicos. Problemas más
avanzados quizá requieran de capacidades en otras áreas como la aproximación funcio-
nal, las ecuaciones integrales, etc. Estas áreas requieren de una gran potencia compu-
tacional o de métodos avanzados que no se cubren en este texto. Se recomienda
consultar algunas referencias tales como Carnahan, Luther y Wilkes (1969); Hamming
(1973); Ralston y Rabinowitz (1978), y Burden y Faires (1993) para problemas que van
más allá del contenido de este libro. Además, al final de cada parte de este texto se
ofrece un resumen y las referencias para los métodos numéricos avanzados con la fina-
lidad de encauzar al lector en el estudio de este tipo de métodos numéricos.
2. Tipo, disponibilidad, precisión, costo y velocidad de una computadora. Se puede
tener la oportunidad de trabajar con varias herramientas de cómputo, que van des-
de una calculadora de bolsillo hasta una supercomputadora. Cualquiera de estas
herramientas se puede usar para implementar un método numérico (incluyendo
simple papel y lápiz). En general, no se trata de extremar la capacidad, sino más
bien evaluar costo, conveniencia, velocidad, seguridad, exactitud y precisión. Aun-
que cada una de las herramientas seguirán teniendo utilidad, los grandes avances
recientes en el funcionamiento de las computadoras personales han tenido un gran
impacto en la profesión del ingeniero. Se espera que esta revolución siga exten-
diéndose conforme continúen los avances tecnológicos, ya que las computadoras
personales ofrecen una excelente combinación de conveniencia, costo, precisión,
velocidad y capacidad de almacenamiento. Más aún, se pueden usar fácilmente en
la mayoría de los problemas prácticos de ingeniería.
3. Costo de desarrollo de programas contra costo de software contra costo de tiempo
de ejecución. Una vez que los tipos de problemas matemáticos que deberán resol-
verse se hayan identificado y el sistema de cómputo se haya seleccionado, se con-
siderarán los costos del software y del tiempo de ejecución. El desarrollo de software
llega a representar un trabajo adicional en muchos proyectos de ingeniería y, por lo
tanto, tener un costo sustancial. A este respecto, es importante que conozca bien los
aspectos teóricos y prácticos de los métodos numéricos relevantes. Además, debe
familiarizarse con el desarrollo del software profesional. Existe software de bajo
costo disponible para implementar métodos numéricos, el cual es fácilmente adap-
tado a una amplia variedad de problemas.
4. Características de los métodos numéricos. Si el costo de una computadora y de sus
programas es alto, o si la disponibilidad de la computadora es limitada (por ejemplo,
en sistemas de tiempo compartido), la manera de escoger cuidadosamente el méto-
do numérico ayudará a adaptarse a tal situación. Por otro lado, si el problema aún
se encuentra en una etapa experimental, donde el acceso y el costo de una compu-
tadora no presenta problemas, entonces es posible seleccionar un método numérico
que siempre trabaje, aunque quizá no sea, computacionalmente hablando, el más
eficiente. Los métodos numéricos disponibles para resolver un tipo particular de
problema implican todos los factores mencionados, además de:
a) Número de condiciones iniciales o de puntos de partida.Algunos de los métodos
numéricos para encontrar raíces de ecuaciones, o para la solución de ecuaciones
diferenciales, requieren que el usuario especifique las condiciones iniciales
o puntos de partida. Los métodos simples requieren en general de un valor,
mientras que los métodos complicados tal vez requieran más de un valor. Las
ventajas de los métodos complicados, que son computacionalmente eficientes,
llegan a compensar requerimientos de puntos de partida múltiples. Debe echar
mano de su experiencia y buen juicio para estimar las alternativas que tomará
en cada problema en particular.
b) Velocidad de convergencia. Ciertos métodos numéricos convergen más rápido
que otros. No obstante, la convergencia rápida puede requerir de puntos inicia-
les más adecuados y de programación más compleja, que un método donde la
convergencia es lenta. De nueva cuenta deberá usar su propio criterio y la ex-
periencia para seleccionar el método. ¡Lo más rápido no siempre es lo mejor!
106 EPÍLOGO: PARTE UNO
c) Estabilidad. Algunos métodos numéricos usados para encontrar raíces de
ecuaciones o para resolver sistemas de ecuaciones lineales llegan a diverger
en vez de converger a la respuesta correcta. ¿Por qué existe esta posibilidad al
enfrentarse con problemas de diseño o de planeación? La respuesta es que tales
métodos pueden ser altamente eficientes para determinados problemas; por lo
tanto, surgen de nuevo las alternativas. Se debe decidir si las condiciones del
problema justifican el empleo de un método que quizá no siempre converge.
d) Exactitud y precisión. Algunos de los métodos numéricos son más exactos y
precisos que otros. Como ejemplo se tienen las diferentes ecuaciones usadas
en la integración numérica. En general, es posible mejorar el funcionamiento
de un método de poca exactitud disminuyendo el tamaño del incremento o
aumentando el número de aplicaciones en un intervalo dado. ¿Resultará mejor
usar un método poco exacto con un tamaño de incremento pequeño o un método
de gran exactitud con un tamaño de incremento grande? La pregunta se debe
analizar en cada caso específico, tomando en cuenta factores adicionales como el
costo y la facilidad de programación.Además, se deben tomar en consideración
los errores de redondeo cuando se utilizan métodos de baja exactitud en forma
repetida, y cuando la cantidad de cálculos es grande. Aquí, el número de cifras
significativas empleadas por la computadora llega a ser el factor decisivo.
e) Gama de aplicaciones. Algunos métodos numéricos se aplican sólo a ciertas
clases de problemas o a problemas que satisfacen ciertas restricciones mate-
máticas. Otros métodos no se ven afectados por estas restricciones. Entonces,
deberá evaluar si vale la pena desarrollar programas que emplean técnicas
apropiadas únicamente para un número limitado de problemas. El hecho de que
tales técnicas sean ampliamente usadas indica que tienen ventajas que a menudo
superan a las desventajas. De hecho es necesario evaluar las alternativas.
f) Requisitos especiales. Algunas técnicas numéricas tratan de incrementar la
exactitud y la velocidad de convergencia usando información especial o adi-
cional. Un ejemplo sería el uso de valores estimados o teóricos de errores que
permiten mejorar la exactitud. Sin embargo, estas mejorías, en general, no se
logran sin algunos inconvenientes, tales como mayores costos computacionales
o el incremento en la complejidad del programa.
g) Esfuerzo de programación necesario. Los esfuerzos para mejorar la velocidad
de convergencia, estabilidad y exactitud pueden ser creativos e ingeniosos.
Cuando se realizan mejoras sin aumentar la complejidad de la programación,
entonces se considera que estas mejoras son excelentes y quizá encuentren un
uso inmediato en la ingeniería. No obstante, si éstas requieren de programas
más complejos, se enfrentarían a situaciones alternativas que pueden favorecer
o no el nuevo método.
Resulta claro que el análisis anterior relacionado con la elección de un mé-
todo numérico se reduce sólo a costo y exactitud. Los costos son los del tiempo
de cómputo y el desarrollo de programas. La exactitud apropiada es una cuestión de
ética y de juicio profesional.
5. Comportamiento matemático de la función, la ecuación o los datos. Al seleccionar
un método numérico en particular, un tipo de computadora y un tipo de programas,
se debe tomar en cuenta la complejidad de las funciones, las ecuaciones o los datos.
PT1.4 ALTERNATIVAS 107
Las ecuaciones simples y los datos uniformes se tratan apropiadamente mediante
algoritmos numéricos simples y con computadoras de bajo costo. Sucede lo contra-
rio con las ecuaciones complicadas y los datos que presentan discontinuidades.
6. Facilidad de aplicación (¿amigable para el usuario?).Algunos métodos numéricos
son fáciles de aplicar; otros son difíciles. Esto es una consideración cuando se tenga
que elegir un método sobre otro. La misma idea se aplica a las decisiones que
tienen que ver con los costos de desarrollar un programa versus el software desarro-
llado profesionalmente. Podría requerirse un esfuerzo considerable para convertir un
programa difícil en otro que sea amigable para el usuario. En el capítulo 2 se intro-
dujeron formas de hacer esto, y se emplean a lo largo del libro.
7. Mantenimiento. Los programas para resolver problemas de ingeniería requieren de
mantenimiento, porque durante las aplicaciones ocurren, en forma invariable, difi-
cultades. El mantenimiento puede requerir un cambio en el código del programa o
la expansión de la documentación. Los programas y los algoritmos numéricos sim-
ples son más fáciles de mantener.
Los siguientes capítulos muestran el desarrollo de varios tipos de métodos numéricos
para una variedad de problemas matemáticos. Se ofrecen, en cada capítulo, varios mé-
todos alternativos. Se presentan estos métodos (en vez de un método escogido por los
autores), ya que no existe uno que sea “el mejor” de todos. No hay métodos “mejores”,
existen alternativas con ventajas y desventajas que se deben tomar en consideración
cuando se aplica un método a un problema práctico. En cada parte del libro se presentan
las ventajas y desventajas de cada método. Dicha información debe ayudar a seleccionar
un procedimiento numérico apropiado para cada problema en un contexto específico.
PT1.5 RELACIONES Y FÓRMULAS IMPORTANTES
En la tabla PT1.2 se resume información importante que se presentó en la parte uno. La
tabla es útil para tener un acceso rápido a las relaciones y fórmulas más importantes. El
epílogo de cada parte del libro contiene un resumen como éste.
PT1.6 MÉTODOS AVANZADOS
Y REFERENCIAS ADICIONALES
El epílogo de cada parte del libro también incluye una sección diseñada para facilitar y
fomentar el estudio de métodos numéricos adicionales. Dicha sección proporciona al-
gunas referencias de otros libros sobre el tema, así como de material relacionado con
métodos más avanzados.1
Para ampliar los antecedentes mencionados en la parte uno, existen diversos ma-
nuales sobre programación. Sería difícil mencionar todos los excelentes libros y manua-
les que corresponden a lenguajes y computadoras específicos. Además quizá ya se tenga
material sobre estudios previos de la programación. No obstante, si ésta es su primera
experiencia con computadoras, Chapra y Canale (1994) ofrecen una introducción gene-
ral a BASIC y Fortran. El profesor o sus compañeros de semestre avanzados le darían
1
Aquí, los libros se referencian sólo por autor. Al final del texto se incluye una bibliografía completa.
108 EPÍLOGO: PARTE UNO
al usuario recomendaciones acerca de las bibliografías para las máquinas y los lenguajes
disponibles en su escuela.
Para el análisis de errores, cualquier buen libro a la introducción al cálculo incluirá
material complementario relacionado, tal como las series de Taylor. Las obras de
Swokowski (1979), Thomas y Finney (1979), y Simmons (1985) ofrecen una teoría
comprensible de estos temas. Taylor (1982), además, presenta una excelente introducción
al análisis del error.
TABLA PT1.2 Resumen de información importante presentada en la parte uno.
Definiciones de error
Error verdadero Et = valor verdadero – valor aproximado
Error relativo porcentual verdadero εt =
valor verdadero – valor aproximado
valor verdadero
100%
Error relativo porcentual aproximado εa =
aproximación presente – aproximación anterior
aproximación presente
100%
Criterio de paro Terminar los cálculos cuando
εa  εs
donde εs es el error relativo porcentual deseado
Serie de Taylor
Expansión de la serie de Taylor f x f x f x
f x
f x f x
n
i i i
i
i
n
i n
n
( ) = ( )+ ( )
( )
2!
( )
3!
( )
!
+1
2
3
( )
′
′′
+
′′′
+ + +
h + h
h h R

donde
Residuo R h
n =
f
n
n
n
( +1)
+1
( )
( +1)!
ξ
o
Rn = ( )
O hn+1
Diferenciación numérica
Primera diferencia finita dividida hacia delante ′ = +
+
f ( ) ( )
x
f x f x
h
O h
i i
( ) – ( )
1
(Otras diferencias divididas se resumen en los capítulos
4 y 23.)
Propagación del error
Para n variables independientes x1, x2,…, xn con errores ∆x
~
1, ∆x
~
2,… ∆x
~
n, el error en la función f se
estima mediante
∆ ∆ ∆ ∆
f = 1
2
2
∂
∂
+
∂
∂
+ +
∂
∂
f
x
x
f
x
x
f
x
x
i n
n
˜ ˜ ˜

PT1.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES 109
Por último, aunque se espera que este libro sea de su utilidad, siempre es bueno con-
sultar otras fuentes cuando se intenta dominar un nuevo tema. Burden y Faires (1993);
Ralston y Rabinowitz (1978); Hoffman (1992), y Carnahan, Luther y Wilkes (1969) ofre-
cen análisis extensos sobre diversos métodos numéricos, incluyendo algunos métodos
avanzados que van más allá del alcance de nuestro libro. Otras obras útiles sobre el tema
son Gerald y Wheatley (1989); Rice (1983), y Cheney y Kincaid (1985). Además, Press et
al. (1992) incluyen códigos de computadora para implementar una variedad de métodos.
110 EPÍLOGO: PARTE UNO
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
PARTE DOS
PARTE DOS
RAÍCES DE ECUACIONES
PT2.1 MOTIVACIÓN
Desde hace años usted aprendió a usar la fórmula cuadrática:
x
b b ac
a
=
±
– –
2
4
2
(PT2.1)
para resolver
f(x) = ax2
+ bx + c = 0 (PT2.2)
A los valores calculados con la ecuación (PT2.1) se les llama las “raíces” de la ecuación
(PT2.2), que representan los valores de x que hacen a la ecuación (PT2.2) igual a cero.
Por lo tanto, se define la raíz de una ecuación como el valor de x que hace f(x) = 0. De-
bido a esto, algunas veces a las raíces se les conoce como ceros de la ecuación.
Aunque la fórmula cuadrática es útil para resolver la ecuación (PT2.2), existen
muchas funciones donde las raíces no se pueden determinar tan fácilmente. En estos
casos, los métodos numéricos descritos en los capítulos 5, 6 y 7 proporcionan medios
eficientes para obtener la respuesta.
PT2.1.1 Métodos para la determinación de raíces
sin emplear computadoras
Antes de la llegada de las computadoras digitales se disponía de una serie de métodos
para encontrar las raíces de ecuaciones algebraicas y trascendentes. En algunos casos,
las raíces se obtenían con métodos directos, como se hace con la ecuación (PT2.1). Sin
embargo existen ecuaciones como ésta que se resuelven directamente y aparecen muchas
más en las que no es posible encontrar su solución. Por ejemplo, incluso una función tan
simple como f(x) = e–x
– x no se puede resolver en forma analítica. En tales casos, la
única alternativa es una técnica con solución aproximada.
Un método para obtener una solución aproximada consiste en graficar la función y de-
terminar dónde cruza el eje de las x. Este punto, que representa el valor de x para el cual f(x)
= 0, es la raíz. Las técnicas gráficas se exponen al principio de los capítulos 5 y 6.
Aunque los métodos gráficos son útiles en la obtención de estimaciones de las raíces,
tienen el inconveniente de que son poco precisos. Un método alternativo es el de prueba y
error. Esta “técnica” consiste en elegir un valor de x y evaluar si f(x) es cero. Si no es así
(como sucederá en la mayoría de los casos) se hace otra elección y se evalúa nuevamente f(x)
para determinar si el nuevo valor ofrece una mejor aproximación de la raíz. El proceso se
repite hasta que se obtenga un valor que proporcione una f(x) cercana a cero.
Estos métodos fortuitos, evidentemente, son ineficientes e inadecuados para las
exigencias de la ingeniería. Las técnicas descritas en la parte dos representan alternati-
114 RAÍCES DE ECUACIONES
vas que no sólo aproximan sino que emplean estrategias sistemáticas para dirigirse a la
raíz verdadera. Tal como se presenta en las páginas siguientes, la combinación de estos
métodos sistemáticos con la computadora hacen que la solución de la mayoría de los
problemas de raíces de ecuaciones sea una tarea sencilla y eficiente.
PT2.1.2 Raíces de ecuaciones y la práctica en ingeniería
Aunque las raíces de ecuaciones aparecen en el contexto de diversos problemas, son
frecuentes en el área de diseño en ingeniería. En la tabla PT2.1 se muestra un conjunto
de principios fundamentales que se utilizan comúnmente en trabajos de diseño. Como
se expuso en el capítulo 1, las ecuaciones matemáticas o modelos provenientes de estos
principios se utilizan para predecir los valores de variables dependientes en función de
variables independientes y los valores de parámetros. Observe que en cada caso las va-
riables dependientes representan el estado o desempeño del sistema; mientras que los
parámetros representan sus propiedades o su composición.
Un ejemplo de tales modelos es la ecuación obtenida a partir de la segunda ley de
Newton, usada en el capítulo 1 para la velocidad del paracaidista:
v =
gm
c
e c m t
( )
– –( / )
1 (PT2.3)
TABLA PT2.1 Principios fundamentales usados en los problemas de ingeniería.
Principio Variable Variable
fundamental dependiente independiente Parámetros
Balance de calor Temperatura Tiempo y posición Propiedades
térmicas del material
y geometría del sistema
Balance de masa Concentración Tiempo y posición El comportamiento químico
o cantidad de masa del material: coeficientes
de transferencia de masa
y geometría del sistema
Balance de fuerzas Magnitud y dirección Tiempo y posición Resistencia del material,
de fuerzas propiedades estructurales
y geometría del sistema
Balance de energía Cambios en los Tiempo y posición Propiedades térmicas,
estados de energía masa del material y
cinética y potencial geometría del sistema
de un sistema
Leyes de Newton Aceleración, velocidad Tiempo y posición Masa del material,
del movimiento y posición geometría del sistema
y parámetros disipadores,
tales como fricción y
rozamiento
Leyes de Kirchhoff Corriente y voltaje Tiempo Propiedades eléctricas del
en circuitos eléctricos sistema, tales como
resistencia, capacitancia e
inductancia
donde la velocidad v = la variable dependiente, el tiempo t = la variable independiente,
la constante de gravitación g = una función de fuerza y el coeficiente de arrastre c y la
masa m son los parámetros. Si se conocen los parámetros, la ecuación (PT2.3) se utiliza
para predecir la velocidad del paracaidista como una función del tiempo. Estos cálculos
se pueden llevar a cabo de manera directa, ya que v se expresa explícitamente como una
función del tiempo. Es decir, queda despejada en el lado izquierdo del signo igual.
No obstante, suponga que se tiene que determinar el coeficiente de arrastre de un
paracaidista con una masa dada, para alcanzar una velocidad determinada en un periodo
preestablecido. Aunque la ecuación (PT2.3) ofrece una representación matemática de la
interrelación entre las variables del modelo y los parámetros, no es posible obtener explí-
citamente el coeficiente de arrastre. Trate de hacerlo. No hay forma de reordenar la ecua-
ción para despejar el parámetro c. En tales casos, se dice que c está en forma implícita.
Esto representa un verdadero dilema, ya que en muchos de los problemas de diseño
en ingeniería hay que especificar las propiedades o la composición de un sistema (repre-
sentado por sus parámetros) para asegurar que esté funcionando de la manera deseada
(representado por las variables). Así, a menudo dichos problemas requieren la determi-
nación de parámetros implícitos.
La solución del dilema es proporcionada por los métodos numéricos para raíces de
ecuaciones. Para resolver el problema con métodos numéricos es conveniente reexpresar
la ecuación (PT2.3), esto se logra restando la variable dependiente v de ambos lados
de la ecuación,
f c
gm
c
e c m t
( ) – –
( )
–( / )
= 1 v (PT2.4)
Por lo tanto, el valor de c que hace f(c) = 0 es la raíz de la ecuación. Este valor también
representa el coeficiente de arrastre que resuelve el problema de diseño.
En la parte dos de este libro se analiza una gran variedad de métodos numéricos y
gráficos para determinar raíces de relaciones tales como en la ecuación (PT2.4). Dichas
técnicas se pueden aplicar a problemas de diseño en ingeniería con base en los principios
fundamentales dados en la tabla PT2.1, así como a muchos problemas que se encuentran
de manera rutinaria en la práctica de la ingeniería.
PT2.2 ANTECEDENTES MATEMÁTICOS
En la mayoría de las áreas mencionadas en este libro existen algunos prerrequisitos ma-
temáticos necesarios para dominar el tema. Por ejemplo, los conceptos de estimación del
error y expansión de la serie de Taylor, analizados en los capítulos 3 y 4, tienen relevancia
directa en nuestro estudio de las raíces de ecuaciones. Además, anteriormente ya se
mencionaron los términos: ecuaciones “algebraicas” y “trascendentes”. Resulta útil defi-
nir formalmente dichos términos y estudiar cómo se relacionan en esta parte del libro.
Por definición, una función dada por y = f(x) es algebraica si se expresa de la forma:
fnyn
+ fn–1yn–1
+ … + f1y + f0 = 0 (PT2.5)
donde fi es un polinomio de i-ésimo orden en x. Los polinomios son un tipo de funciones
algebraicas que generalmente se representan como:
fn(x) = a0 + a1x + a2x2
+ … + anxn
(PT2.6)
PT2.2 ANTECEDENTES MATEMÁTICOS 115
116 RAÍCES DE ECUACIONES
donde n es el orden del polinomio y las a son constantes. Algunos ejemplos específicos
son:
f2(x) = 1 – 2.37x + 7.5x2
(PT2.7)
y
f6(x) = 5x2
– x3
+ 7x6
(PT2.8)
Las funciones trascendentes son funciones que no son algebraicas. Comprenden las
funciones trigonométricas, las funciones exponenciales, las funciones logarítmicas y
otras menos familiares. Algunos ejemplos son:
f(x) = ln x2
– 1 (PT2.9)
y
f(x) = e–0.2x
sen (3x – 0.5) (PT2.10)
Las raíces de las ecuaciones pueden ser reales o complejas. Aunque hay algunos casos
en que las raíces complejas de funciones no polinomiales son de interés, esta situación
es menos común que en polinomios. En consecuencia, los métodos numéricos estánda-
res para encontrar raíces se encuentran en dos áreas de problemas relacionados, pero
fundamentalmente distintos:
1. La determinación de raíces reales de ecuaciones algebraicas y trascendentes. Dichas
técnicas se diseñaron para determinar el valor de una sola raíz real basándose en un
conocimiento previo de su posición aproximada.
2. La determinación de todas las raíces reales y complejas de polinomios. Estos métodos
están diseñados especialmente para polinomios; determinan sistemáticamente todas las
raíces del polinomio en lugar de sólo una raíz real dada una posición aproximada.
En este libro se estudian ambas, los capítulos 5 y 6 se dedican a la primera área y
el capítulo 7 se ocupa de los polinomios.
PT2.3 ORIENTACIÓN
Antes de proceder con los métodos numéricos para determinar raíces de ecuaciones,
será útil dar alguna orientación. El siguiente material intenta dar una visión general de
los temas de la parte dos. Además, se han incluido algunos objetivos que orientarán al
lector en su estudio del material.
PT2.3.1 Alcance y presentación preliminar
La figura PT2.1 es una representación esquemática de la organización de la parte dos.
Examine esta figura cuidadosamente, iniciando en la parte de arriba y avanzando en el
sentido de las manecillas del reloj.
Después de la presente introducción, el capítulo 5 se dedica a los métodos cerrados,
que usan intervalos, para encontrar raíces. Estos métodos empiezan con intervalos que
encierran o contienen a la raíz, y después reducen sistemáticamente el tamaño del inter-
valo. Se estudian dos métodos específicos: el de bisección y el de la falsa posición. Los
métodos gráficos sirven para dar una comprensión visual de las técnicas. Se desarrollan
formulaciones del error para ayudar a determinar el trabajo computacional que se re-
quiere para estimar la raíz con un nivel de precisión especificado previamente.
CAPÍTULO 5
Métodos
cerrados
PARTE 2
Raíces
de
ecuaciones
CAPÍTULO 6
Métodos
abiertos
CAPÍTULO 7
Raíces
de
polinomios
CAPÍTULO 8
Estudio de casos:
raíces de
ecuaciones
EPÍLOGO
6.5
Sistemas
no lineales
6.4
Raíces
múltiples
6.3
Secante
6.2
Newton-
Raphson
6.1
Iteración simple
de punto fijo
PT2.2
Antecedentes
matemáticos
PT2.6
Métodos
avanzados
PT2.5
Fórmulas
importantes
8.4
Ingeniería
mecánica
8.3
Ingeniería
eléctrica
8.2
Ingeniería
civil
8.1
Ingeniería
química
7.7
Bibliotecas
y paquetes
7.6
Otros
métodos
7.1
Polinomios
en ingeniería
7.2
Cálculos
con polinomios
7.4
Método
de Müller
7.5
Método
de Bairstow
7.3
Métodos
convencionales
PT2.4
Alternativas
PT2.3
Orientación
PT2.1
Motivación
5.2
Bisección
5.3
Falsa
posición
5.4
Búsquedas
por
incrementos
5.1
Métodos
gráficos
FIGURA PT2.1
Esquema de la organización del material de la parte dos: Raíces de ecuaciones.
PT2.3 ORIENTACIÓN 117
118 RAÍCES DE ECUACIONES
En el capítulo 6 se tratan los métodos abiertos, estos métodos también emplean
iteraciones sistemáticas de prueba y error; pero no requieren que el intervalo inicial
encierre a la raíz. Se descubrirá que estos métodos, en general, son más eficientes compu-
tacionalmente que los métodos cerrados, aunque no siempre funcionan. Se analizan los
métodos de iteración de un punto fijo, de Newton-Raphson y de la secante. Los métodos
gráficos sirven para dar una idea geométrica en los casos donde los métodos abiertos no
funcionan. Se desarrollan las fórmulas que proporcionan una idea de qué tan rápido los
métodos abiertos convergen a la raíz. Además, se explica la forma de extender el méto-
do de Newton-Raphson para sistemas de ecuaciones no-lineales.
El capítulo 7 está dedicado a encontrar las raíces de polinomios. Después de las
secciones anteriores sobre polinomios, se estudian los métodos convencionales (en
particular los métodos abiertos del capítulo 6). Se describen dos métodos especiales para
localizar raíces de polinomios: los métodos de Müller y Bairstow. Al final del capítulo
se da información relacionada con la búsqueda de las raíces a través de programas de
biblioteca y paquetes de software.
En el capítulo 8 se extienden los conceptos anteriores a los problemas reales de
ingeniería. Se emplean aplicaciones a la ingeniería para ilustrar las ventajas y desventa-
jas de cada uno de los métodos, proporcionando una visión de cómo se aplican las téc-
nicas en la práctica profesional. Las aplicaciones también destacan las alternativas
(estudiadas en la parte uno) asociadas con cada uno de los métodos.
Se incluye un epílogo al final de la parte dos. Éste contiene una detallada compa-
ración de los métodos analizados en los capítulos 5, 6 y 7. Esta comparación comprende
una descripción de las alternativas relacionadas con el uso apropiado de cada técnica.
Esta sección proporciona también un resumen de las fórmulas importantes, junto con
referencias para algunos de los métodos que van más allá del alcance de este texto.
PT2.3.2 Metas y objetivos
Objetivos de estudio. Después de terminar la parte dos se debe tener la suficiente
información para abordar con éxito una amplia variedad de problemas de ingeniería,
relacionados con las raíces de ecuaciones. En general, se dominarán las técnicas, se
habrá aprendido a determinar su confiabilidad y se tendrá la capacidad de elegir el me-
jor método (o métodos) para cualquier problema particular. Además de estas metas
generales, deberá haber asimilado los conceptos específicos de la tabla PT2.2 para
comprender mejor el material de la parte dos.
Objetivos de cómputo. El libro proporciona software y algoritmos sencillos para
implementar las técnicas analizadas en la parte dos. Todos tienen utilidad como herra-
mientas del aprendizaje.
Se presentan directamente seudocódigos para varios métodos en el texto. Esta in-
formación le permitirá ampliar su biblioteca de software para contar con programas que
son más eficientes que el método de bisección. Por ejemplo, tal vez usted desee tener sus
propios programas para las técnicas de la falsa posición, de Newton-Raphson y de se-
cante, las cuales a menudo son más eficientes que el método de bisección.
Finalmente, los paquetes de software como Excel, MATLAB y programas de bi-
bliotecas tienen poderosas capacidades para localizar raíces. Puede usar esta parte del
libro para empezar a familiarizarse con estas posibilidades.
TABLA PT2.2 Objetivos específicos de estudio de la parte dos.
1. Comprender la interpretación gráfica de una raíz
2. Conocer la interpretación gráfica del método de la falsa posición y por qué, en general, es mejor
que el método de bisección
3. Entender la diferencia entre los métodos cerrados y los métodos abiertos para la localización de las
raíces
4. Entender los conceptos de convergencia y de divergencia; usar el método gráfico de las dos curvas
para tener una idea visual de los conceptos
5. Saber por qué los métodos cerrados siempre convergen, mientras que los métodos abiertos algunas
veces pueden diverger
6. Observar que la convergencia en los métodos abiertos es más segura si el valor inicial está
cercano a la raíz verdadera
7. Entender los conceptos de convergencia lineal y cuadrática, así como sus implicaciones en la
eficiencia de los métodos de iteración de punto fijo y de Newton-Raphson
8. Conocer las diferencias fundamentales entre el método de la falsa posición y el método de la
secante, y cómo se relacionan con la convergencia
9. Comprender los problemas que presentan raíces múltiples y las modificaciones que se pueden
hacer para reducir dichos problemas
10. Saber cómo extender el método de Newton-Raphson de una sola ecuación no lineal con el
propósito de resolver sistemas de ecuaciones no lineales
PT2.3 ORIENTACIÓN 119
CAPÍTULO 5
Métodos cerrados
Este capítulo sobre raíces de ecuaciones se ocupa de métodos que aprovechan el hecho
de que una función cambia de signo en la vecindad de una raíz. A estas técnicas se les
llama métodos cerrados, o de intervalos, porque se necesita de dos valores iniciales para
la raíz. Como su nombre lo indica, dichos valores iniciales deben “encerrar”, o estar a
ambos lados de la raíz. Los métodos particulares descritos aquí emplean diferentes es-
trategias para reducir sistemáticamente el tamaño del intervalo y así converger a la
respuesta correcta.
Como preámbulo de estas técnicas se analizarán los métodos gráficos para repre-
sentar tanto las funciones como sus raíces. Además de la utilidad de los métodos gráfi-
cos para determinar valores iniciales, también son útiles para visualizar las propiedades
de las funciones y el comportamiento de los diversos métodos numéricos.
5.1 MÉTODOS GRÁFICOS
Un método simple para obtener una aproximación a la raíz de la ecuación f(x) = 0 con-
siste en graficar la función y observar dónde cruza el eje x. Este punto, que representa
el valor de x para el cual f(x) = 0, ofrece una aproximación inicial de la raíz.
EJEMPLO 5.1 El método gráfico
Planteamiento del problema. Utilice el método gráfico para determinar el coeficien-
te de arrastre c necesario para que un paracaidista de masa m = 68.1 kg tenga una velo-
cidad de 40 m/s después de una caída libre de t = 10 s. Nota: La aceleración de la
gravedad es 9.8 m/s2
.
Solución. Este problema se resuelve determinando la raíz de la ecuación (PT2.4)
usando los parámetros t = 10, g = 9.8, v = 40 y m = 68.1:
f c
c
e c
( )
. ( . )
– –
( )
–( / . )
=
9 8 68 1
1 40
68 1 10
o
f c
c
e c
( )
.
– –
( )
– .
=
667 38
1 40
0 146843
(E5.1.1)
Diversos valores de c pueden sustituirse en el lado derecho de esta ecuación para
calcular
c f(c)
4 34.115
8 17.653
12 6.067
16 –2.269
20 –8.401
Estos puntos se grafican en la figura 5.1. La curva resultante cruza el eje c entre 12 y 16.
Un vistazo a la gráfica proporciona una aproximación a la raíz de 14.75. La validez de
la aproximación visual se verifica sustituyendo su valor en la ecuación (E5.1.1) para
obtener
f e
( . )
.
.
– – .
( )
– . ( . )
14 75
667 38
14 75
1 40 0 059
0 146843 14 75
= =
que está cercano a cero. También se verifica por sustitución en la ecuación (PT2.4)
junto con el valor de los parámetros de este ejemplo para dar
v = =
9 8 68 1
14 75
1 40 059
14 75 68 1 10
. ( . )
.
– .
( )
–( . / . )
e
que es muy cercano a la velocidad de caída deseada de 40 m/s.
20
Raíz
12
8
4
0
20
40
f(c)
c
–10
FIGURA 5.1
El método gráfico para determinar las raíces de una ecuación.
5.1 MÉTODOS GRÁFICOS 121
Las técnicas gráficas tienen un valor práctico limitado, ya que no son precisas. Sin
embargo, los métodos gráficos se utilizan para obtener aproximaciones de la raíz. Dichas
aproximaciones se pueden usar como valores iniciales en los métodos numéricos anali-
zados en este capítulo y en el siguiente.
Las interpretaciones gráficas, además de proporcionar estimaciones de la raíz, son
herramientas importantes en la comprensión de las propiedades de las funciones y en la
prevención de las fallas de los métodos numéricos. Por ejemplo, la figura 5.2 muestra
algunas de las formas en las que la raíz puede encontrarse (o no encontrarse) en un in-
tervalo definido por un límite inferior xl y un límite superior xu. La figura 5.2b repre-
senta el caso en que una sola raíz está acotada por los valores positivo y negativo de f(x).
Sin embargo, la figura 5.2d, donde f(xl) y f(xu) están también en lados opuestos del eje
x, muestra tres raíces que se presentan en ese intervalo. En general, si f(xl) y f(xu) tienen
signos opuestos, existe un número impar de raíces en el intervalo. Como se indica en las
figuras 5.2a y c, si f(xl) y f(xu) tienen el mismo signo, no hay raíces o hay un número par
de ellas entre los valores.
Aunque dichas generalizaciones son usualmente verdaderas, existen casos en que
no se cumplen. Por ejemplo, las funciones tangenciales al eje x (figura 5.3a) y las fun-
ciones discontinuas (figura 5.3b) pueden violar estos principios. Un ejemplo de una
función que es tangencial al eje x es la ecuación cúbica f(x) = (x – 2)(x – 2)(x – 4). Ob-
serve que cuando x = 2, dos términos en este polinomio son iguales a cero. Matemáti-
camente, x = 2 se llama una raíz múltiple. Al final del capítulo 6 se presentan técnicas
que están diseñadas expresamente para localizar raíces múltiples.
La existencia de casos del tipo mostrado en la figura 5.3 dificulta el desarrollo de
algoritmos generales para computadoras que garanticen la ubicación de todas las raíces
en el intervalo. Sin embargo, cuando se usan los métodos expuestos en las siguientes
f (x)
x
f (x)
x
f (x)
x
f (x)
x
a)
b)
c)
d)
xl xu
FIGURA 5.2
Ilustración de las formas
generales en que puede
ocurrir una raíz en un inter-
valo preescrito por los límites
inferior xl y superior xu. Las
figuras a) y c) muestran que
si f(xl) y f(xu) tienen el mismo
signo, entonces no habrá
raíces dentro del intervalo
o habrá un número par de
ellas. Las figuras b) y d)
muestran que si la función
tiene signos diferentes en los
puntos extremos, entonces
habrá un número impar de
raíces dentro del intervalo.
FIGURA 5.3
Ilustración de algunas excepciones a los casos generales
mostrados en la figura 5.2. a) Pueden ocurrir raíces múltiples
cuando la función es tangencial el eje x. En este caso, aun-
que los puntos extremos son de signos opuestos, hay un núme-
ro par de intersecciones con el eje x en el intervalo.
b) Función discontinua donde los puntos extremos de signo
opuesto contienen un número par de raíces. Se requiere de
estrategias especiales para determinar las raíces en estos
casos.
f (x)
x
f (x)
x
a)
b)
xl xu
122 MÉTODOS CERRADOS
secciones en conjunción con los métodos gráficos, resultan de gran utilidad para buscar
muchas raíces en problemas de ecuaciones que se presentan rutinariamente en la inge-
niería y en las matemáticas aplicadas.
EJEMPLO 5.2 Uso de gráficas por computadora para localizar raíces
Planteamiento del problema. Las gráficas por computadora facilitan y mejoran la
localización de las raíces de una ecuación. La función
f(x) = sen l0x + cos 3x
tiene varias raíces en el rango que va de x = 0 a x = 5. Utilice gráficas por computadora
para comprender mejor el comportamiento de esta función.
5
2
0
Y
0 2.5
X
–2
2
0
Y
3 4
X
5
– 2
.15
0
Y
4.2 4.25
X
4.3
–.15
c)
a) b)
FIGURA 5.4
Amplificación progresiva de f(x) = sen 10x + cos 3x mediante la computadora. Estas gráficas interactivas
le permiten al analista determinar que existen dos raíces distintas entre x = 4.2 y x = 4.3.
5.1 MÉTODOS GRÁFICOS 123
Solución. Para generar gráficas se usan paquetes como Excel y MATLAB. En la fi-
gura 5.4a se presenta la gráfica de f(x) desde x = 0 hasta x = 5. La gráfica muestra la
existencia de varias raíces, incluyendo quizás una doble raíz alrededor de x = 4.2, donde
f(x) parece ser tangente al eje x. Se obtiene una descripción más detallada del compor-
tamiento de f(x) cambiando el rango de graficación, desde x = 3 hasta x = 5, como se
muestra en la figura 5.4b. Finalmente, en la figura 5.4c, se reduce la escala vertical, de
f(x) = –0.15 a f(x) = 0.15, y la escala horizontal se reduce, de x = 4.2 a x = 4.3. Esta grá-
fica muestra claramente que no existe una doble raíz en esta región y que, en efecto, hay
dos raíces diferentes entre x = 4.23 y x = 4.26.
Las gráficas por computadora tienen gran utilidad en el estudio de los métodos
numéricos. Esta posibilidad también puede tener muchas aplicaciones en otras materias
de la escuela, así como en las actividades profesionales.
5.2 EL MÉTODO DE BISECCIÓN
Cuando se aplicaron las técnicas gráficas en el ejemplo 5.1, se observó (figura 5.1) que
f(x) cambió de signo a ambos lados de la raíz. En general, si f(x) es real y continúa en el
intervalo que va desde xl hasta xu y f(xl) y f(xu) tienen signos opuestos, es decir,
f(xl) f(xu)  0 (5.1)
entonces hay al menos una raíz real entre xl y xu.
Los métodos de búsqueda incremental aprovechan esta característica localizando
un intervalo en el que la función cambie de signo. Entonces, la localización del cambio
de signo (y, en consecuencia, de la raíz) se logra con más exactitud al dividir el interva-
lo en varios subintervalos. Se investiga cada uno de estos subintervalos para encontrar
el cambio de signo. El proceso se repite y la aproximación a la raíz mejora cada vez más
en la medida que los subintervalos se dividen en intervalos cada vez más pequeños.
Volveremos al tema de búsquedas incrementales en la sección 5.4.
FIGURA 5.5
Paso 1: Elija valores iniciales inferior, xl, y superior, xu, que encierren la raíz, de forma
tal que la función cambie de signo en el intervalo. Esto se verifica comprobando
que f(xl) f(xu)  0.
Paso 2: Una aproximación de la raíz xr se determina mediante:
xl + xu
xr = ——–
2
Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está
la raíz:
a) Si f(xl)f(xr)  0, entonces la raíz se encuentra dentro del subintervalo inferior
o izquierdo. Por lo tanto, haga xu = xr y vuelva al paso 2.
b) Si f(xl)f(xr)  0, entonces la raíz se encuentra dentro del subintervalo superior
o derecho. Por lo tanto, haga xl = xr y vuelva al paso 2.
c) Si f(xl)f(xr) = 0, la raíz es igual a xr; termina el cálculo.
124 MÉTODOS CERRADOS
El método de bisección, conocido también como de corte binario, de partición de
intervalos o de Bolzano, es un tipo de búsqueda incremental en el que el intervalo se
divide siempre a la mitad. Si la función cambia de signo sobre un intervalo, se evalúa el
valor de la función en el punto medio. La posición de la raíz se determina situándola en
el punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El proceso
se repite hasta obtener una mejor aproximación. En la figura 5.5 se presenta un algorit-
mo sencillo para los cálculos de la bisección. En la figura 5.6 se muestra una represen-
tación gráfica del método. Los siguientes ejemplos se harán a través de cálculos reales
involucrados en el método.
EJEMPLO 5.3 Bisección
Planteamiento del problema. Emplee el método de bisección para resolver el mismo
problema que se resolvió usando el método gráfico del ejemplo 5.1.
Solución. El primer paso del método de bisección consiste en asignar dos valores ini-
ciales a la incógnita (en este problema, c) que den valores de f(c) con diferentes signos.
En la figura 5.1 se observa que la función cambia de signo entre los valores 12 y 16. Por
lo tanto, la estimación inicial de la raíz xr se encontrará en el punto medio del intervalo
xr =
+
=
12 16
2
14
Dicha aproximación representa un error relativo porcentual verdadero de et = 5.3% (note
que el valor verdadero de la raíz es 14.7802). A continuación calculamos el producto de
los valores en la función en un límite inferior y en el punto medio:
f(12)f(14) = 6.067(1.569) = 9.517
que es mayor a cero y, por lo tanto, no ocurre cambio de signo entre el límite inferior y
el punto medio. En consecuencia, la raíz debe estar localizada entre 14 y 16. Entonces,
16
12
14 16
15
14
FIGURA 5.6
Una representación gráfica
del método de bisección. La
gráfica presenta las primeras
tres iteraciones del ejemplo
5.3.
5.2 EL MÉTODO DE BISECCIÓN 125
se crea un nuevo intervalo redefiniendo el límite inferior como 14 y determinando una
nueva aproximación corregida de la raíz
xr =
+
=
14 16
2
15
la cual representa un error porcentual verdadero et = 1.5%. Este proceso se repite para
obtener una mejor aproximación. Por ejemplo,
f(14)f(15) = 1.569(–0.425) = –0.666
Por lo tanto, la raíz está entre 14 y 15. El límite superior se redefine como 15 y la raíz
estimada para la tercera iteración se calcula así:
xr =
+
=
14 15
2
14 5
.
que representa un error relativo porcentual et = 1.9%. Este método se repite hasta que el
resultado sea suficientemente exacto para satisfacer sus necesidades.
En el ejemplo anterior, se observa que el error verdadero no disminuye con cada
iteración. Sin embargo, el intervalo donde se localiza la raíz se divide a la mitad en cada
paso del proceso. Como se estudiará en la siguiente sección, el ancho del intervalo pro-
porciona una estimación exacta del límite superior del error en el método de bisección.
5.2.1 Criterios de paro y estimaciones de errores
Terminamos el ejemplo 5.3 diciendo que el método se repite para obtener una aproxi-
mación más exacta de la raíz. Ahora se debe desarrollar un criterio objetivo para decidir
cuándo debe terminar el método.
Una sugerencia inicial sería finalizar el cálculo cuando el error verdadero se en-
cuentre por debajo de algún nivel prefijado. En el ejemplo 5.3 se observa que el error
relativo baja de 5.3 a 1.9% durante el procedimiento de cálculo. Puede decidirse que el
método termina cuando se alcance un error más bajo, por ejemplo, al 0.1%. Dicha estra-
tegia es inconveniente, ya que la estimación del error en el ejemplo anterior se basó en
el conocimiento del valor verdadero de la raíz de la función. Éste no es el caso de una
situación real, ya que no habría motivo para utilizar el método si se conoce la raíz.
Por lo tanto, se requiere estimar el error de forma tal que no se necesite el conoci-
miento previo de la raíz. Como se vio previamente en la sección 3.3, se puede calcular
el error relativo porcentual ea de la siguiente manera (recuerde la ecuación 3.5):
εa
r r
r
x x
x
=
nuevo anterior
nuevo
–
%
100 (5.2)
donde xr
nuevo
es la raíz en la iteración actual y xr
anterior
es el valor de la raíz en la iteración
anterior. Se utiliza el valor absoluto, ya que por lo general importa sólo la magnitud de
ea sin considerar su signo. Cuando ea es menor que un valor previamente fijado es, ter-
mina el cálculo.
126 MÉTODOS CERRADOS
EJEMPLO 5.4 Estimación del error en la bisección
Planteamiento del problema. Continúe con el ejemplo 5.3 hasta que el error aproxi-
mado sea menor que el criterio de terminación de es = 0.5%. Use la ecuación (5.2) para
calcular los errores.
Solución. Los resultados de las primeras dos iteraciones en el ejemplo 5.3 fueron 14
y 15. Sustituyendo estos valores en la ecuación (5.2) se obtiene
εa =
−
=
15 14
15
100 6 67
% . %
Recuerde que el error relativo porcentual para la raíz estimada de 15 fue 1.5%. Por lo
tanto, ea es mayor a et. Este comportamiento se manifiesta en las otras iteraciones:
Iteración xl xu xr ea (%) et (%)
1 12 16 14 5.279
2 14 16 15 6.667 1.487
3 14 15 14.5 3.448 1.896
4 14.5 15 14.75 1.695 0.204
5 14.75 15 14.875 0.840 0.641
6 14.75 14.875 14.8125 0.422 0.219
Así, después de seis iteraciones ea finalmente está por debajo de es = 0.5%, y el
cálculo puede terminar.
Estos resultados se resumen en la figura 5.7. La naturaleza “desigual” del error
verdadero se debe a que, en el método de la bisección, la raíz exacta se encuentra en
cualquier lugar dentro del intervalo cerrado. Los errores verdadero y aproximado quedan
distantes cuando el intervalo está centrado sobre la raíz verdadera. Ellos están cercanos
cuando la raíz verdadera se halla en cualquier extremo del intervalo.
Aunque el error aproximado no proporciona una estimación exacta del error verda-
dero, la figura 5.7 sugiere que ea toma la tendencia general descendente de et. Además,
la gráfica muestra una característica muy interesante: que ea siempre es mayor que et.
Por lo tanto, cuando ea es menor que es los cálculos se pueden terminar, con la confian-
za de saber que la raíz es al menos tan exacta como el nivel aceptable predeterminado.
Aunque no es conveniente aventurar conclusiones generales a partir de un solo
ejemplo, es posible demostrar que ea siempre será mayor que et en el método de bisec-
ción. Esto se debe a que cada vez que se encuentra una aproximación a la raíz cuando
se usan bisecciones como xr = (xl + xu)/2, se sabe que la raíz verdadera se halla en algún
lugar dentro del intervalo de (xu – xl)/2 = ∆x/2. Por lo tanto, la raíz debe situarse dentro
de ±∆x/2 de la aproximación (figura 5.8). Así, cuando se terminó el ejemplo 5.3 se pudo
afirmar definitivamente que
xr = 14.5 ± 0.5
Debido a que ∆x/2 = xr
nuevo
– xr
anterior
(figura 5.9), la ecuación (5.2) proporciona un
límite superior exacto del error verdadero. Para que se rebase este límite, la raíz verda-
5.2 EL MÉTODO DE BISECCIÓN 127
dera tendría que estar fuera del intervalo que la contiene, lo cual, por definición, jamás
ocurrirá en el método de bisección. El ejemplo 5.7 muestra otras técnicas de localización
de raíces que no siempre resultan tan eficientes. Aunque el método de bisección por lo
general es más lento que otros métodos, la claridad del análisis de error ciertamente es
un aspecto positivo que puede volverlo atractivo para ciertas aplicaciones en ingeniería.
6
3
Iteraciones
Error
relativo
porcentual
0
0.1
1.0
Verdadero
Aproximado
10
FIGURA 5.7
Errores en el método de
bisección. Los errores ver-
dadero y aproximado se
grafican contra el número de
iteraciones.
b)
a)
c)
⌬x/2
xl xr xu
xl xr xu
xl xr xu
⌬x/2
Raíz verdadera
FIGURA 5.8
Tres formas en que un inter-
valo puede encerrar a la
raíz. En a) el valor verdade-
ro está en el centro del inter-
valo, mientras que en b) y
c) el valor verdadero está
cerca de los extremos. Ob-
serve que la diferencia entre
el valor verdadero y el punto
medio del intervalo jamás
sobrepasa la longitud media
del intervalo, o ∆x/2.
128 MÉTODOS CERRADOS
Antes de utilizar el programa de computadora para la bisección, debemos observar
que las siguientes relaciones (figura 5.9)
x x
x x
r r
u l
nuevo anterior
− =
−
2
y
x
x x
r
l u
nuevo
=
+
2
puede sustituirse en la ecuación (5.2) para desarrollar una formulación alternativa en la
aproximación del error relativo porcentual
εa
u l
u l
x x
x x
=
−
+
100% (5.3)
Esta ecuación resulta idéntica a la ecuación (5.2) para la bisección. Además, permite
calcular el error basándose en nuestros valores iniciales; es decir, en la primera iteración.
Por ejemplo, en la primera iteración del ejemplo 5.2, el error aproximado se calcula
como
εa =
−
+
=
16 12
16 12
100 14 29
% . %
Otro beneficio del método de bisección es que el número de iteraciones requerido
para obtener un error absoluto se calcula a priori; esto es, antes de empezar las iteracio-
nes, donde se observa que antes de empezar esta técnica, el error absoluto es
Ea
0
= xu
0
– xl
0
= ∆x0
donde los superíndices definen la iteración. Por lo tanto, antes de empezar el método se
tiene la “iteración cero”. Después de la primera iteración el error será
E
x
a
1
2
=
∆ 0
Iteración anterior
⌬x/2
xnuevo
r
xanterior
r
xnuevo
– xanterior
r r
Iteración actual
FIGURA 5.9
Representación gráfica de
por qué la estimación del
error para el método de
bisección (∆x/2) es equiva-
lente a la raíz estimada en
la iteración actual (xr
nuevo
)
menos la raíz aproximada
en la iteración anterior
(xr
anterior
).
5.2 EL MÉTODO DE BISECCIÓN 129
Debido a que en cada iteración se reduce el error a la mitad, la fórmula general que re-
laciona el error y el número de iteraciones, n, es
E
x
a
n
n
=
∆ 0
2
(5.4)
Si Ea,d es el error deseado, en esta ecuación se despeja
n
x E x
E
a d
a d
= =
⎛
⎝
⎜
⎞
⎠
⎟
log( / )
log
log
,
,
∆ ∆
0
2
0
2
(5.5)
Probemos la fórmula. En el ejemplo 5.4, el intervalo inicial fue ∆x0 = 16 – 12 = 4.
Después de seis iteraciones, el error absoluto era
Ea =
−
=
14 875 14 75
2
0 0625
. .
.
Si se sustituyen esos valores en la ecuación (5.5) resulta
n = =
log( / . )
log
4 0 0625
2
6
Entonces, si se sabe de antemano que un error menor a 0.0625 es aceptable, la fórmula
indica que con seis iteraciones se consigue el resultado deseado.
Aunque se ha puesto énfasis en el uso del error relativo por obvias razones, habrá
casos (usualmente a través del conocimiento del contexto del problema) donde se podrá
especificar el error absoluto. En esos casos, la bisección junto con la ecuación (5.5)
ofrece un útil algoritmo de localización de raíces. Se explorarán tales aplicaciones con
los problemas al final del capítulo.
5.2.2 Algoritmo de bisección
El algoritmo en la figura 5.5 se extiende para incluir verificación del error (figura 5.10). El
algoritmo emplea funciones definidas por el usuario para volver más eficientes la loca-
lización de las raíces y la evaluación de las funciones. Además, se le pone un límite
superior al número de iteraciones. Por último, se incluye la verificación de errores para
evitar la división entre cero durante la evaluación del error. Éste podría ser el caso cuan-
do el intervalo está centrado en cero. En dicha situación la ecuación (5.2) tiende al infi-
nito. Si esto ocurre, el programa saltará la evaluación de error en esa iteración.
El algoritmo en la figura 5.10 no es amigable al usuario; más bien está diseñado
estrictamente para dar la respuesta. En el problema 5.14 al final del capítulo, se tendrá
una tarea para volverlo fácil de usar y de entender.
5.2.3 Minimización de las evaluaciones de una función
El algoritmo de bisección de la figura 5.10 es adecuado si se quiere realizar la evalua-
ción de una sola raíz de una función que es fácil de evaluar. Sin embargo, hay muchos
casos en ingeniería que no son así. Por ejemplo, suponga que se quiere desarrollar un
130 MÉTODOS CERRADOS
programa computacional que localice varias raíces. En tales casos, se tendría que llamar
al algoritmo de la figura 5.10 miles o aun millones de veces en el transcurso de una sola
ejecución.
Además, en un sentido más general, la función de una variable es tan sólo una en-
tidad que regresa un solo valor para un solo valor que se le da. Visto de esta manera, las
funciones no son simples fórmulas como las ecuaciones de una sola línea de código
resueltas en los ejemplos anteriores de este capítulo. Por ejemplo, una función puede
consistir de muchas líneas de código y su evaluación llega a tomar un tiempo importan-
te de ejecución. En algunos casos, esta función incluso representaría un programa de
computadora independiente.
Debido a ambos factores es imperativo que los algoritmos numéricos minimicen las
evaluaciones de una función. A la luz de estas consideraciones, el algoritmo de la figu-
ra 5.10 es deficiente. En particular, observe que al hacer dos evaluaciones de una función
por iteración, vuelve a calcular una de las funciones que se determinó en la iteración
anterior.
La figura 5.11 proporciona un algoritmo modificado que no tiene esta deficiencia.
Se han resaltado las líneas que difieren de la figura 5.10. En este caso, únicamente se
calcula el valor de la nueva función para aproximar la raíz. Los valores calculados pre-
viamente son guardados y simplemente reasignados conforme el intervalo se reduce.
Así, las 2n evaluaciones de la función se reducen a n + 1.
5.3 MÉTODO DE LA FALSA POSICIÓN
Aun cuando la bisección es una técnica perfectamente válida para determinar raíces, su
método de aproximación por “fuerza bruta” es relativamente ineficiente. La falsa posición
es una alternativa basada en una visualización gráfica.
5.3 MÉTODO DE LA FALSA POSICIÓN 131
FIGURA 5.10
Seudocódigo para la fun-
ción que implementa el
método de bisección.
FUNCTION Bisect(xl, xu, es, imax, xr, iter, ea)
iter = 0
DO
xrold = xr
xr = (xl + xu)/2
iter = iter + 1
IF xr ≠ 0 THEN
ea = ABS((xr – xrold) / xr) * 100
END IF
test = f(xl) * f(xr)
IF test  0 THEN
xu = xr
ELSE IF test  0 THEN
xl = xr
ELSE
ea = 0
END IF
IF ea  es OR iter ≥ imax EXIT
END DO
Bisect = xr
END Bisect
Un inconveniente del método de bisección es que al dividir el intervalo de xl a xu en
mitades iguales, no se toman en consideración las magnitudes de f(xl) y f(xu). Por ejem-
plo, si f(xl) está mucho más cercana a cero que f(xu), es lógico que la raíz se encuentre
más cerca de xl que de xu (figura 5.12). Un método alternativo que aprovecha esta visua-
lización gráfica consiste en unir f(xl) y f(xu) con una línea recta. La intersección de esta
línea con el eje de las x representa una mejor aproximación de la raíz. El hecho de que
se reemplace la curva por una línea recta da una “falsa posición” de la raíz; de aquí el
nombre de método de la falsa posición, o en latín, regula falsi. También se le conoce
como método de interpolacion lineal.
Usando triángulos semejantes (figura 5.12), la intersección de la línea recta con el
eje de las x se estima mediante
f x
x x
f x
x x
l
r l
u
r u
( ) ( )
−
=
−
(5.6)
en la cual se despeja xr (véase cuadro 5.1 para los detalles)
x x
f x x x
f x f x
r u
u l u
l u
= −
−
−
( )( )
( ) ( )
(5.7)
Ésta es la fórmula de la falsa posición. El valor de xr calculado con la ecuación (5.7), re-
emplazará, después, a cualquiera de los dos valores iniciales, xl o xu, y da un valor de la
FUNCTION Bisect(xl, xu, es, imax, xr, iter, ea)
iter = 0
fl = f(xl)
DO
xrold = xr
xr = (xl + xu) / 2
fr = f(xr)
iter = iter + 1
lF xr ≠ 0 THEN
ea = ABS((xr – xrold) / xr) * 100
END IF
test = fl * fr
IF test  0 THEN
xu = xr
ELSE IF test  0 THEN
xl = xr
fl = fr
ELSE
ea = 0
END IF
IF ea  es OR iter ≥ imax EXIT
END DO
Bisect = xr
END Bisect
FIGURA 5.11
Seudocódigo para el
subprograma de bisección
que minimiza las evaluacio-
nes de la función.
132 MÉTODOS CERRADOS
función con el mismo signo de f(xr). De esta manera, los valores xl y xu siempre encierran
la verdadera raíz. El proceso se repite hasta que la aproximación a la raíz sea adecuada. El
algoritmo es idéntico al de la bisección (figura 5.5), excepto en que la ecuación (5.7)
Cuadro 5.1 Desarrollo del método de la falsa posición
Multiplicando en cruz la ecuación (5.6) obtenemos
f(xl)(xr – xu) = f(xu)(xr – xl)
Agrupando términos y reordenando:
xr [f(xl) – f(xu)] = xu f(xl) – xl f(xu)
Dividiendo entre f(xl) – f(xu):
x
x f x x f x
f x f x
r
u l l u
l u
=
−
−
( ) ( )
( ) ( )
(C5.1.1)
Ésta es una de las formas del método de la falsa posición. Ob-
serve que permite el cálculo de la raíz xr como una función de
los valores iniciales inferior xl y superior xu. Ésta puede ponerse
en una forma alternativa al separar los términos:
x
x f x
f x f x
x f x
f x f x
r
u l
l u
l u
l u
=
−
−
−
( )
( ) ( )
( )
( ) ( )
5.3 MÉTODO DE LA FALSA POSICIÓN 133
x
f(x)
f(xl)
f(xu)
xu
xl
xr
FIGURA 5.12
Representación gráfica del
método de la falsa posición.
Con los triángulos semejan-
tes sombreados se obtiene
la fórmula para el método.
sumando y restando xu en el lado derecho:
x x
x f x
f x f x
x
x f x
f x f x
r u
u l
l u
u
l u
l u
= +
−
− −
−
( )
( ) ( )
( )
( ) ( )
Agrupando términos se obtiene
x x
x f x
f x f x
x f x
f x f x
r u
u u
l u
l u
l u
= +
−
−
−
( )
( ) ( )
( )
( ) ( )
o
x x
f x x x
f x f x
r u
u l u
l u
= −
−
−
( )( )
( ) ( )
la cual es la misma ecuación (5.7). Se utiliza esta forma porque
implica una evaluación de la función y una multiplicación menos
que la ecuación (C5.1.1). Además ésta es directamente compa-
rable con el método de la secante, el cual se estudia en el capí-
tulo 6.
se usa en el paso 2. Además, se usa el mismo criterio de terminación [ecuación (5.2)]
para concluir los cálculos.
EJEMPLO 5.5 Falsa posición
Planteamiento del problema. Con el método de la falsa posición determine la raíz
de la misma ecuación analizada en el ejemplo 5.1 [ecuación (E5.1.1)].
Solución. Como en el ejemplo 5.3 se empieza el cálculo con los valores iniciales xl =
12 y xu = 16.
Primera iteración:
xl = 12 f(xl) = 6.0699
xu = 16 f(xu) = –2.2688
xr = 16 −
− −
− −
=
2 2688 12 16
6 0669 2 2688
14 9113
. ( )
. ( . )
.
que tiene un error relativo verdadero de 0.89 por ciento.
Segunda iteración:
f(xl) f(xr) = –1.5426
Por lo tanto, la raíz se encuentra en el primer subintervalo y xr se vuelve ahora el límite
superior para la siguiente iteración, xu = 14.9113:
xl = 12 f(xl) = 6.0699
xu = 14.9113 f(xu) = –0.2543
xr = 14.9113 −
− −
− −
=
0 2543 12 14 9113
6 0669 0 2543
14 7942
. ( . )
. ( . )
.
el cual tiene errores relativos y verdadero y aproximado de 0.09 y 0.79 por ciento. Es po-
sible realizar iteraciones adicionales para hacer una mejor aproximación de las raíces.
Se obtiene una idea más completa de la eficiencia de los métodos de bisección y de
falsa posición al observar la figura 5.13, donde se muestra el error relativo porcentual
verdadero de los ejemplos 5.4 y 5.5. Observe cómo el error decrece mucho más rápida-
mente en el método de la falsa posición que en el de la bisección, debido a un esquema
más eficiente en el método de la falsa posición para la localización de raíces.
Recuerde que en el método de bisección el intervalo entre xl y xu se va haciendo más
pequeño durante los cálculos. Por lo tanto, el intervalo, como se definió por ∆x/2 =
|xu – xl|/2 para la primera iteración, proporciona una medida del error en este método.
Éste no es el caso con el método de la falsa posición, ya que uno de los valores iniciales
puede permanecer fijo durante los cálculos, mientras que el otro converge hacia la raíz.
Como en el caso del ejemplo 5.6, el extremo inferior xl permanece en 12, mientras que
xu converge a la raíz. En tales casos, el intervalo no se acorta, sino que se aproxima a un
valor constante.
134 MÉTODOS CERRADOS
El ejemplo 5.6 sugiere que la ecuación (5.2) representa un criterio de error muy
conservador. De hecho, la ecuación (5.2) constituye una aproximación de la discrepancia
en la iteración previa. Esto se debe a que para un caso, tal como el del ejemplo 5.6,
donde el método converge rápidamente (por ejemplo, el error se va reduciendo casi un
100% de magnitud por cada iteración), la raíz para la iteración actual xr
nuevo
es una me-
jor aproximación al valor real de la raíz, que el resultado de la iteración previa xr
anterior
.
Así, el numerador de la ecuación (5.2) representa la discrepancia de la iteración previa.
En consecuencia, se nos asegura que al satisfacer la ecuación (5.2), la raíz se conocerá
con mayor exactitud que la tolerancia preestablecida. Sin embargo, como se ve en la
siguiente sección, existen casos donde el método de la falsa posición converge lentamen-
te. En tales casos la ecuación (5.2) no es confiable y se debe desarrollar un criterio di-
ferente de terminación.
5.3.1 Desventajas del método de la falsa posición
Aunque el método de la falsa posición parecería ser siempre la mejor opción entre los
métodos cerrados, hay casos donde funciona de manera deficiente. En efecto, como en
el ejemplo siguiente, hay ciertos casos donde el método de bisección ofrece mejores
resultados.
6
3
Iteraciones
Error
relativo
porcentual
verdadero
0
10–2
10–3
Bisección
Falsa posición
10
1
10–1
10–4
FIGURA 5.13
Comparación de los errores
relativos de los métodos
de bisección y de la falsa
posición.
5.3 MÉTODO DE LA FALSA POSICIÓN 135
EJEMPLO 5.6 Un caso en el que la bisección es preferible a la falsa posición
Planteamiento del problema. Con los métodos de bisección y de falsa posición loca-
lice la raíz de
f(x) = x10
– 1
entre x = 0 y 1.3.
Solución. Usando bisección, los resultados se resumen como sigue
Iteración xl xu xr ea (%) et (%)
1 0 1.3 0.65 100.0 35
2 0.65 1.3 0.975 33.3 2.5
3 0.975 1.3 1.1375 14.3 13.8
4 0.975 1.1375 1.05625 7.7 5.6
5 0.975 1.05625 1.015625 4.0 1.6
1.0
10
5
0
f(x)
x
FIGURA 5.14
Gráfica de la función f(x) = x10
– 1, ilustrando la lentitud de convergencia del método
de la falsa posición.
136 MÉTODOS CERRADOS
De esta manera, después de cinco iteraciones, el error verdadero se reduce a menos del
2%. Con la falsa posición se obtienen resultados muy diferentes:
Iteración xl xu xr ea (%) et (%)
1 0 1.3 0.09430 90.6
2 0.09430 1.3 0.18176 48.1 81.8
3 0.18176 1.3 0.26287 30.9 73.7
4 0.26287 1.3 0.33811 22.3 66.2
5 0.33811 1.3 0.40788 17.1 59.2
Después de cinco iteraciones, el error verdadero sólo se ha reducido al 59%. Además,
observe que ea  et. Entonces, el error aproximado es engañoso. Se obtiene mayor cla-
ridad sobre estos resultados examinando una gráfica de la función. En la figura 5.14, la
curva viola la premisa sobre la cual se basa la falsa posición; es decir, si f(xl) se encuen-
tra mucho más cerca de cero que f(xu), la raíz se encuentra más cerca de xl que de xu
(recuerde la figura 5.12). Sin embargo, debido a la forma de esta función ocurre lo con-
trario.
El ejemplo anterior ilustra que, por lo común, no es posible realizar generalizaciones
con los métodos de obtención de raíces. Aunque un método como el de la falsa posición
casi siempre es superior al de bisección, hay algunos casos que violan esta conclusión
general. Por lo tanto, además de usar la ecuación (5.2), los resultados se deben verificar
sustituyendo la raíz aproximada en la ecuación original y determinar si el resultado se
acerca a cero. Esta prueba se debe incorporar en todos los programas que localizan
raíces.
El ejemplo ilustra también una importante desventaja del método de la falsa posición:
su unilateralidad. Es decir, conforme se avanza en las iteraciones, uno de los puntos
limitantes del intervalo tiende a permanecer fijo. Esto puede llevar a una mala conver-
gencia, especialmente en funciones con una curvatura importante. La sección siguiente
ofrece una solución.
5.3.2 Falsa posición modificada
Una forma de disminuir la naturaleza unilateral de la falsa posición consiste en obtener
un algoritmo que detecte cuando se “estanca” uno de los límites del intervalo. Si ocurre
esto, se divide a la mitad el valor de la función en el punto de “estancamiento”. A este
método se le llama método de la falsa posición modificado.
El algoritmo dado en la figura 5.15 lleva a cabo dicha estrategia. Observe cómo se
han usado contadores para determinar si uno de los límites del intervalo permanece fijo
“estancado” durante dos iteraciones. Si ocurre así, el valor de la función en este valor de
“estancamiento” se divide a la mitad.
La efectividad de este algoritmo se demuestra aplicándolo al ejemplo 5.6. Si se uti-
liza un criterio de terminación de 0.01% el método de bisección y el método estándar de
5.3 MÉTODO DE LA FALSA POSICIÓN 137
falsa posición convergerán, respectivamente, después de 14 y 39 iteraciones. En cambio
el método de la falsa posición modificado convergerá después de 12 iteraciones. De ma-
nera que para este ejemplo el método de la falsa posición modificado es más eficiente que
el de bisección y muchísimo mejor que el método de la falsa posición no modificado.
5.4 BÚSQUEDAS POR INCREMENTOS Y DETERMINACIÓN
DE VALORES INICIALES
Además de verificar una respuesta individual, se debe determinar si se han localizado
todas las raíces posibles. Como se mencionó anteriormente, por lo general una gráfica
de la función ayudará a realizar dicha tarea. Otra opción es incorporar una búsqueda
incremental al inicio del programa. Esto consiste en empezar en un extremo del inter-
valo de interés y realizar evaluaciones de la función con pequeños incrementos a lo
largo del intervalo. Si la función cambia de signo, se supone que la raíz está dentro del
incremento. Los valores de x, al principio y al final del incremento, pueden servir como
valores iniciales para una de las técnicas descritas en este capítulo.
FUNCTION ModFalsePos(xl, xu, es, imax, xr, iter, ea)
iter = 0
fl = f(xl)
fu = f(xu)
DO
xrold = xr
xr = xu – fu * (xl – xu) / (fl – fu)
fr = f(xr)
iter = iter + 1
IF xr  0 THEN
ea = Abs((xr – xrold) / xr) * 100
END IF
test = fl * fr
IF test  0 THEN
xu = xr
fu = f(xu)
iu = 0
il = il +1
If il ≥ 2 THEN fl = fl / 2
ELSE IF test  0 THEN
xl = xr
fl = f (xl)
il = 0
iu = iu + 1
IF iu ≥ 2 THEN fu = fu / 2
ELSE
ea = 0
END IF
IF ea  es 0R iter ≥ imax THEN EXIT
END DO
ModFalsePos = xr
END ModFalsePos
FIGURA 5.15
Seudocódigo para el mé-
todo de la falsa posición
modificado.
138 MÉTODOS CERRADOS
Un problema potencial en los métodos de búsqueda por incremento es el de escoger
la longitud del incremento. Si la longitud es muy pequeña, la búsqueda llega a consumir
demasiado tiempo. Por otro lado, si la longitud es demasiado grande, existe la posibilidad
de que raíces muy cercanas entre sí pasen inadvertidas (figura 5.16). El problema se
complica con la posible existencia de raíces múltiples. Un remedio parcial para estos
casos consiste en calcular la primera derivada de la función f′(x) al inicio y al final de
cada intervalo. Cuando la derivada cambia de signo, puede existir un máximo o un
mínimo en ese intervalo, lo que sugiere una búsqueda más minuciosa para detectar la
posibilidad de una raíz.
Aunque estas modificaciones o el empleo de un incremento muy fino ayudan a
resolver el problema, se debe aclarar que métodos tales como el de la búsqueda incre-
mental no siempre resultan sencillos. Será prudente complementar dichas técnicas au-
tomáticas con cualquier otra información que dé idea de la localización de las raíces.
Esta información se puede encontrar graficando la función y entendiendo el problema
físico de donde proviene la ecuación.
PROBLEMAS
x6
x0 x1 x2 x3 x4 x5
f(x)
x
FIGURA 5.16
Casos donde las raíces
pueden pasar inadvertidas
debido a que la longitud
del incremento en el método
de búsqueda incremental
es demasiado grande. Ob-
serve que la última raíz a la
derecha es múltiple y podría
dejar de considerarse inde-
pendientemente de la longi-
tud del incremento.
5.1 Determine las raíces reales de f(x) = –0.5x2
+ 2.5x + 4.5:
a) Gráficamente
b) Empleando la fórmula cuadrática
c) Usando el método de bisección con tres iteraciones para
determinar la raíz más grande. Emplee como valores inicia-
les xl = 5 y xu = 10. Calcule el error estimado ea y el error
verdadero et para cada iteración.
5.2 Determine las raíces reales de f(x) = 5x3
– 5x2
+ 6x – 2:
a) Gráficamente
b) Utilizando el método de bisección para localizar la raíz más
pequeña. Use los valores iniciales xl = 0 y xu = 1 iterando
PROBLEMAS 139
hasta que el error estimado ea se encuentre debajo de es =
10%.
5.3 Determine las raíces reales de f(x) = −25 1 82x − 90x2
+ 44x3
– 8x4
+ 0.7x5
:
a) Gráficamente
b) Usando el método de bisección para localizar la raíz más
grande con es = 10%. Utilice como valores iniciales xl = 0.5
y xu = 1.0.
c) Realice el mismo cálculo que en b), pero con el método de
la falsa posición y es = 0.2%.
5.4 Calcule las raíces reales de f(x) = –12 – 21x + 18x2
– 2.75x3
:
a) Gráficamente
b) Empleando el método de la falsa posición con un valor es
correspondiente a tres cifras significativas para determinar
la raíz más pequeña.
5.5 Localice la primera raíz no trivial de sen x = x2
, donde x está
en radianes. Use una técnica gráfica y bisección con un interva-
lo inicial de 0.5 a 1. Haga el cálculo hasta que ea sea menor que
es = 2%. Realice también una prueba de error sustituyendo la
respuesta final en la ecuación original.
5.6 Determine la raíz real de ln x2
= 0.7:
a) Gráficamente
b) Empleando tres iteraciones en el método de bisección con
los valores iniciales xl = 0.5 y xu = 2.
c) Usando tres iteraciones del método de la falsa posición, con
los mismos valores iniciales de b).
5.7 Determine la raíz real de f(x) = (0.8 – 0.3x)/x:
a) Analíticamente
b) Gráficamente
c) Empleando tres iteraciones en el método de la falsa posición,
con valores iniciales de 1 a 3. Calcule el error aproximado
ea y el error verdadero et en cada iteración.
5.8 Calcule la raíz cuadrada positiva de 18 usando el método de
la falsa posición con es = 0.5%. Emplee como valores iniciales
xl = 4 y xu = 5.
5.9 Encuentre la raíz positiva más pequeña de la función (x está
en radianes) x2
| cos 冑苴
x | = 5 usando el método de la falsa posición.
Para localizar el intervalo en donde se encuentra la raíz, grafique
primero esta función para valores de x entre 0 y 5. Realice el
cálculo hasta que ea sea menor que es = 1%. Compruebe su res-
puesta final sustituyéndola en la función original.
5.10 Encuentre la raíz positiva de f(x) = x4
– 8x3
– 35x2
+ 450x
–1001, utilizando el método de la falsa posición. Tome como
valores iniciales a xl = 4.5 y xu = 6, y ejecute cinco iteraciones.
Calcule los errores tanto aproximado como verdadero, con base
en el hecho de que la raíz es 5.60979. Emplee una gráfica para
explicar sus resultados y hacer el cálculo dentro de un es = 1.0%.
5.11 Determine la raíz real de x3.5
= 80:
a) En forma analítica.
b) Con el método de la falsa posición dentro de es = 2.5%.
Haga elecciones iniciales de 2.0 a 5.0.
5.12 Dada
f(x) = –2x6
– 1.5x4
+ 10x + 2
Use el método de la bisección para determinar el máximo de
esta función. Haga elecciones iniciales de xl = 0 y xu = 1, y rea-
lice iteraciones hasta que el error relativo aproximado sea menor
que 5%.
5.13 La velocidad v de un paracaidista que cae está dada por
v
gm
c
e c m t
= −
( )
−
1 ( / )
donde g = 9.8 m/s2
. Para un paracaidista con coeficiente de
arrastre de c = 15 kg/s, calcule la masa m de modo que la velo-
cidad sea v = 35 m/s en t = 9s. Utilice el método de la falsa po-
sición para determinar m a un nivel de es = 0.1%.
5.14 Se carga una viga de la manera que se aprecia en la figura
P5.14. Emplee el método de bisección para resolver la posición
dentro de la viga donde no hay momento.
140 MÉTODOS CERRADOS
3’ 3’ 2’
4’
100 lb/ft 100 lb
5.15 Por un canal trapezoidal fluye agua a una tasa de Q = 20
m3
/s. La profundidad crítica y para dicho canal satisface la
ecuación
0 1
2
3
= −
Q
gA
B
c
donde g = 9.81m/s2
, Ac = área de la sección transversal (m2
), y
B = ancho del canal en la superficie (m). Para este caso, el ancho
y el área de la sección transversal se relacionan con la profundi-
dad y por medio de
B = 3 + y y A y
y
c = +
3
2
2
Resuelva para la profundidad crítica con el uso de los métodos a)
gráfico, b) bisección, y c) falsa posición. En los incisos b) y c),
haga elecciones iniciales de xl = 0.5 y xu = 2.5, y ejecute iteracio-
nes hasta que el error aproximado caiga por debajo del 1% o el
número de interaciones supere a 10. Analice sus resultados.
5.16 Suponga el lector que está diseñando un tanque esférico
(véase la figura P5.16) para almacenar agua para un poblado
pequeño en un país en desarrollo. El volumen de líquido que
puede contener se calcula con
V h
R h
=
−
π 2 3
3
[ ]
Figura P5.14
donde V = volumen [m3
], h = profundidad del agua en el tanque
[m], y R = radio del tanque [m].
a) Si los valores iniciales son de 0 y 40ºC, con el método de
la bisección, ¿cuántas iteraciones se requerirían para deter-
minar la temperatura con un error absoluto de 0.05ºC.
b) Desarrolle y pruebe un programa para el método de bisec-
ción a fin de determinar T como función de una concen-
tración dada de oxígeno, con un error absoluto preespecifi-
cado como en el inciso a). Dadas elecciones iniciales de 0 y
40ºC, pruebe su programa para un error absoluto de 0.05ºC
para los casos siguientes: osf = 8, 10 y 12 mg/L. Compruebe
sus resultados.
5.18 Integre el algoritmo que se bosquejó en la figura 5.10, en
forma de subprograma completo para el método de bisección
amigable para el usuario. Entre otras cosas:
a) Construya enunciados de documentación en el subprograma
a fin de identificar lo que se pretende que realice cada sec-
ción.
b) Etiquete la entrada y la salida.
c) Agregue una comprobación de la respuesta, en la que se
sustituya la estimación de la raíz en la función original para
verificar si el resultado final se acerca a cero.
d) Pruebe el subprograma por medio de repetir los cálculos de
los ejemplos 5.3 y 5.4.
5.19 Desarrolle un subprograma para el método de bisección
que minimice las evaluaciones de la función, con base en el seu-
docódigo que se presenta en la figura 5.11. Determine el núme-
ro de evaluaciones de la función (n) para el total de iteraciones.
Pruebe el programa con la repetición del ejemplo 5.6.
5.20 Desarrolle un programa amigable para el usuario para el
método de la falsa posición. La estructura del programa debe ser
similar al algoritmo de la bisección que se bosquejó en la figura
5.10. Pruebe el programa con la repetición del ejemplo 5.5.
5.21 Desarrolle un subprograma para el método de la falsa po-
sición que minimice las evaluaciones de la función en forma
similar a la figura 5.11. Determine el número de evaluaciones de
la función (n) para el total de iteraciones. Pruebe el programa por
medio de la duplicación del ejemplo 5.6.
5.22 Desarrolle un subprograma amigable para el usuario para
el método de la falsa posición modificado, con base en la figura
5.15. Pruebe el programa con la determinación de la raíz de la
función del ejemplo 5.6. Ejecute corridas hasta que el error re-
lativo porcentual verdadero esté por debajo de 0.01%. Elabore
una gráfica en papel semilogarítmico de los errores relativo,
porcentual, aproximado y verdadero, versus el número de itera-
ciones. Interprete los resultados.
PROBLEMAS 141
h
V
R
Figura P5.16
Si R = 3m, ¿a qué profundidad debe llenarse el tanque de modo
que contenga 30 m3
? Haga tres iteraciones con el método de la
falsa posición a fin de obtener la respuesta. Determine el error
relativo aproximado después de cada iteración.
5.17 La concentración de saturación de oxígeno disuelto en agua
dulce se calcula con la ecuación (APHA, 1992)
ln o
T
sf
a
= − +
×
−
×
139 34411
1 575701 10 6 642308 1
5
.
. . 0
0
1 243800 10 8 621949 10
7
2
10
3
11
4
T
T T
a
a a
+
×
−
×
. .
donde osf = concentración de saturación de oxígeno disuelto en
agua dulce a 1 atm (mg/L) y Ta = temperatura absoluta (K).
Recuerde el lector que Ta = T + 273.15, donde T = temperatura
(ºC). De acuerdo con esta ecuación, la saturación disminuye con
el incremento de la temperatura. Para aguas naturales comunes
en climas templados, la ecuación se usa para determinar que la
concentración de oxígeno varía de 14.621 mg/L a 0ºC a 6.413
mg/L a 40ºC. Dado un valor de concentración de oxígeno, puede
emplearse esta fórmula y el método de bisección para resolver
para la termperatura en ºC.
CAPÍTULO 6
Métodos abiertos
En los métodos cerrados del capítulo anterior la raíz se encuentra dentro de un interva-
lo predeterminado por un límite inferior y otro superior. La aplicación repetida de estos
métodos siempre genera aproximaciones cada vez más cercanas a la raíz. Se dice que
tales métodos son convergentes porque se acercan progresivamente a la raíz a medida
que se avanza en el cálculo (figura 6.1a).
En contraste, los métodos abiertos descritos en este capítulo se basan en fórmulas
que requieren únicamente de un solo valor de inicio x o que empiecen con un par de
ellos, pero que no necesariamente encierran la raíz. Éstos, algunas veces divergen o se
alejan de la raíz verdadera a medida que se avanza en el cálculo (figura 6.1b). Sin em-
bargo, cuando los métodos abiertos convergen (figura 6.1c), en general lo hacen mucho
más rápido que los métodos cerrados. Empecemos el análisis de los métodos abiertos
con una versión simple que es útil para ilustrar su forma general y también para demos-
trar el concepto de convergencia.
FIGURA 6.1
Representación gráfica de
las diferencias fundamen-
tales entre los métodos a)
cerrados, b) y c) los méto-
dos abiertos para el cálculo
de raíces. En a) se ilustra el
método de bisección, donde
la raíz está contenida dentro
del intervalo dado por xl, y
xu. En contraste, en los mé-
todos abiertos, ilustrados en
b) y c), se utiliza una fórmula
para dirigirse de xi a xi+1,
con un esquema iterativo.
Así, el método puede b)
diverger o c) converger
rápidamente, dependiendo
de los valores iniciales.
f(x)
x
a)
xl xu
xl xu
f(x)
x
b)
xi
xi + 1
f(x)
x
c)
xi
xi + 1
xl xu
xl xu
xl xu
6.1 ITERACIÓN SIMPLE DE PUNTO FIJO
Como se dijo antes, los métodos abiertos emplean una fórmula para predecir la raíz. Esta
fórmula puede desarrollarse como una iteración simple de punto fijo (también llamada
iteración de un punto o sustitución sucesiva o método de punto fijo), al arreglar la ecua-
ción f(x) = 0 de tal modo que x esté del lado izquierdo de la ecuación:
x = g(x) (6.1)
Esta transformación se realiza mediante operaciones algebraicas o simplemente suman-
do x a cada lado de la ecuación original. Por ejemplo,
x2
– 2x + 3 = 0
se arregla para obtener
x2
+ 3
x = ––––––
2
mientras que sen x = 0 puede transformarse en la forma de la ecuación (6.1) sumando x
a ambos lados para obtener
x = sen x + x
La utilidad de la ecuación (6.1) es que proporciona una fórmula para predecir un
nuevo valor de x en función del valor anterior de x. De esta manera, dado un valor inicial
para la raíz xi, la ecuación (6.1) se utiliza para obtener una nueva aproximación xi+1,
expresada por la fórmula iterativa
xi+1 = g(xi) (6.2)
Como en otras fórmulas iterativas de este libro, el error aproximado de esta ecuación se
calcula usando el error normalizado [ecuación (3.5)]:
εa
i i
i
x x
x
=
−
+
+
1
1
100%
EJEMPLO 6.1 Iteración simple de punto fijo
Planteamiento del problema. Use una iteración simple de punto fijo para localizar
la raíz de f(x) = e–x
– x.
Solución. La función se puede separar directamente y expresarse en la forma de la
ecuación (6.2) como
xi + l = e–xi
6.1 ITERACIÓN SIMPLE DE PUNTO FIJO 143
144 MÉTODOS ABIERTOS
Empezando con un valor inicial x0 = 0, se aplica esta ecuación iterativa para calcular
i xi ea (%) et (%)
0 0 100.0
1 1.000000 100.0 76.3
2 0.367879 171.8 35.1
3 0.692201 46.9 22.1
4 0.500473 38.3 11.8
5 0.606244 17.4 6.89
6 0.545396 11.2 3.83
7 0.579612 5.90 2.20
8 0.560115 3.48 1.24
9 0.571143 1.93 0.705
10 0.564879 1.11 0.399
De esta manera, se puede observar que cada iteración se acerca cada vez más al valor
aproximado al valor verdadero de la raíz: 0.56714329.
6.1.1 Convergencia
Note que el error relativo porcentual verdadero en cada iteración del ejemplo 6.1 es pro-
porcional (por un factor de 0.5 a 0.6) al error de la iteración anterior. Esta propiedad, co-
nocida como convergencia lineal, es característica de la iteración simple de punto fijo.
Además de la “velocidad” de convergencia, en este momento debemos enfatizar la
“posibilidad” de convergencia. Los conceptos de convergencia y divergencia se pueden
ilustrar gráficamente. Recuerde que en la sección 5.1 se graficó una función para visua-
lizar su estructura y comportamiento (ejemplo 5.1). Ese método se emplea en la figura
6.2a para la función f(x) = e–x
– x. Un método gráfico alternativo consiste en separar la
ecuación en dos partes, de esta manera
f1(x) = f2(x)
Entonces las dos ecuaciones
y1 = f1(x) (6.3)
y
y2 = f2(x) (6.4)
se grafican por separado (figura 6.2b ). Así, los valores de x correspondientes a las in-
tersecciones de estas dos funciones representan las raíces de f(x) = 0.
EJEMPLO 6.2 El método gráfico de las dos curvas
Planteamiento del problema. Separe la ecuación e–x
– x = 0 en dos partes y deter-
mine su raíz en forma gráfica.
Solución. Reformule la ecuación como y1 = x y y2 = e–x
. Al tabular las funciones se
obtienen los siguientes valores:
x y1 y2
0.0 0.0 1.000
0.2 0.2 0.819
0.4 0.4 0.670
0.6 0.6 0.549
0.8 0.8 0.449
1.0 1.0 0.368
Estos puntos se grafican en la figura 6.2b. La intersección de las dos curvas indica una
raíz estimada de aproximadamente x = 0.57, que corresponde al valor donde la curva de
la figura 6.2a cruza el eje x.
FIGURA 6.2
Dos métodos gráficos para determinar la raíz de f(x) = e–x
– x. a) La raíz como un punto donde
la función cruza el eje x; b) la raíz como la intersección de las dos funciones componentes.
f (x)
f (x)
x
x
Raíz
Raíz
f (x) = e– x
– x
f 1(x) = x
f 2(x) = e– x
a)
b)
6.1 ITERACIÓN SIMPLE DE PUNTO FIJO 145
146 MÉTODOS ABIERTOS
El método de las dos curvas también se utiliza para ilustrar la convergencia y diver-
gencia de la iteración de punto fijo. En primer lugar, la ecuación (6.1) se reexpresa como
un par de ecuaciones y1 = x y y2 = g(x). Estas dos ecuaciones se grafican por separado.
Entonces, las raíces de f(x) = 0 corresponden al valor de la abscisa para la intersección
de las dos curvas. En la figura 6.3 se grafican la función yl = x y cuatro formas diferen-
tes de la función y2 = g(x).
En el primer caso (figura 6.3a), el valor inicial x0 sirve para determinar el punto
[x0, g(x0)] correspondiente a la curva y2. El punto (x1, x1) se encuentra moviéndose ho-
rizontalmente a la izquierda hasta la curva y1. Estos movimientos son el equivalente a
la primera iteración en el método de punto fijo:
x1 = g(x0)
De esta manera, tanto en la ecuación como en la gráfica se usa un valor inicial x0 para
obtener una aproximación de x1. La siguiente iteración consiste en moverse al punto
[x1, g(x1)] y después a (x2, x2). Esta iteración es equivalente a la ecuación:
x2 = g(x1)
FIGURA 6.3
Representación gráfica en
a) y b) de la convergencia.
En c) y d) de la divergencia
del método de punto fijo.
Las gráficas a) y c) tienen un
comportamiento monótono;
mientras que b) y d) tienen
un comportamiento oscila-
torio o en espiral. Deberá
notar que la convergencia
se obtiene cuando
⎪g’(x)⎪  1.
x
x1
y1 = x
y2 = g(x)
x2 x0
y
a)
x
y1 = x
y2 = g(x)
x0
y
b)
x
y1 = x
y2 = g(x)
x0
y
c)
x
y1 = x
y2 = g(x)
x0
y
d)
La solución en la figura 6.3a es convergente, ya que la aproximación de x se acerca más
a la raíz con cada iteración. Lo mismo ocurre en la figura 6.3b. Sin embargo, éste no
es el caso en las figuras 6.3c y 6.3d, donde las iteraciones divergen de la raíz. Observe
que la convergencia ocurre únicamente cuando el valor absoluto de la pendiente de
y2 = g(x) es menor al valor de la pendiente de y1 = x, es decir, cuando |g′(x)|  1. En el
cuadro 6.1 se presenta un desarrollo teórico de este resultado.
6.1.2 Algoritmo para el método de punto fijo
El algoritmo para la iteración de punto fijo es simple en extremo. Consta de un loop o
ciclo que calcula en forma iterativa nuevas aproximaciones hasta satisfacer el criterio de
terminación. En la figura 6.4 se muestra el seudocódigo para el algoritmo. Se pueden
programar de manera similar otros métodos abiertos, la modificación principal consis-
te en cambiar la fórmula iterativa que se utiliza para calcular la nueva raíz.
Al analizar la figura 6.3, se debe notar que la iteración de punto
fijo converge si, en la región de interés, ⏐g′(x)⏐  1. En otras
palabras, la convergencia ocurre si la magnitud de la pendiente
de g(x) es menor que la pendiente de la recta f(x) = x. Esta ob-
servación puede demostrarse teóricamente. Recuerde que la
ecuación iterativa es
xi + 1 = g(xi)
Suponga que la solución verdadera es
xr = g(xr)
Restando estas dos ecuaciones se obtiene
xr – xi+1 = g(xr) – g(xi) (C6.1.1)
El teorema del valor medio de la derivada (recuerde la sección
4.1.1) establece que si una función g(x) y su primer derivada son
continuas en un intervalo a ≤ x ≤ b, entonces existe al menos un
valor de x = x dentro del intervalo para el que
g(b) – g(a)
g′(x) = ————— (C6.1.2)
b – a
El lado derecho de esta ecuación es la pendiente de la recta que
une a g(a) y g(b). Así, el teorema del valor medio establece que
existe al menos un punto entre a y b que tiene una pendiente,
denotada por g′(x), que es paralela a la línea que une g(a) con
g(b) (recuerde la figura 4.3).
Ahora, si se hace a = xi y b = xr, el lado derecho de la ecuación
(C6.1.1) se expresa como
g(xr) – g(xi) = (xr – xi)g′(x)
donde x se encuentra en alguna parte entre xi y xr . Este resultado
se sustituye en la ecuación (C6.1.1) para obtener
xr – xi+1 = (xr – xi)g′(x) (C6.1.3)
Si el error verdadero en la iteración i se define como
Et,i = xr – xi
entonces la ecuación (C6.1.3) se convierte en
Et,i+1 = g′(x)Et,i
En consecuencia, si ⏐g′(x)⏐  1, entonces los errores disminuyen
con cada iteración. Si ⏐g′(x)⏐  1, los errores crecen. Observe
también que si la derivada es positiva, los errores serán positivos
y, por lo tanto, la solución iterativa será monótona (figuras 6.3a
y 6.3c). Si la derivada es negativa, entonces los errores oscilarán
(figuras 6.3b y 6.3d).
Un corolario de este análisis establece que cuando el método
converge, el error es proporcional y menor que el error en la
iteración anterior. Por tal razón se dice que la iteración simple
de punto fijo es linealmente convergente.
6.1 ITERACIÓN SIMPLE DE PUNTO FIJO 147
Cuadro 6.1 Convergencia del método de punto fijo
148 MÉTODOS ABIERTOS
FUNCTION Fixpt(x0, es, imax iter, ea)
xr = x0
iter = 0
DO
xrold = xr
xr = g(xrold)
iter = iter + 1
lF xr ≠ 0 THEN
ea
xr– xrold
xr
100
= ⋅
END IF
IF ea  es 0R iter ≥ imax EXIT
END DO
Fixpt = xr
END Fixpt
FIGURA 6.4
Seudocódigo para el mé-
todo de punto fijo. Note
que otros métodos abiertos
pueden diseñarse en este
formato general.
FIGURA 6.5
Representación gráfica del
método de Newton-Raph-
son. Se extrapola una tan-
gente a la función en xi [esto
es, f’(xi)] hasta el eje x para
obtener una estimación de
la raíz en xi + 1.
6.2 MÉTODO DE NEWTON-RAPHSON
Tal vez, de las fórmulas para localizar raíces, la fórmula de Newton-Raphson (figura
6.5) sea la más ampliamente utilizada. Si el valor inicial para la raíz es xi, entonces se
puede trazar una tangente desde el punto [xi, f(xi)] de la curva. Por lo común, el punto
donde esta tangente cruza al eje x representa una aproximación mejorada de la raíz.
El método de Newton-Raphson se deduce a partir de esta interpretación geométri-
ca (un método alternativo basado en la serie de Taylor se describe en el cuadro 6.2). De
la figura 6.5, se tiene que la primera derivada en x es equivalente a la pendiente:
f(x)
f(xi)
f(xi) – 0
Pendiente = f'(xi)
0
x
xi+1 xi
xi – xi+1
f(xi) – 0
ƒ′(xi) = ––––—— (6.5)
xi – xi + 1
que se arregla para obtener
x x
f x
f x
i i
i
i
+ =
′
1 –
( )
( )
(6.6)
la cual se conoce como fórmula de Newton-Raphson.
EJEMPLO 6.3 Método de Newton-Raphson
Planteamiento del problema. Utilice el método de Newton-Raphson para calcular la
raíz de f(x) = e–x
– x empleando como valor inicial x0 = 0.
Solución. La primera derivada de la función es
ƒ′(x) = –e–x
– 1
que se sustituye, junto con la función original en la ecuación (6.6), para tener
e–xi
– xi
xi + 1 = xi – –––——
–e–xi
– 1
Empezando con un valor inicial x0 = 0, se aplica esta ecuación iterativa para calcular
i xi et (%)
0 0 100
1 0.500000000 11.8
2 0.566311003 0.147
3 0.567143165 0.0000220
4 0.567143290  10–8
Así, el método converge rápidamente a la raíz verdadera. Observe que el error relativo
porcentual verdadero en cada iteración disminuye mucho más rápido que con la iteración
simple de punto fijo (compare con el ejemplo 6.1).
6.2.1 Criterio de terminación y estimación de errores
Como en los otros métodos para localizar raíces, la ecuación (3.5) se utiliza como un
criterio de terminación. No obstante, el desarrollo del método con base en la serie
de Taylor (cuadro 6.2), proporciona una comprensión teórica respecto a la velocidad de
convergencia expresada por Ei+1 = O(E2
i ). De esta forma, el error debe ser proporcional
al cuadrado del error anterior. En otras palabras, el número de cifras significativas de
precisión aproximadamente se duplica en cada iteración. Dicho comportamiento se
examina en el siguiente ejemplo.
6.2 MÉTODO DE NEWTON-RAPHSON 149
150 MÉTODOS ABIERTOS
EJEMPLO 6.4 Análisis de error en el método de Newton-Raphson
Planteamiento del problema. Como se dedujo del cuadro 6.2, el método de Newton-
Raphson es convergente en forma cuadrática. Es decir, el error es proporcional al cua-
drado del error anterior:
– ƒ″(xr)
Et, i + 1 ≅ ———– E2
t,i (E6.4.1)
2ƒ′(xr)
Examine esta fórmula y observe si concuerda con los resultados del ejemplo 6.3.
Solución. La primera derivada de f(x) = e–x
– x es
ƒ′(x) = –e–x
– 1
Además de la deducción geométrica [ecuaciones (6.5) y (6.6)],
el método de Newton-Raphson también se desarrolla a partir de
la expansión de la serie de Taylor. Esta deducción alternativa es
muy útil en el sentido de que provee cierta comprensión sobre la
velocidad de convergencia del método.
Recuerde del capítulo 4 que la expansión de la serie de Taylor
se puede representar como
f(xi + 1) = f(xi) + ƒ′(xi)(xi + 1 – xi)
ƒ″(x)
+ ——— (xi + 1 – xi)2
(C6.2.1)
2!
donde x se encuentra en alguna parte del intervalo desde xi hasta
xi+l. Truncando la serie de Taylor después del término de la pri-
mera derivada, se obtiene una versión aproximada:
f(xi+1) ≅ f(xi) + ƒ′(xi)(xi+1 – xi)
En la intersección con el eje x, f(xi+1) debe ser igual a cero, o
0 = f(xi) + ƒ′(xi)(xi+1 – xi) (C6.2.2)
de donde se puede despejar a xi+1, así
f(xi)
xi + 1 = xi – ——–
ƒ′(xi)
que es idéntica a la ecuación (6.6). De esta forma, se ha deduci-
do la fórmula de Newton-Raphson usando una serie de Taylor.
Además de este desarrollo, la serie de Taylor sirve para esti-
mar el error de la fórmula. Esto se logra observando que si se
utilizan todos los términos de la serie de Taylor se obtendrá un
resultado exacto. En tal situación xi+1 = xr, donde x es el valor
verdadero de la raíz. Sustituyendo este valor junto con f(xr) = 0
en la ecuación (C6.2.1)se obtiene
ƒ″(x)
0 = f(xi) + ƒ′(xi)(xr – xi) + ——– (xr – xi)2
(C6.2.3)
2!
La ecuación (C6.2.2) se resta de la ecuación (C6.2.3) para
obtener
f″(x)
0 = ƒ′(xi)(xr – xi + 1) + ——–– (xr – xi)2
(C6.2.4)
2!
Ahora, observe que el error es igual a la diferencia entre xi + l y
el valor verdadero xr , como en
Et, i + 1 = xr – xi + 1
y la ecuación (C6.2.4) se expresa como
f″(x)
0 = ƒ′(xi)Et, i + 1 + ——–– E2
t,i (C6.2.5)
2!
Si se supone que hay convergencia, entonces tanto xi como x se
deberán aproximar a la raíz xr y la ecuación (C6.2.5) se reordena
para obtener
– ƒ″(xr)
Et, i + 1 = ———–– E2
t,i (C6.2.6)
2ƒ′(xr)
De acuerdo con la ecuación (C6.2.6), el error es proporcional al
cuadrado del error anterior. Esto significa que el número de cifras
decimales correctas aproximadamente se duplica en cada itera-
ción. A este comportamiento se le llama convergencia cuadráti-
ca. El ejemplo 6.4 ilustra esta propiedad.
Cuadro 6.2 Deducción y análisis del error del método de Newton-Raphson
que se evalúa en xr = 0.56714329 para dar ƒ′(0.56714329) = –1.56714329. La segunda
derivada es:
ƒ″(x) = e–x
la cual se evalúa como ƒ″(0.56714329) = 0.56714329. Estos resultados se sustituyen
en la ecuación (E6.4.1):
0.56714329
Et,i + 1 ≅ – ——————– E2
t,i = 0.18095E2
t,i
2(–1.56714329)
En el ejemplo 6.3, el error inicial fue Et,0 = 0.56714329, el cual se sustituye en la ecuación
de error que predice
Et,1 ≅ 0.18095(0.56714329)2
= 0.0582
que es cercano al error verdadero de 0.06714329. En la siguiente iteración,
Et,2 ≅ 0.18095(0.06714329)2
= 0.0008158
que también se compara de manera favorable con el error verdadero 0.0008323. Para la
tercera iteración,
Et,3 ≅ 0.18095(0.0008323)2
= 0.000000125
que es el error obtenido en el ejemplo 6.3. Así, la estimación del error mejora, ya que
conforme nos acercamos a la raíz, x y x se aproximan mejor mediante xr [recuerde nues-
tra suposición al ir de la ecuación (C6.2.5) a la ecuación (C6.2.6) en el cuadro 6.2]. Fi-
nalmente:
Et,4 ≅ 0.18095(0.000000125)2
= 2.83 × 10–15
Así, este ejemplo ilustra que el error en el método de Newton-Raphson para este caso
es, de hecho, proporcional (por un factor de 0.18095) al cuadrado del error en la iteración
anterior.
6.2.2 Desventajas del método de Newton-Raphson
Aunque en general el método de Newton-Raphson es muy eficiente, hay situaciones
donde se comporta de manera deficiente. Por ejemplo en el caso especial de raíces múl-
tiples que se analizará más adelante en este capítulo. Sin embargo, también cuando se
trata de raíces simples, se encuentran dificultades, como en el siguiente ejemplo.
EJEMPLO 6.5 Ejemplo de una función que converge lentamente con el método
de Newton-Raphson
Planteamiento del problema. Determine la raíz positiva de f(x) = x10
– 1 usando el
método de Newton-Raphson y un valor inicial x = 0.5.
Solución. La fórmula de Newton-Raphson en este caso es:
xi + 1 = xi –
x
x
i
i
10
9
1
10
–
6.2 MÉTODO DE NEWTON-RAPHSON 151
152 MÉTODOS ABIERTOS
que se utiliza para calcular:
Iteración x
0 0.5
1 51.65
2 46.485
3 41.8365
4 37.65285
5 33.887565
·
·
·
∞ 1.0000000
De esta forma, después de la primera predicción deficiente, la técnica converge a la raíz
verdadera, 1, pero muy lentamente.
Además de la convergencia lenta debido a la naturaleza de la función, es posible que
se presenten otras dificultades, como se ilustra en la figura 6.6. Por ejemplo, la figura
6.6a muestra el caso donde un punto de inflexión [esto es, ƒ″(x) = 0] ocurre en la vecin-
dad de una raíz. Observe que las iteraciones que empiezan con x0 divergen progresiva-
mente de la raíz. En la figura 6.6b se ilustra la tendencia del método de Newton-Raphson
a oscilar alrededor de un mínimo o máximo local. Tales oscilaciones pueden persistir
o, como en la figura 6.6b, alcanzar una pendiente cercana a cero, después de lo cual la
solución se aleja del área de interés. En la figura 6.6c se muestra cómo un valor inicial
cercano a una raíz salta a una posición varias raíces más lejos. Esta tendencia a alejarse
del área de interés se debe a que se encuentran pendientes cercanas a cero. En efecto,
una pendiente cero [ƒ′(x) = 0] es un verdadero desastre, ya que causa una división entre
cero en la fórmula de Newton-Raphson [ecuación (6.6)]. En forma gráfica (figura 6.6d),
esto significa que la solución se dispara horizontalmente y jamás toca al eje x.
De manera que no hay un criterio general de convergencia para el método de Newton-
Raphson. Su convergencia depende de la naturaleza de la función y de la exactitud del
valor inicial. La única solución en estos casos es tener un valor inicial que sea “suficien-
temente” cercano a la raíz. ¡Y para algunas funciones ningún valor inicial funcionará!
Los buenos valores iniciales por lo común se predicen con un conocimiento del proble-
ma físico o mediante el uso de recursos alternativos, tales como las gráficas, que pro-
porcionan mayor claridad en el comportamiento de la solución. Ante la falta de un
criterio general de convergencia se sugiere el diseño de programas computacionales
eficientes que reconozcan la convergencia lenta o la divergencia. La siguiente sección
está enfocada hacia dichos temas.
6.2.3 Algoritmo para el método de Newton-Raphson
Un algoritmo para el método de Newton-Raphson se obtiene fácilmente al sustituir la
ecuación (6.6) por la fórmula predictiva [ecuación (6.2)] en la figura 6.4. Observe, sin
embargo, que el programa también debe modificarse para calcular la primera derivada.
Esto se logra incluyendo simplemente una función definida por el usuario.
Además, a la luz del análisis anterior sobre los problemas potenciales del método
de Newton-Raphson, el programa se podría mejorar incorporando algunas considera-
ciones adicionales:
FIGURA 6.6
Cuatro casos donde el método de Newton-Raphson exhibe una convergencia deficiente.
f (x)
x
x2
x0
x1
a)
f (x)
x
x2 x4
x0 x1
x3
b)
f (x)
x
x0
x1
x2
c)
f (x)
x
x0 x1
d)
6.2 MÉTODO DE NEWTON-RAPHSON 153
154 MÉTODOS ABIERTOS
1. Se debe incluir una rutina de graficación en el programa.
2. Al final de los cálculos, se necesitará sustituir siempre la raíz final calculada en la
función original, para determinar si el resultado se acerca a cero. Esta prueba protege
el desarrollo del programa contra aquellos casos en los que se presenta convergencia
lenta u oscilatoria, la cual puede llevar a valores pequeños de ea, mientras que la
solución aún está muy lejos de una raíz.
3. El programa deberá incluir siempre un límite máximo permitido del número de ite-
raciones para estar prevenidos contra soluciones oscilantes, de lenta convergencia
o divergentes que podrían persistir en forma interminable.
4. El programa deberá alertar al usuario para que tome en cuenta la posibilidad de que
ƒ′(x) sea igual a cero en cualquier momento durante el cálculo.
6.3 EL MÉTODO DE LA SECANTE
Un problema potencial en la implementación del método de Newton-Raphson es la
evaluación de la derivada. Aunque esto no es un inconveniente para los polinomios ni
para muchas otras funciones, existen algunas funciones cuyas derivadas en ocasiones
resultan muy difíciles de calcular. En dichos casos, la derivada se puede aproximar
mediante una diferencia finita dividida hacia atrás, como en (figura 6.7)
′ ≅
f x
f x f x
x x
i
i i
i i
( )
( ) – ( )
–
–
–
1
1
FIGURA 6.7
Representación gráfica del método de la secante. Esta técnica es similar a la del método de
Newton-Raphson (figura 6.5) en el sentido de que una aproximación de la raíz se predice
extrapolando una tangente de la función hasta el eje x. Sin embargo, el método de la se-
cante usa una diferencia dividida en lugar de una derivada para estimar la pendiente.
f (x)
f (xi )
f (xi – 1)
x
xi
xi – 1
Esta aproximación se sustituye en la ecuación (6.6) para obtener la siguiente ecuación
iterativa:
x x
f x x x
f x f x
i i
i i i
i i
+ =
1
1
1
–
( )( – )
( ) – ( ( )
–
–
(6.7)
La ecuación (6.7) es la fórmula para el método de la secante. Observe que el método
requiere de dos valores iniciales de x. Sin embargo, debido a que no se necesita que f(x)
cambie de signo entre los valores dados, este método no se clasifica como un método
cerrado.
EJEMPLO 6.6 El método de la secante
Planteamiento del problema. Con el método de la secante calcule la raíz de f(x) =
e–x
– x. Comience con los valores iniciales x–1 = 0 y x0 = 1.0.
Solución. Recuerde que la raíz real es 0.56714329...
Primera iteración:
x–1 = 0 f(x–1) = 1.00000
x0 = 1 f(x0) = –0.63212
–0.63212(0 – 1)
x1 = 1 – ———————– = 0.61270 et = 8.0%
1 – (–0.63212)
Segunda iteración:
x0 = 1 f(x0) = –0.63212
x1 = 0.61270 f(x1) = –0.07081
(Note que ambas aproximaciones se encuentran del mismo lado de la raíz.)
x2 = 0.61270 –
– . ( – . )
– . – ( . )
0 07081 1 0 61270
0 63212 0 07081
= 0.56384 et = 0.58%
Tercera iteración:
x1 = 0.61270 f(x1) = –0.07081
x2 = 0.56384 f(x2) = 0.00518
x3 = 0.56384 –
0 00518 0 61270 0 56384
0 07081 0 00518
. ( . – . )
– . – (– . )
= 0.56717 et = 0.0048%
6.3.1 Diferencia entre los métodos de la secante y de la falsa posición
Observe la similitud entre los métodos de la secante y de la falsa posición. Por ejemplo,
las ecuaciones (6.7) y (5.7) son idénticas en todos los términos. Ambas usan dos valores
iniciales para calcular una aproximación de la pendiente de la función que se utiliza para
6.3 EL MÉTODO DE LA SECANTE 155
156 MÉTODOS ABIERTOS
proyectar hacia el eje x una nueva aproximación de la raíz. Sin embargo, existe una di-
ferencia crítica entre ambos métodos. Tal diferencia estriba en la forma en que uno de
los valores iniciales se reemplaza por la nueva aproximación. Recuerde que en el méto-
do de la falsa posición, la última aproximación de la raíz reemplaza cualquiera de los
valores iniciales que dé un valor de la función con el mismo signo que f(xr). En conse-
cuencia, las dos aproximaciones siempre encierran a la raíz. Por lo tanto, para todos los
casos, el método siempre converge, pues la raíz se encuentra dentro del intervalo. En
contraste, el método de la secante reemplaza los valores en secuencia estricta: con el
nuevo valor xi + 1 se reemplaza a xi y xi reemplaza a xi – 1. En consecuencia, algunas veces
los dos valores están en el mismo lado de la raíz. En ciertos casos esto puede llevar a
divergencias.
EJEMPLO 6.7 Comparación de la convergencia en los métodos de la secante y de la falsa posición
Planteamiento del problema. Utilice los métodos de la secante y de la falsa posición
para calcular la raíz de f(x) = ln x. Empiece los cálculos con los valores iniciales xl = xi –1
= 0.5 y xu = xi = 5.0.
FIGURA 6.8
Comparación entre los métodos de la falsa posición y de la secante. Las primeras iteracio-
nes a) y b) de ambos métodos son idénticas. No obstante, en las segundas iteraciones c) y
d), los puntos usados son diferentes. En consecuencia, el método de la secante llega a diver-
ger, como se indica en d).
f (x) f (xu )
f (xl)
x
xr
a)
Falsa posición
f (x) f (xi )
f (xi )
f (xi – 1)
x
xr
b)
Secante
f (x)
f (xl )
f (xu)
x
xr
c)
f (x) f (xi – 1)
x
xr
d)
Solución. En el método de la falsa posición, con el uso de la ecuación (5.7) y los cri-
terios del intervalo para el reemplazo de las aproximaciones, se obtienen las siguientes
iteraciones:
Iteración xl xu xr
1 0.5 5.0 1.8546
2 0.5 1.8546 1.2163
3 0.5 1.2163 1.0585
Como se observa (figuras 6.8a y c), las aproximaciones van convergiendo a la raíz real
que es igual a 1.
En el método de la secante, con el uso de la ecuación (6.7) y el criterio secuencial
para el reemplazo de las aproximaciones, se obtiene:
Iteración xi – 1 xi xi + 1
1 0.5 5.0 1.8546
2 5.0 1.8546 –0.10438
Como se muestra en la figura 6.8d, el método es divergente.
Aunque el método de la secante sea divergente, cuando converge lo hace más rápi-
do que el método de la falsa posición. Por ejemplo, en la figura 6.9 se muestra la supe-
rioridad del método de la secante. La inferioridad del método de la falsa posición se debe
a que un extremo permanece fijo, para mantener a la raíz dentro del intervalo. Esta
propiedad, que es una ventaja porque previene la divergencia, tiene una desventaja en
relación con la velocidad de convergencia; esto hace de la diferencia finita estimada una
aproximación menos exacta que la derivada.
6.3.2 Algoritmo para el método de la secante
Como con los otros métodos abiertos, el algoritmo del método de la secante se obtiene
simplemente modificando la figura 6.4, de tal forma que se puedan introducir dos valo-
res iniciales, y usando la ecuación (6.7) se calcule la raíz. Además, las opciones sugeri-
das en la sección 6.2.3 para el método de Newton-Raphson, también se pueden aplicar
para obtener ventajas al programa de la secante.
6.3.3 Método de la secante modificado
En lugar de usar dos valores arbitrarios para aproximar la derivada, un método alterna-
tivo considera un cambio fraccionario de la variable independiente para estimar ƒ′(x),
ƒ′(xi) ≅
f x x f x
x
i i i
i
( ) – ( )
+ δ
δ
6.3 EL MÉTODO DE LA SECANTE 157
158 MÉTODOS ABIERTOS
donde d es un pequeño cambio fraccionario. Esta aproximación se sustituye en la ecua-
ción (6.6) que da la siguiente ecuación iterativa:
x x
x f x
f x x f x
i i
i i
i i i
+ =
+
1 –
( )
( ) – ( )
δ
δ
(6.8)
EJEMPLO 6.8 Método de la secante modificado
Planteamiento del problema. Con el método de la secante modificado estime la raíz
de f(x) = e–x
– x. Use un valor de 0.01 para d y comience con x0 = 1.0. Recuerde que la
raíz verdadera es 0.56714329...
Solución.
Primera iteración:
20
Iteraciones
Error
relativo
porcentual
verdadero
10–6
10–5
10–4
10–3
10–2
10–1
1
10
F
a
l
s
a
p
o
s
i
c
i
ó
n
S
e
c
a
n
t
e
N
e
w
t
o
n
-
R
a
p
h
s
o
n
B
i
s
e
c
c
i
ó
n
FIGURA 6.9
Comparación de los errores relativos porcentuales verdaderos et, para los métodos que de-
terminan las raíces de f(x) = e–x
– x.
x0 = 1 f(x0) = –0.63212
x0 + dx0 = 1.01 f(x0 + dx0) = –0.64578
x1 = 1 –
0 01 0 63212
0 64578 0 63212
. (– . )
– . – (– . )
= 0.537263 ⏐et⏐ = 5.3%
Segunda iteración:
x0 = 0.537263 f(x0) = 0.047083
x0 + dx0 = 0.542635 f(x0 + dx0) = 0.038579
x1 = 0.537263 –
0 005373 0 047083
0 038579 0 0047083
. ( . )
. – .
= 0.56701 ⏐et⏐ = 0.0236%
Tercera iteración:
x0 = 0.56701 f(x0) = 0.000209
x0 + dx0 = 0.567143 f(x0 + dx0) = –0.00867
x1 = 0.56701 –
0 00567 0 000209
0 00867 0 000209
. ( . )
– . – .
= 0.567143 ⏐et⏐ = 2.365 × 10–5
%
La elección de un valor adecuado para d no es automática. Si d es muy pequeño, el
método puede no tener éxito por el error de redondeo, causado por la cancelación por
resta en el denominador de la ecuación (6.8). Si ésta es muy grande, la técnica puede
llegar a ser ineficiente y hasta divergente. No obstante, si se selecciona correctamente,
proporciona una adecuada alternativa en los casos donde la evaluación de la derivada se
dificulta y el desarrollo de dos valores iniciales es inconveniente.
6.4 RAÍCES MÚLTIPLES
Una raíz múltiple corresponde a un punto donde una función es tangencial al eje x. Por
ejemplo, una raíz doble resulta de
f(x) = (x – 3)(x – 1)(x – 1) (6.9)
o, multiplicando términos, f(x) = x3
– 5x2
+ 7x – 3. La ecuación tiene una raíz doble porque
un valor de x hace que dos términos de la ecuación (6.9) sean iguales a cero. Gráficamen-
te, esto significa que la curva toca en forma tangencial al eje x en la raíz doble. Observe la
figura 6.l0a en x = 1. Note que la función toca al eje pero no la cruza en la raíz.
Una raíz triple corresponde al caso en que un valor de x hace que tres términos en
una ecuación sean iguales a cero, como en
f(x) = (x – 3)(x – l)(x – 1)(x – 1)
o, multiplicando los términos, f(x) = x4
– 6x3
+ 12x2
– 10x + 3. Advierta que la represen-
tación gráfica (figura 6.10b) indica otra vez que la función es tangente al eje en la raíz,
pero que en este caso sí cruza el eje. En general, la multiplicidad impar de raíces cruza
6.4 RAÍCES MÚLTIPLES 159
160 MÉTODOS ABIERTOS
el eje, mientras que la multiplicidad par no lo cruza. Por ejemplo, la raíz cuádruple en
la figura 6.10c no cruza el eje.
Las raíces múltiples ofrecen algunas dificultades a muchos de los métodos numé-
ricos expuestos en la parte dos:
1. El hecho de que la función no cambie de signo en raíces múltiples pares impide con-
fiarse de los métodos cerrados, que se analizan en el capítulo 5. Así, en los métodos
incluidos en este texto, se está limitando a los abiertos que pueden ser divergentes.
2. Otro posible problema se relaciona con el hecho de que no sólo f(x), sino también
ƒ′(x) se aproxima a cero en la raíz. Tales problemas afectan los métodos de Newton-
Raphson y de la secante, los cuales contienen derivadas (o su aproximación) en el
denominador de sus fórmulas respectivas. Esto provocará una división entre cero
cuando la solución converge muy cerca de la raíz. Una forma simple de evitar dichos
problemas, que se ha demostrado teóricamente (Ralston y Rabinowitz, 1978), se
basa en el hecho de que f(x) siempre alcanzará un valor cero antes que ƒ′(x). Por lo
tanto, si se compara f(x) contra cero, dentro del programa, entonces los cálculos se
pueden terminar antes de que ƒ′(x) llegue a cero.
3. Es posible demostrar que el método de Newton-Raphson y el método de la secante
convergen en forma lineal, en vez de cuadrática, cuando hay raíces múltiples (Ralston
y Rabinowitz, 1978). Se han propuesto algunas modificaciones para atenuar este
problema. Ralston y Rabinowitz (1978) proponen que se realice un pequeño cambio
en la formulación para que se regrese a la convergencia cuadrática, como en
f(xi)
xi + 1 = xi – m ——— (6.9a)
ƒ′(xi)
donde m es la multiplicidad de la raíz (es decir, m = 2 para una raíz doble, m = 3 para
una raíz triple, etc.). Se trata de una alternativa poco satisfactoria, porque depende
del conocimiento de la multiplicidad de la raíz.
Otra alternativa, también sugerida por Ralston y Rabinowitz (1978), consiste en de-
finir una nueva función u(x), que es el cociente de la función original entre su derivada:
f(x)
u(x) = ——– (6.10)
ƒ′(x)
Se puede demostrar que esta función tiene raíces en las mismas posiciones que la función
original. Por lo tanto, la ecuación (6.10) se sustituye en la ecuación (6.6) para desarrollar
una forma alternativa del método de Newton-Raphson:
u(xi)
xi + 1 = xi – ——— (6.11)
u′(xi)
Se deriva con respecto a x la ecuación (6.10) para obtener
ƒ′(x)ƒ′(x) – f(x)ƒ″(x)
u′(x) = —————————— (6.12)
[ƒ′(x)]2
Se sustituyen las ecuaciones (6.10) y (6.12) en la ecuación (6.11) y se simplifica el resul-
tado:
f (x)
x
a)
Raíz
doble
Raíz
triple
Raíz
cuádruple
1 3
4
0
– 4
f (x)
x
c)
1 3
4
0
– 4
f (x)
x
b)
1 3
4
0
– 4
FIGURA 6.10
Ejemplos de raíces múltiples
que son tangenciales al eje
x. Observe que la función no
cruza el eje en los casos de
raíces múltiples pares a) y c),
mientras que con multiplici-
dad impar sí lo hace en b).
x x
f x f x
f x f x f x
i i
i i
i i
+ =
′
′
[ ] ′′
1 2
–
( ) ( )
( ) – ( ) ( ) (6.13)
EJEMPLO 6.9 Método de Newton-Raphson modificado para el cálculo de raíces múltiples
Planteamiento del problema. Conlosdosmétodos,elestándaryelmodificado,deNew-
ton-Raphson evalúe la raíz múltiple de la ecuación (6.9), use un valor inicial de x0 = 0.
Solución. La primera derivada de la ecuación (6.9) es ƒ′(x) = 3x2
– 10x + 7, y por lo
tanto, el método de Newton-Raphson estándar para este problema es [ecuación (6.6)]
xi + 1 = xi –
x x x
x x
i i i
i
3 2
1
2
5 7 3
3 10 7
– –
–
+
+
que se resuelve iterativamente para obtener
i xi et (%)
0 0 100
1 0.4285714 57
2 0.6857143 31
3 0.8328654 17
4 0.9133290 8.7
5 0.9557833 4.4
6 0.9776551 2.2
Como ya se había anticipado, el método converge en forma lineal hacia el valor verda-
dero 1.0.
Para el caso del método modificado, la segunda derivada es ƒ″(x) = 6x – 10, y en
consecuencia la ecuación iterativa será [ecuación (6.13)]
xi+1 = xi –
( – – )( – )
( – ) – ( – – )( – )
x x x x x
x x x x x x
i i i i i
i i i i i i
3 2 2
2 2 3 2
5 7 3 3 10 7
3 10 7 5 7 3 6 10
+ +
+ +
que se resuelve para obtener
i xi et (%)
0 0 100
1 1.105263 11
2 1.003082 0.31
3 1.000002 0.00024
De esta manera, la fórmula modificada converge en forma cuadrática. Se pueden
usar ambos métodos para buscar la raíz simple en x = 3. Con un valor inicial x0 = 4 se
obtienen los siguientes resultados:
6.4 RAÍCES MÚLTIPLES 161
162 MÉTODOS ABIERTOS
i Estándar et (%) Modificado et (%)
0 4 33 4 33
1 3.4 13 2.636364 12
2 3.1 3.3 2.820225 6.0
3 3.008696 0.29 2.961728 1.3
4 3.000075 0.0025 2.998479 0.051
5 3.000000 2 × 10–7
2.999998 7.7 × 10–5
De esta forma, deberá notar que, ambos métodos convergen con rapidez, aunque el
método estándar es el más eficiente.
En el ejemplo anterior se ilustran los factores de mayor importancia involucrados
al elegir el método de Newton-Raphson modificado. Aunque es preferible para raíces
múltiples, es menos eficiente y requiere más trabajo computacional que el método es-
tándar para raíces simples.
Se debe notar que hay manera de desarrollar una versión modificada del método de
la secante para raíces múltiples, sustituyendo la ecuación (6.10) en la ecuación (6.7). La
fórmula resultante es (Ralston y Rabinowitz, 1978)
xi + 1 = xi –
u x x x
u x u x
i i i
i i
( )( – )
( ) – ( )
–
–
1
1
6.5 SISTEMAS DE ECUACIONES NO LINEALES
Hasta aquí nos hemos ocupado de determinar las raíces de una sola ecuación no lineal.
Un problema relacionado con éste consiste en obtener las raíces de un conjunto de ecua-
ciones simultáneas,
f1(x1, x2,..., xn) = 0
f2(x1, x2,..., xn) = 0
. .
. . (6.14)
. .
fn(x1, x2,..., xn) = 0
La solución de este sistema consta de un conjunto de valores xi que simultáneamente
hacen que todas las ecuaciones sean iguales a cero.
En la parte tres, presentaremos los métodos, para el caso en que las ecuaciones si-
multáneas son lineales, es decir, que se puedan expresar en la forma general
f(x) = a1x1 + a2x2 + ··· + anxn – b = 0 (6.15)
donde la b y las a son constantes. A las ecuaciones algebraicas y trascendentes que no
se pueden expresar de esta forma se les llama ecuaciones no lineales. Por ejemplo,
x2
+ xy = 10
y
y + 3xy2
= 57
son dos ecuaciones simultáneas no lineales con dos incógnitas, x y y, las cuales se ex-
presan en la forma de la ecuación (6.14) como
u(x, y) = x2
+ xy – 10 = 0 (6.16a)
v(x, y) = y + 3xy2
– 57 = 0 (6.16b)
Así, la solución serían los valores de x y de y que hacen a las funciones u(x, y) y v(x, y)
iguales a cero. La mayoría de los métodos para determinar tales soluciones son exten-
siones de los métodos abiertos para resolver ecuaciones simples. En esta sección presen-
taremos dos de ellos: iteración de punto fijo y Newton-Raphson.
6.5.1 Iteración de punto fijo
El método de iteración de punto fijo (sección 6.1) puede modificarse para resolver dos
ecuaciones simultáneas no lineales. Este método se ilustra en el siguiente ejemplo.
EJEMPLO 6.10 Iteración de punto fijo para un sistema no lineal
Planteamiento del problema. Con el método de iteración de punto fijo determine las
raíces de la ecuación (6.16). Observe que un par correcto de raíces es x = 2 y y = 3.
Inicie el cálculo con el valor inicial x = 1.5 y y = 3.5.
Solución. En la ecuación (6.l6a) se despeja x
xi + 1 =
10 1
2
– x
yi
(E6.10.1)
y en la ecuación (6.16b) se despeja y
yi + l = 57 – 3xiyi
2
(E6.10.2)
Observe que dejaremos los subíndices en el resto del ejemplo.
Con base en los valores iniciales, la ecuación (E6.10.1) se utiliza para determinar
un nuevo valor de x:
x =
10 1 5
3 5
2
– ( . )
.
= 2.21429
Este resultado y el valor inicial de y = 3.5 se sustituye en la ecuación (E6.10.2) para
determinar un nuevo valor de y:
y = 57 – 3(2.21429)(3.5)2
= –24.37516
Así, parece que el método diverge. Este comportamiento es aún más pronunciado en la
segunda iteración:
x =
10 2 21429
24 37516
2
– ( . )
– .
= –0.20910
6.5 SISTEMAS DE ECUACIONES NO LINEALES 163
164 MÉTODOS ABIERTOS
y = 57 – 3(–0.20910)(–24.37516)2
= 429.709
En efecto, la aproximación se está descomponiendo.
Ahora repita el cálculo, pero con la ecuación original puesta en una forma diferen-
te. Por ejemplo, un despeje alternativo de la ecuación (6.16a) es
x xy
= 10 –
y de la ecuación (6.16b) es
y
y
x
=
57
3
–
Ahora los resultados son más satisfactorios:
x = =
10 1 5 3 5 2 17945
– . ( . ) .
y = =
57 3 5
3 2 17945
2 86051
– .
( . )
.
x = =
10 2 17945 2 86051 1 94053
– . ( . ) .
y = =
57 2 86051
3 1 940553
3 04955
– .
( . )
.
Así, la aproximación converge hacia la solución correcta x = 2 y y = 3.
El ejemplo anterior ilustra la más seria desventaja de la iteración simple de punto
fijo, ésta es que, la convergencia depende de la manera en que se formula la ecuación.
Además, aun cuando la convergencia es posible, la divergencia puede ocurrir si los va-
lores iniciales no son suficientemente cercanos a la solución verdadera. Usando un ra-
zonamiento similar al del cuadro 6.1, se demuestra que las condiciones suficientes para
la convergencia en el caso de dos ecuaciones son
∂
∂
+
∂
∂

u
x x
v
1
y
∂
∂
+
∂
∂

u
y y
v
1
Estos criterios son tan restringidos que el método de punto fijo tiene una utilidad limi-
tada para resolver sistemas no lineales. Sin embargo, como se describirá más adelante
en el libro, será muy útil para resolver sistemas de ecuaciones lineales.
6.5.2 Newton-Raphson
Recuerde que el método de Newton-Raphson se utilizó empleando la derivada (al evaluar,
es la pendiente de la recta tangente) de una función, para calcular su intersección con el
eje de la variable independiente; esto es, la raíz (figura 6.5). Dicho cálculo se basó en la
expansión de la serie de Taylor de primer orden (recuerde el cuadro 6.2),
f(xi + 1) = f(xi) + (xi+1 – xi) ƒ′(xi) (6.17)
donde xi es el valor inicial de la raíz y xi+1 es el valor en el cual la recta tangente inter-
secta el eje x. En esta intersección, f(xi + 1) es, por definición, igual a cero y la ecuación
(6.17) se reordena para tener
f(xi)
xi + 1 = xi – ——– (6.18)
ƒ′(xi)
que es la forma del método de Newton-Raphson para una sola ecuación.
La forma para múltiples ecuaciones se obtiene en forma idéntica. Sin embargo, se
debe usar una serie de Taylor de múltiples variables para tomar en cuenta el hecho de
que más de una variable independiente contribuye a la determinación de la raíz. En el
caso de dos variables, una serie de Taylor de primer orden se escribe [recuerde la ecua-
ción (4.26)] para cada ecuación no lineal como
ui + 1 = ui + (xi+1 – xi)
∂
∂
u
x
i
+ (yi + 1 – yi)
∂
∂
u
y
i
(6.19a)
y
vi + 1 = vi + (xi+1 – xi)
∂
∂
vi
x
+ (yi+1 – yi)
∂
∂
vi
y (6.19b)
De la misma manera como en la versión para una sola ecuación, la raíz aproximada
corresponde a los valores de x y y, donde ui+1 y vi+1 son iguales a cero. En tal situación,
se reordena la ecuación (6.19) como:
∂
∂
+
∂
∂
= +
∂
∂
+
∂
∂
+ +
u
x
x
u
y
y u x
u
x
y
u
y
i
i
i
i i i
i
i
i
1 1 – (6.20a)
∂
∂
+
∂
∂
= +
∂
∂
+
∂
∂
+ +
v v
v
v v
i
i
i
i i i
i
i
i
x
x
y
y x
x
y
y
1 1 – (6.20b)
Debido a que se conocen todos los valores con subíndice i (corresponden al último valor
estimado), las únicas incógnitas son xi+1 y yi+1. Entonces, la ecuación (6.20) es un con-
junto de dos ecuaciones lineales con dos incógnitas [compare con la ecuación (6.15)].
En consecuencia, se pueden usar manipulaciones algebraicas (por ejemplo, la regla de
Cramer) para resolverlo:
x x
u
y
u
y
u
x y
u
y x
i i
i
i
i
i
i i i i
+ =
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
1 –
–
–
v
v
v v
(6.21a)
6.5 SISTEMAS DE ECUACIONES NO LINEALES 165
166 MÉTODOS ABIERTOS
y y
u
x
u
x
u
x y
u
y x
i i
i
i
i
i
i i i i
+ =
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
1 –
–
–
v
v
v v
(6.21b)
El denominador de cada una de esas ecuaciones se conoce formalmente como el deter-
minante Jacobiano del sistema.
La ecuación (6.21) es la versión para dos ecuaciones del método de Newton-Raph-
son. Como en el siguiente ejemplo, se puede emplear en forma iterativa para determinar
las raíces de dos ecuaciones simultáneas.
EJEMPLO 6.11 Newton-Raphson para un sistema no lineal
Planteamiento del problema. Con el método de Newton-Raphson para múltiples
ecuaciones determine las raíces de la ecuación (6.16). Observe que un par correcto de
raíces es x = 2 y y = 3. Use como valores iniciales x = 1.5 y y = 3.5.
Solución. Primero calcule las derivadas parciales y evalúelas con los valores iniciales
de x y y:
∂
∂
= + = + =
u
x
x y
0
2 2 1 5 3 5 6 5
( . ) . .
∂
∂
= =
u
y
x
0
1 5
.
∂
∂
= = =
v0 2 2
3 3 3 5 36 75
x
y ( . ) .
∂
∂
= + = + =
v0
1 6 1 6 1 5 3 5 32 5
y
xy ( . )( . ) .
Así, el determinante jacobiano para la primera iteración es
6.5(32.5) – 1.5(36.75) = 156.125
Los valores de las funciones se evalúan con los valores iniciales como
u0 = (1.5)2
+ 1.5(3.5) – 10 = –2.5
v0 = 3.5 + 3(1.5)(3.5)2
– 57 = 1.625
Estos valores se sustituyen en la ecuación (6.21):
x = 1.5 –
– . ( . ) – . ( . )
.
2 5 32 5 1 625 1 5
156 125
= 2.03603
y = 3.5 –
1 625 6 5 2 5 36 75
156 125
. ( . ) – ( . )( . )
.
−
= 2.84388
Así, los resultados están convergiendo a los valores verdaderos x = 2 y y = 3. Los cálcu-
los se repiten hasta que se obtenga una precisión aceptable.
Como con el método de iteración de punto fijo, la aproximación de Newton-Raphson
puede diverger si los valores iniciales no están lo suficientemente cercanos a la raíz
verdadera. Mientras que para el caso de una sola ecuación los métodos gráficos son
útiles para obtener un buen valor inicial, ningún procedimiento tan simple está disponi-
ble para el caso de múltiples ecuaciones. Aunque existen algunos métodos avanzados
para obtener una primer aproximación aceptable, los valores iniciales a menudo deben
obtenerse mediante prueba y error, con el conocimiento del sistema físico que se está
modelando.
El método de Newton-Raphson para dos ecuaciones puede generalizarse para re-
solver n ecuaciones simultáneas. Debido a que el camino más eficiente para esto impli-
ca el álgebra matricial y la solución de ecuaciones lineales simultáneas, se pospondrá su
estudio para la parte tres.
6.1 Utilice la iteración simple de punto fijo para localizar la raíz
de
f(x) = 2 sen x x
( )–
Haga una elección inicial de x0 = 0.5 e itere hasta que ea ≤ 0.001%.
Compruebe que el proceso converge en forma lineal según se
describió en el recuadro 6.1.
6.2 Determine la raíz real más grande de
f(x) = 2x3
– 11.7x2
+ 17.7x – 5
a) En forma gráfica.
b) Con el método de iteración simple de punto fijo (tres itera-
ciones, x0 = 3). Nota: asegúrese de haber desarrollado una
solución que converja a la raíz.
c) Con el método de Newton-Raphson (tres iteraciones, x0 = 3,
d = 0.001).
d) Con el método de la secante (tres iteraciones x–1 = 3,
x0 = 4).
e) Con el método de la secante modificado (tres iteraciones,
x0 = 3, d = 0.01). Calcule el porcentaje aproximado de
errores relativos para sus soluciones.
6.3 Utilicelosmétodosdea)iteracióndepuntofijo,yb)Newton-
Raphson, para determinar una raíz de f(x) = –x2
+ 1.8x + 2.5 con
el uso de x0 = 5. Haga el cálculo hasta que ea sea menor que
es = 0.05%.Asimismo, realice una comprobación del error de su
respuesta final.
6.4 Determine las raíces reales de f(x) = –1 + 5.5x – 4x2
+ 0.5x3
:
a) en forma gráfica, y b) con el método de Newton-Raphson
dentro de es = 0.01%.
6.5 Emplee el método de Newton-Raphson para determinar una
raíz real de f(x) = –1 + 5.5x – 4x2
+ 0.5x3
con el uso de eleccio-
nes iniciales de a) 4.52, y b) 4.54. Estudie y use métodos gráfi-
cos y analíticos para explicar cualquier peculiaridad en sus
resultados.
6.6 Determine la raíz real más pequeña de f(x) = –12 – 21x +
18x2
– 2.4x3
: a) en forma gráfica, y b) con el empleo del método
de la secante para un valor de es que corresponda a tres cifras
significativas.
6.7 Localice la primera raíz positiva de
f(x) = sen x + cos(1 + x2
) – 1
donde x está en radianes. Para localizar la raíz, use cuatro itera-
ciones del método de la secante con valores iniciales de a) xi–1
= 1.0 y xi = 3.0; y b) xi – 1 = 1.5 y xi = 2.5, y c) xi–1 = 1.5 y
xi = 2.25.
6.8 Determine la raíz real de x3.5
= 80, con el método de la se-
cante modificado dentro de es = 0.1%, con el uso de una elección
inicial de x0 = 3.5 y d = 0.01.
6.9 Determine la raíz real más grande de f(x) = 0.95x3
– 5.9x2
+
10.9x – 6:
a) En forma gráfica.
b) Con el uso del método de Newton-Raphson (tres iteraciones,
xi = 3.5).
c) Con el método de la secante (tres iteraciones, xi–1 = 2.5 y
xi = 3.5).
d) Por medio del método de la secante modificado (tres itera-
ciones, xi = 3.5, d = 0.01).
6.10 Determine la menor raíz positiva de f(x) = 8 sen(x)e–x
– 1:
a) En forma gráfica.
b) Con el uso del método de Newton-Raphson (tres iteraciones,
xi = 0.3).
PROBLEMAS
PROBLEMAS 167
168 MÉTODOS ABIERTOS
c) Con el método de la secante (tres iteraciones, xi–1 = 0.5 y
xi = 0.3).
d) Por medio del método de la secante modificado (cinco
iteraciones xi = 0.3, d = 0.01).
6.11 La función x3
+ 2x2
– 4x + 8 tiene una raíz doble en x = 2.
Emplee a) el método estándar de Newton-Raphson [ec. (6.6)],
b) el método de Newton-Raphson modificado [ec. (6.9a)], y c)
el método de Newton-Raphson modificado [ec. (6.13)] para re-
solver para la raíz en x = 2. Compare y analice la tasa de conver-
gencia con un valor inicial x0 = 1.2.
6.12 Determine las raíces de las siguientes ecuaciones no linea-
les simultáneas, por medio de los métodos de a) iteración de
punto fijo, y b) Newton-Raphson:
y = – x2
+ x + 0.75
y + 5xy = x2
Utilice valores iniciales de x = y = 1.2, y analice los resultados.
6.13 Encuentre las raíces de las ecuaciones simultáneas que
siguen:
(x – 4)2
+ (y – 4)2
= 5
x2
+ y2
= 16
Use un enfoque gráfico para obtener los valores iniciales. En-
cuentre estimaciones refinadas con el método de Newton-Raph-
son para dos ecuaciones, que se describe en la sección 6.5.2.
6.14 Repita el problema 6.13, excepto que
y = x2
+ 1
y = 2 cos x
6.15 El balance de masa de un contaminante en un lago bien
mezclado se expresa así:
V
dc
dt
W Qc kV c
= – –
Dados los valores de parámetros V = 1 × 106
m3
, Q = l × 105
m3
/año y W = l × 106
g/año, y k = 0.25 m0.5
/año, use el método
de la secante modificado para resolver para la concentración de
estado estable. Emplee un valor inicial c = 4 g/m3
y d = 0.5.
Realice tres iteraciones y determine el error relativo porcentual
después de la tercera iteración.
6.16 Para el problema 6.15, la raíz puede localizarse con iteración
de punto fijo como
c
W Qc
kV
=
⎛
⎝
⎞
⎠
–
2
o bien como
c
W kV c
Q
=
–
De las que solo una convergerá para valores iniciales de 2  c  6.
Seleccione la que sea correcta y demuestre por qué siempre lo será.
6.17 Desarrolle un programa amigable para el usuario para el
método de Newton-Raphson, con base en la figura 6.4 y la
sección 6.2.3. Pruébelo por medio de repetir el cálculo del
ejemplo 6.3.
6.18 Desarrolle un programa amigable para el usuario para el
método de la secante, con base en la figura 6.4 y la sección 6.3.2.
Pruébelo con la repetición de los cálculos del ejemplo 6.6.
6.19 Haga un programa amigable para el usuario para el método
de la secante modificado, con base en la figura 6.4 y la sección
6.3.2. Pruébelo con la repetición del cálculo del ejemplo 6.8.
6.20 Desarrolle un programa amigable para el usuario para el
método de Newton-Raphson para dos ecuaciones, con base en
la sección 6.5. Pruébelo con la solución del ejemplo 6.10.
6.21 Use el programa que desarrolló en el problema 6.20 para
resolver los problemas 6.12 y 6.13, con una tolerancia de
es = 0.01%.
6.22 El antiguo método de dividir y promediar, para obtener una
apoximación de la raíz cuadrada de cualquier número positivo,
a, se formula del modo siguiente:
x
x a x
=
+ /
2
Demuestre que éste es equivalente al algoritmo de Newton-Ra-
phson.
6.23 a)Aplique el método de Newton-Raphson a la función f(x)
= tanh (x2
– 9) para evaluar su raíz real conocida en x = 3. Use
un valor inicial de x0 = 3.2 y haga un mínimo de cuatro iteracio-
nes. b) ¿Converge el método a su raíz real? Bosqueja la gráfica
con los resultados para cada iteración que obtenga.
6.24 El polinomio f(x) = 0.0074x4
– 0.284x3
+ 3.355x2
– 12.183x
+ 5 tiene una raíz real entre 15 y 20. Aplique el método de
Newton-Raphson a dicha función con valor inicial x0 = 16.15.
Explique sus resultados.
6.25 Emplee el método de la secante con la función del círculo
(x + 1)2
+ (y – 2)2
= 16, a fin de encontrar una raíz real positiva.
Haga que el valor inicial sea xi = 3 y xi–1 = 0.5. Aproxímese a la
solución del primer y cuarto cuadrantes. Cuando resuelva para
f(x) en el cuarto cuadrante, asegúrese de tomar el valor negativo
de la raíz cuadrada. ¿Por qué diverge la solución?
6.26 Suponga el lector que está diseñando un tanque esférico
(véase la figura P6.26) de almacenamiento de agua para un po-
blado pequeño de un país en desarrollo. El volumen del líquido
que puede contener se calcula con
V h
R h
=
−
π 2 3
3
[ ]
donde V = volumen [pie3
], h = profundidad del agua en el tanque
[pies], y R = radio del tanque [pies].
Si R = 3m, ¿a qué profundidad debe llenarse el tanque de modo
que contenga 30 m3
? Haga tres iteraciones del método de Newton-
Raphson para determinar la respuesta. Encuentre el error relati-
vo aproximado después de cada iteración. Observe que el valor
inicial de R convergerá siempre.
h
V
R
Figura P6.26
PROBLEMAS 169
CAPÍTULO 7
Raíces de polinomios
En este capítulo estudiaremos los métodos para encontrar las raíces de ecuaciones poli-
nomiales de la forma general
fn(x) = a0 + a1x + a2x2
+... + anxn
(7.1)
donde n es el grado del polinomio y las a son los coeficientes del polinomio. Aunque
los coeficientes pueden ser números reales o complejos, este estudio se limitará
a los casos en que son reales. Entonces las raíces del polinomio pueden ser rea-
les y/o complejas.
Las raíces de los polinomios cumplen estas reglas:
1. En una ecuación de grado n, hay n raíces reales o complejas. Se debe notar que esas
raíces no necesariamente son distintas.
2. Si n es impar, hay al menos una raíz real.
3. Si existen raíces complejas, éstas se encuentran por pares conjugados (es decir, l +
µi y l – µi), donde i = −1 .
Antes de describir las técnicas para localizar las raíces de polinomios, se proporcionarán
algunos antecedentes. La primera sección da una motivación para estudiar dichas téc-
nicas; la segunda trata de algunas manipulaciones computacionales fundamentales con
polinomios.
7.1 POLINOMIOS EN LA CIENCIA Y EN LA INGENIERÍA
Los polinomios tienen muchas aplicaciones en la ciencia y en la ingeniería. Por ejemplo,
se usan mucho en el ajuste de curvas. Aunque se considera que una de las aplicaciones
más interesantes y potentes es la caracterización de sistemas dinámicos y, en particular,
de sistemas lineales. Algunos ejemplos son los dispositivos mecánicos, las estructuras
y los circuitos eléctricos. Se analizarán ejemplos específicos en el resto del texto. Éstos,
en particular, se enfocarán a varias aplicaciones en la ingeniería.
Por ahora se mantendrá una discusión simple y general estudiando un sistema físi-
co de segundo orden modelado con la siguiente ecuación diferencial ordinaria (EDO)
lineal:
a
d y
dt
a
dy
dt
a y F t
2
2
2 1 0
+ + = ( ) (7.2)
donde y y t son las variables dependiente e independiente, respectivamente, las a son
coeficientes constantes y F(t) es la función de fuerza. Si el saber cómo se obtiene esta
ecuación a partir de un sistema físico ayuda a motivarlo en el estudio de las matemáticas,
puede leer con atención la sección 8.4 antes de continuar.
Además, se debe observar que la ecuación (7.2) puede expresarse en forma alterna-
tiva transformándola en un par de EDO de primer orden, mediante la definición de una
nueva variable z,
z
dy
dt
= (7.3)
La ecuación (7.3) se sustituye con su derivada en la ecuación (7.2) para eliminar el tér-
mino de la segunda derivada. Esto reduce el problema a resolver
dz
dt
F t a z a y
a
=
− −
( ) 1 0
2
(7.4)
dy
dt
z
= (7.5)
En forma similar, una EDO lineal de orden n-ésimo siempre puede transformarse en un
sistema de n EDO de primer orden.
Ahora veamos la solución. La función de fuerza representa el efecto del mundo
exterior sobre el sistema. La solución general de la ecuación homogénea trata el caso
donde la función de fuerza es igual a cero,
a
d y
dt
a
dy
dt
a y
2
2
2 1 0 0
+ + = (7.6)
Entonces, como su nombre lo indica, la solución general describe algo muy general
acerca del sistema que está simulando; es decir, cómo responde el sistema en ausencia
de un estímulo externo.
Ahora bien, como la solución general de todos los sistemas lineales no forzados es
de la forma y = ert
. Si esta función se deriva y se sustituye en la ecuación (7.6), el resul-
tado es
a2r2
ert
+ a1rert
+ a0ert
= 0
cancelando los términos exponenciales, ya que ert
≠ 0
a2r2
+ a1r + a0 = 0 (7.7)
Observe que el resultado es un polinomio, que al igualar a cero, se obtiene una
ecuación, llamada ecuación auxiliar o característica. Las raíces de este polinomio son
los valores de r que satisfacen la ecuación (7.7). Las r se conocen como los valores ca-
racterísticos, o eigenvalores, del sistema.
Se tiene aquí la relación entre las raíces de polinomios con la ciencia y la ingeniería.
Los eigenvalores nos dicen algo fundamental acerca del sistema que se está modelando,
así encontrar los eigenvalores implica encontrar las raíces de los polinomios. Y mientras
encontrar las raíces de una ecuación de segundo orden es fácil con la fórmula cua-
drática, encontrar las raíces de una EDO de orden superior, relacionado con un sistema
7.1 POLINOMIOS EN LA CIENCIA Y EN LA INGENIERÍA 171
172 RAÍCES DE POLINOMIOS
de orden superior (y, por lo tanto, de un polinomio de grado superior) es arduo desde el
punto de vista analítico. Entonces, se requiere usar métodos numéricos del tipo descrito
en este capítulo.
Antes de proceder con dichos métodos, investigaremos más profundamente
qué valores específicos de los eigenvalores están implicados en el comportamiento de
sistemas físicos. Primero se evaluarán las raíces de la ecuación (7.7) con la fórmula
cuadrática
r
r
a a a a
a
1
2
1 1
2
2 0
0
4
=
− ± −
Se obtienen dos raíces. Si el discriminante (a1
2
– 4a2a0) es positivo, las raíces son reales
y la solución general se representa como
y = c1er1t
+ c2er2t
(7.8)
donde las c son constantes que se determinan a partir de las condiciones iniciales. Este
caso se llama sobreamortiguado.
Si el discriminante es cero, resulta una sola raíz real y la solución general se escri-
be como
y = (c1 + c2t)elt
(7.9)
Este caso se llama de amortiguamiento crítico.
Si el discriminante es negativo, las raíces son números complejos conjugados
r1
= l ± µi
r2
y la solución general se formula como
y = c1e(l+µi)t
+ c2e(l – µi)t
El comportamiento de esta solución se aclara mediante la fórmula de Euler de un núme-
ro complejo
eµit
= cos µt + i sen µt
para obtener la solución general como (véase Boyce y DiPrima, 1992, para detalles de
la demostración)
y = c1elt
cos µt + c2elt
sen µt (7.10)
Este caso se llama subamortiguado.
Las ecuaciones (7.8), (7.9) y (7.10) expresan las maneras posibles en que los sistemas
lineales responden dinámicamente. El término exponencial indica que la solución del
sistema es capaz de decaer (parte real del número complejo negativa) o crecer (parte real
del número complejo positiva) exponencialmente con el tiempo (figura 7.la). El término
senosoidal (parte imaginaria) significa que la solución puede oscilar (figura 7.1b). Si el
eigenvalor tiene tanto parte real como imaginaria, se combinan la forma exponencial y
senosoidal (figura 7.1c). Debido a que este conocimiento es el elemento clave para enten-
der, diseñarycontrolarelcomportamientodesistemasfísicos,lospolinomioscaracterísticos
son muy importantes en ingeniería y en muchas ramas de la ciencia. Se analizará la dinámi-
ca de varios sistemas en las aplicaciones que se estudian en el capítulo 8.
7.2 CÁLCULOS CON POLINOMIOS
Antes de describir los métodos para localizar raíces, se examinarán algunas operaciones
fundamentales con polinomios. Dichas operaciones tendrán utilidad en sí mismas, ade-
más de proporcionar apoyo para localizar las raíces.
7.2.1 Evaluación y derivación de polinomios
Aunque la forma de la ecuación (7.1) es la más común, no resulta la mejor para determi-
nar el valor de un polinomio para un valor específico de x. Por ejemplo, evaluar el poli-
nomio de tercer grado como
f3(x) = a3x3
+ a2x2
+ a1x + a0 (7.11)
implica seis multiplicaciones y tres sumas. En general, para un polinomio de n-ésimo
orden, se requieren n(n + 1)/2 multiplicaciones y n sumas.
y
t
a) b)
y
t
c)
y
t
FIGURA 7.1
La solución general de las EDO lineales puede estar determinada por componentes
a) exponenciales y b) senosoidales. La combinación de las dos formas es una senosoidal
amortiguada como se muestra en c).
7.2 CÁLCULOS CON POLINOMIOS 173
174 RAÍCES DE POLINOMIOS
La forma anidada, en cambio
f3(x) = ((a3x + a2)x + a1)x + a0 (7.12)
implica tres multiplicaciones y tres sumas. Para un polinomio de n-ésimo grado, esta
forma requiere n multiplicaciones y n sumas. Ya que la forma anidada minimiza el
número de operaciones, también tiende a minimizar los errores de redondeo. Observe
que, según sea la preferencia, el orden de anidamiento puede invertirse:
f3(x) = a0 + x(a1 + x(a2 + xa3)) (7.13)
Un seudocódigo adecuado para implementar la forma anidada se escribe simple-
mente como
DOFOR j = n, 0, –1
p = p * x+a(j)
END DO
donde p tiene el valor del polinomio (definido por los coeficientes de las a) evaluado en x.
Existen casos (como el método de Newton-Raphson) donde se requiere evaluar
tanto la función como su derivada. Esta evaluación se puede también incluir al agre-
gar una línea en el seudocódigo anterior,
DOFOR j = n, 0, –1
df = df * x+p
p = p * x+a(j)
END DO
donde df es la primera derivada del polinomio.
7.2.2 Deflación polinomial
Suponga que se determina la raíz de un polinomio de n-ésimo grado. Si se repite el
procedimiento para localizar la raíz, puede encontrarse la misma raíz. Por lo tanto, sería
adecuado eliminar la raíz encontrada antes de continuar. A este proceso de eliminar la
raíz se le llama deflación polinomial.
Antes de mostrar cómo se hace esto, veamos algunos antecedentes útiles. Los po-
linomios son típicamente representados en la forma de la ecuación (7.1). Por ejemplo,
un polinomio de quinto grado puede escribirse como
f5(x) = –120 – 46x + 79x2
– 3x3
– 7x4
+ x5
(7.14)
Aunque ésta es la forma más común, no necesariamente es la mejor expresión para en-
tender el comportamiento matemático de los polinomios. Por ejemplo, este polinomio
de quinto grado se expresa de manera alternativa como
f5(x) = (x + 1)(x – 4)(x – 5)(x + 3)(x – 2) (7.15)
Ésta se conoce como la forma factorizada de un polinomio. Si se efectúa la multi-
plicación y se agrupan los términos semejantes, se obtendrá la ecuación (7.14). Sin
embargo, la forma de la ecuación (7.15) tiene la ventaja de que indica claramente las
raíces de la función. Así, resulta claro que x = –1, 4, 5, –3 y 2 son todas las raíces, porque
cada una hace que uno de los términos de la ecuación (7.15) sea igual a cero.
Ahora, suponga que se divide este polinomio de quinto grado entre cualquiera de sus
factores; por ejemplo, x + 3. En este caso, el resultado será un polinomio de cuarto grado
F4(x) = (x + 1)(x – 4)(x – 5)(x – 2) = –40 – 2x + 27x2
– 10x3
+ x4
(7.16)
con un residuo igual a cero.
En el pasado, quizás usted aprendió que los polinomios se dividen usando un pro-
cedimiento llamado división sintética. Varios algoritmos de computadora (basados
tanto en la división sintética como en otros métodos) están disponibles para realizar la
operación. Un esquema simple se proporciona en el siguiente seudocódigo, el cual divi-
de un polinomio de n-ésimo grado entre un factor monomial x – t.
r = a(n)
a(n) = 0
DOFOR i = n–1, 0, –1
s = a(i)
a(i) = r
r = s+r * t
END DO
Si el monomio es un factor del polinomio, el residuo r será cero, y los coeficientes del
cociente se guardarán en a, al final del loop.
EJEMPLO 7.1 Deflación polinomial
Planteamiento del problema. Divida el polinomio de segundo grado
f(x) = (x – 4)(x + 6) = x2
+ 2x – 24
entre el factor x – 4.
Solución. Usando el método propuesto en el seudocódigo anterior, los parámetros son
n = 2, a0 = –24, al = 2, a2 = 1 y t = 4. Estos valores se usan para calcular
r = a2 = 1
a2 = 0
El loop o ciclo se itera después desde i = 2 – 1 = 1 hasta 0. Para i = 1,
s = a1 = 2
a1 = r = 1
r = s + rt = 2 + 1(4) = 6
7.2 CÁLCULOS CON POLINOMIOS 175
176 RAÍCES DE POLINOMIOS
Para i = 0,
s = a0 = 24
a0 = r = 6
r = –24 + 6(4) = 0
Así, el resultado, como se esperaba, es el cociente a0 + a1x = 6 + x, con un residuo de
cero.
También es posible dividir entre polinomios de grado superior. Como se verá más
adelante en este capítulo, la tarea más común es dividir entre un polinomio de segundo
grado o parábola. La subrutina de la figura 7.2 resuelve el problema más general de di-
vidir un polinomio a de grado n entre un polinomio d de grado m. El resultado es un
polinomio q de grado (n – m), con un polinomio de grado (m – 1) como el residuo.
Ya que cada raíz calculada se conoce únicamente en forma aproximada, se observa
que la deflación es sensible al error de redondeo. En algunos casos puede crecer a tal
punto que los resultados lleguen a no tener sentido.
Algunas estrategias generales pueden aplicarse para minimizar el problema. Por
ejemplo, el error de redondeo está afectado por el orden en que se evalúan los términos.
La deflación hacia adelante se refiere al caso donde los coeficientes del nuevo polinomio
están en orden de potencias descendentes de x (es decir, del término de mayor grado al
SUB poldiv(a, n, d, m, q, r)
DOFOR j = 0, n
r(j) = a(j)
q(j) = 0
END DO
DOFOR k = n–m, 0, –1
q(k+1) = r(m+k) / d(m)
DOFOR j = m+k–1, k, –1
r(j) = r(j)–q(k+1) * b(j–k)
END DO
END DO
DOFOR j = m, n
r(j) = 0
END DO
n = n–m
DOFOR i = 0, n
a(i) = q(i+1)
END DO
END SUB
FIGURA 7.2
Algoritmo que divide un polinomio (definido por sus coeficientes a) entre un polinomio de
grado menor d.
de grado cero). En tal caso, es preferible dividir primero entre las raíces con el valor
absoluto más pequeño. En forma inversa, en la deflación hacia atrás (esto es, del térmi-
no de grado cero al de mayor grado) es preferible dividir primero entre las raíces con
mayor valor absoluto.
Otra manera de reducir los errores de redondeo es considerar que cada raíz sucesi-
va estimada, obtenida durante la deflación es un buen primer valor inicial. Al utilizarse
como un valor inicial, y determinar las raíces otra vez con el polinomio original sin
deflación, se obtiene raíces que se conocen como raíces pulidas.
Por último, se presenta un problema cuando dos raíces deflacionadas son suficien-
temente inexactas, de tal manera que ambas converjen a la misma raíz no deflacionada.
En tal caso, se podría creer en forma errónea que un polinomio tiene una raíz múltiple
(recuerde la sección 6.4). Una forma para detectar este problema consiste en comparar
cada raíz pulida con las que se han calculado anteriormente. Press y colaboradores (1992)
analizan el problema con mayor detalle.
7.3 MÉTODOS CONVENCIONALES
Ahora que se ha visto algún material de apoyo sobre polinomios, empezaremos a des-
cribir los métodos para localizar sus raíces. Es obvio que el primer paso sería investigar
la posibilidad de usar los métodos cerrados y abiertos, descritos en los capítulos 5 y 6.
La eficacia de dichos métodos depende de que el problema a resolver tenga raíces
complejas. Si sólo existen raíces reales, cualquiera de los métodos descritos anterior-
mente puede utilizarse. Sin embargo, el problema de encontrar un buen valor inicial
complica tanto los métodos cerrados como los abiertos; además que los métodos abier-
tos podrían ser susceptibles a problemas de divergencia.
Cuando existen raíces complejas, los métodos cerrados obviamente no se pueden
usar, ya que el criterio para definir el intervalo (que es el cambio de signo) no puede
trasladarse a valores complejos.
De los métodos abiertos, el método convencional de Newton-Raphson llega a ofre-
cer una aproximación viable. En particular, es posible desarrollar un código conciso que
comprenda deflación. Si se usa un lenguaje que permite manipular variables complejas
(como Fortran), entonces el algoritmo localizará tanto raíces reales como complejas. Sin
embargo, como es de esperarse, podría ser susceptible a tener problemas de convergen-
cia. Por tal razón, se han desarrollado métodos especiales para encontrar raíces reales y
complejas de polinomios. Se describen dos de estos métodos, el método de Müller y el
de Bairstow, en las siguientes secciones. Como se verá, ambos están relacionados con
los métodos abiertos convencionales descritos en el capítulo 6.
7.4 MÉTODO DE MÜLLER
Recuerde que el método de la secante obtiene una aproximación de la raíz dirigiendo
una línea recta hasta el eje x con dos valores de la función (figura 7.3a). El método de
Müller es similar; pero se construye una parábola con tres puntos (figura 7.3b).
El método consiste en obtener los coeficientes de la parábola que pasa por los tres
puntos. Dichos coeficientes se sustituyen en la fórmula cuadrática para obtener el valor
donde la parábola interseca al eje x; es decir, la raíz estimada. La aproximación se faci-
lita al escribir la ecuación de la parábola en una forma conveniente,
7.4 MÉTODO DE MÜLLER 177
178 RAÍCES DE POLINOMIOS
f2(x) = a(x – x2)2
+ b(x – x2) + c (7.17)
Queremos que esta parábola pase por tres puntos [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Los
coeficientes de la ecuación (7.17) se evalúan sustituyendo cada uno de esos tres puntos
para dar
f(x0) = a(x0 – x2)2
+ b(x0 – x2) + c (7.18)
f(x1) = a(x1 – x2)2
+ b(x1 – x2) + c (7.19)
f(x2) = a(x2 – x2)2
+ b(x2 – x2) + c (7.20)
Observe que se ha eliminado el subíndice “2” de la función por brevedad. Debido a que
se tienen tres ecuaciones, es posible encontrar los tres coeficientes desconocidos a, b y
c. Debido a que dos términos de la ecuación (7.20) son cero, se encuentra inmediata-
mente que c = f(x2). Así, el coeficiente c es igual al valor de la función evaluada en el
tercer valor inicial, x2. Este resultado se sustituye en las ecuaciones (7.18) y (7.19) para
tener dos ecuaciones con dos incógnitas:
f(x0) – f(x2) = a(x0 – x2)2
+ b(x0 – x2) (7.21)
f(x1) – f(x2) = a(x1 – x2)2
+ b(x1 – x2) (7.22)
Una manipulación algebraica permite encontrar los coeficientes restantes a y b. La
manera de hacer esto consiste en definir las diferencias:
h0 = x1 – x0 h1 = x2 – x1
δ δ
0
1 0
1 0
1
2 1
2 1
=
−
−
=
−
−
f x f x
x x
f x f x
x x
( ) ( ) ( ) ( )
(7.23)
f(x)
x
x1 x0
a)
Línea
recta
Raíz
estimada
Raíz
f(x)
x
x2 x0
b)
Parábola
Raíz Raíz
estimada
x1
FIGURA 7.3
Una comparación de dos métodos relacionados para encontrar raíces a) el método de la
secante y b) el método de Müller.
Éstas se sustituyen en las ecuaciones (7.21 ) y (7.22) para dar
(h0 + h1)b – (h0 + h1)2
a = h0d0 + h1d1
h1 b – h1
2
a = h1d1
de donde se despejan a y b. El resultado se resume como
a
h h
=
−
−
δ δ
1 0
1 0
(7.24)
b = ah1 + d1 (7.25)
c = f(x2) (7.26)
Para encontrar la raíz se aplica la fórmula cuadrática a la ecuación (7.17). Sin em-
bargo, debido al error de redondeo potencial, en lugar de usar la forma convencional, se
usará la fórmula alternativa [ecuación (3.13)], es decir,
x x
c
b b ac
3 2 2
2
4
− =
−
± −
(7.27a)
o despejando la incógnita x3
x x
c
b b ac
3 2 2
2
4
= +
−
± −
(7.27b)
Observe que al usar la fórmula cuadrática, es posible localizar tanto las raíces reales
como las complejas. Ésta es la mayor ventaja del método.
Además, la ecuación (7.27a) proporciona una forma directa para determinar el error
de aproximación. Debido a que el lado izquierdo representa la diferencia entre la raíz
estimada actual (x3) y la raíz estimada anterior (x2), el error se calcula como
εa
x x
x
=
−
3 2
3
100%
Ahora, un problema de la ecuación (7.27a) es que produce dos raíces, correspon-
dientes a los términos ± del denominador. En el método de Müller, se escoge el signo
que coincida con el signo de b. Esta elección proporciona como resultado el denomina-
dor más grande y, por lo tanto, dará la raíz estimada más cercana a x2.
Una vez que se determinó x3, el proceso se repite. Esto trae el problema de que un
valor es descartado. En general, dos estrategias son comúnmente usadas.
1. Si sólo se localizan raíces reales, elegimos los dos valores originales más cercanos
a la nueva raíz estimada, x3.
2. Si se localizan raíces reales y complejas, se emplea un método secuencial. Es decir,
como en el método de la secante, x1, x2 y x3 toman el lugar de x0, x1 y x2.
7.4 MÉTODO DE MÜLLER 179
180 RAÍCES DE POLINOMIOS
EJEMPLO 7.2 Método de Müller
Planteamiento del problema. Utilice el método de Müller con valores iniciales x0,
x1, y x2 = 4.5, 5.5 y 5, respectivamente, para determinar la raíz de la ecuación
f(x) = x3
– 13x – 12
Observe que las raíces de la ecuación son –3, –1 y 4.
Solución. Primero se evaluará la función con los valores iniciales
f(4.5) = 20.625 f(5.5) = 82.875 f(5) = 48
que se emplean para calcular
h0 = 5.5 – 4.5 = 1 h1 = 5 – 5.5 = –0.5
δ δ
0 1
82 875 20 625
5 5 4 5
62 25
48 82 875
5 5 5
69 75
=
−
−
= =
−
−
=
. .
. .
.
.
.
.
Estos valores, a su vez, se sustituyen con las ecuaciones (7.24) a (7.26) para calcular
a =
−
− +
=
69 75 62 25
0 5 1
15
. .
.
b = 15(–0.5) + 69.75 = 62.25 c = 48
La raíz cuadrada del discriminante se evalúa como
62 25 4 15 48 31 54461
2
. ( ) .
− =
Luego, como |62.25 + 31.54451|  |62.25 – 31.54451|, se emplea un signo positivo en el
denominador de la ecuación (7.27b), y la nueva raíz estimada se determina como
x3 5
2 48
62 25 31 54451
3 976487
= +
−
+
=
( )
. .
.
y desarrollando el error estimado
εa =
−
=
1 023513
3 976487
100 25 74
.
.
% . %
Debido a que el error es grande, se asignan nuevos valores: x0 se reemplaza por x1, x1 se
reemplaza por x2 y x2 se reemplaza por x3. Por lo tanto, para la nueva iteración,
x0 = 5.5 x1 = 5 x2 = 3.976487
y se repite el cálculo. Los resultados, tabulados a continuación, muestran que el método
converge rápidamente a la raíz xr = 4:
i xr ea (%)
0 5
1 3.976487 25.74
2 4.00105 0.6139
3 4 0.0262
4 4 0.0000119
El seudocódigo del método de Müller para raíces reales se presenta en la figura 7.4.
Observe que esta rutina toma un valor inicial único diferente de cero, que después se
altera por el factor h para generar los otros dos valores iniciales. Por supuesto, el algo-
ritmo puede programarse para considerarse tres valores iniciales. Con lenguajes pareci-
dos a Fortran, el programa encontrará raíces complejas si las variables adecuadas se
declaran como complejas.
7.5 MÉTODO DE BAIRSTOW
El método de Bairstow es un método iterativo relacionado de alguna manera con los
métodos de Müller y de Newton-Raphson. Antes de hacer la descripción matemática de
éste, recuerde la forma factorizada de un polinomio, por ejemplo
ƒ5(x) = (x + l)(x – 4)(x – 5)(x + 3)(x – 2) (7.28)
SUB Muller(xr, h, eps, maxit)
x2 = xr
x1 = xr + h*xr
x0 = xr – h*xr
DO
iter = iter + 1
h0 = x1 – x0
h1 = x2 – x1
d0 = (f(x1) – f(x0)) / h0
d1 = (f(x2) – f(x1)) / h1
a = (d1 – d0) /(h1 + h0)
b = a*h1 + d1
c = f(x2)
rad = SQRT(b*b – 4*a*c)
If |b+rad|  |b–rad| THEN
den = b + rad
ELSE
den = b – rad
END IF
dxr = –2*c /den
xr = x2 + dxr
PRINT iter, xr
IF (|dxr|  eps*xr OR iter  maxit) EXIT
x0 = x1
x1 = x2
x2 = xr
END DO
END Muller
FIGURA 7.4
Seudocódigo para el método de Müller.
7.5 MÉTODO DE BAIRSTOW 181
182 RAÍCES DE POLINOMIOS
Si se divide entre un factor que no es una raíz (por ejemplo, x + 6), el cociente es un
polinomio de cuarto grado. Aunque, en este caso, habrá un residuo diferente de cero.
Con estas consideraciones se puede elaborar un algoritmo para determinar la raíz
de un polinomio: 1. dé un valor inicial para la raíz x = t; 2. divida el polinomio entre el
factor x – t, y 3. determine si hay un residuo diferente de cero. Si no, el valor inicial es
perfecto y la raíz es igual a t. Si existe un residuo, se ajusta el valor inicial en forma
sistemática y se repite el procedimiento hasta que el residuo desaparezca y se localice
la raíz. Una vez hecho esto, se repite el procedimiento totalmente, ahora con el cociente
para localizar otra raíz.
Por lo general, el método de Bairstow se basa en esta manera de proceder. Por con-
siguiente, depende del proceso matemático de dividir un polinomio entre un factor.
Recuerde (sección 7.2.2) de nuestro estudio de la deflación de polinomios que la división
sintética implica la división del polinomio entre un factor x – t. Por ejemplo, el polinomio
general [ecuación (7.1)]
ƒn (x) = a0 + a1x + a2x2
+···+ anxn
(7.29)
se divide entre el factor x – t para dar un segundo polinomio que es de un grado menor:
ƒn–1 (x) = b1 + b2x + b3x2
+ ··· + bnxn–1
(7.30)
con un residuo R = b0, donde los coeficientes se calculan por la relación de recurrencia
bn = an
bi = ai + bi+1t para i = n – 1 a 0
Observe que si t es una raíz del polinomio original, el residuo b0 sería igual a cero.
Para permitir la evaluación de raíces complejas, el método de Bairstow divide el
polinomio entre un factor cuadrático x2
– rx – s. Si esto se hace con la ecuación (7.29),
el resultado es un nuevo polinomio
ƒn–2(x) = b2 + b3x +···+ bn–1xn–3
+ bnxn–2
con un residuo
R = b1(x – r) + b0 (7.31)
Como con la división sintética normal, se utiliza una relación de recurrencia simple para
realizar la división entre el factor cuadrático:
bn = an (7.32a)
bn–1 = an–1 + rbn (7.32b)
bi = ai + rbi+1 + sbi+2 para i = n – 2 a 0 (7.32c)
El factor cuadrático se introduce para permitir la determinación de las raíces com-
plejas. Esto se relaciona con el hecho de que, si los coeficientes del polinomio original
son reales, las raíces complejas se presentan en pares conjugados. Si x2
– rx – s es un
divisor exacto del polinomio, las raíces complejas pueden determinarse con la fórmula
cuadrática. Así, el método se reduce a determinar los valores de r y s que hacen que el
factor cuadrático sea un divisor exacto. En otras palabras, se buscan los valores que
hacen que el residuo sea igual a cero.
La inspección de la ecuación (7.31) nos lleva a concluir que para que el residuo sea
cero, b0 y b1 deben ser cero. Como es improbable que los valores iniciales para evaluar
r y s conduzcan a este resultado, debemos determinar una forma sistemática para mo-
dificar los valores iniciales, de tal forma que b0 y b1 tiendan a cero. Para lograrlo, el
método de Bairstow usa una estrategia similar a la del método de Newton-Raphson.
Como tanto b0 como b1 son funciones de r y s, se pueden expandir usando una serie de
Taylor, así [recuerde la ecuación (4.26)]:
b1(r + ∆r, s + ∆s) = b1 +
∂
∂
+
∂
∂
b
r
r
b
s
s
1 1
∆ ∆
b0(r + ∆r, s + ∆s) = b0 +
∂
∂
+
∂
∂
b
r
r
b
s
s
0 0
∆ ∆ (7.33)
donde los valores del lado derecho se evalúan en r y s. Observe que se han despreciado
los términos de segundo orden y de orden superior. Esto representa una suposición im-
plícita de que –r y –s son suficientemente pequeños para que los términos de orden
superior puedan despreciarse. Otra manera de expresar esta suposición es que los valo-
res iniciales son adecuadamente cercanos a los valores de r y s en las raíces.
Los incrementos, ∆r y ∆s, necesarios para mejorar nuestros valores iniciales, se
estiman igualando a cero la ecuación (7.33) para dar
∂
∂
+
∂
∂
= −
b
r
r
b
s
s b
1 1
1
∆ ∆ (7.34)
∂
∂
+
∂
∂
= −
b
r
r
b
s
s b
0 0
0
∆ ∆ (7.35)
Si las derivadas parciales de las b, pueden determinarse, hay un sistema de dos ecuacio-
nes que se resuelve simultáneamente para las dos incógnitas, ∆r y ∆s. Bairstow demos-
tró que las derivadas parciales se obtienen por división sintética de las b en forma
similar a como las b mismas fueron obtenidas:
cn = bn (7.36a)
cn–1 = bn–1 + rcn (7.36b)
ci = bi + rci+1 + sci+2 para i = n – 2 a 1 (7.36c)
donde ∂b0/∂r = cl, ∂b0/∂s = ∂b1/∂r = c2 y ∂b1/∂s = c3. Así, las derivadas parciales se
obtienen por la división sintética de las b. Entonces, las derivadas parciales se sustituyen
en las ecuaciones (7.34) y (7.35) junto con las b para dar
c2∆r + c3∆s = –b1
c1∆r + c2∆s = –b0
Estas ecuaciones se resuelven para ∆r y ∆s, las cuales, a su vez, se emplean para mejorar
los valores iniciales de r y s. En cada paso, se estima un error aproximado en r y s:
|ea,r| =
∆r
r
100% (7.37)
7.5 MÉTODO DE BAIRSTOW 183
184 RAÍCES DE POLINOMIOS
y
|ea,s| =
∆s
s
100% (7.38)
Cuando ambos errores estimados caen por debajo de un criterio especificado de termi-
nación es, los valores de las raíces se determinan mediante
x
r r s
=
± +
2
4
2
(7.39)
En este punto, existen tres posibilidades:
1. El cociente es un polinomio de tercer grado o mayor. En tal caso, el método de
Bairstow se aplica al cociente para evaluar un nuevo valor de r y s. Los valores
anteriores de r y s pueden servir como valores iniciales en esta aplicación.
2. El cociente es cuadrático. Aquí es posible evaluar directamente las dos raíces res-
tantes con la ecuación (7.39).
3. El cociente es un polinomio de primer grado. En este caso, la raíz restante se evalúa
simplemente como
x
s
r
= − (7.40)
EJEMPLO 7.3 Método de Bairstow
Planteamiento del problema. Emplee el método de Bairstow para determinar las
raíces del polinomio
ƒ5(x) = x5
– 3.5x4
+ 2.75x3
+ 2.125x2
– 3.875x + 1.25
Utilice como valores iniciales r = s = –1 e itere hasta un nivel de es = 1%.
Solución. Se aplican las ecuaciones (7.32) y (7.36) para calcular
b5 = 1 b4 = –4.5 b3 = 6.25 b2 = 0.375 b1 = –10.5
b0 = 11.375
c5 = 1 c4 = –5.5 c3 = 10.75 c2 = –4.875 c1 = –16.375
Así, las ecuaciones simultáneas para encontrar ∆r y ∆s son
–4.875∆r + 10.75∆s = 10.5
–16.375∆r – 4.875∆s = –11.375
al ser resueltas se encuentra que ∆r = 0.3558 y ∆s = 1.1381. Por lo tanto, nuestros valores
iniciales se corrigen a
r = –1 + 0.3558 = –0.6442
s = –1 + 1.1381 = 0.1381
y se evalúa el error aproximado con las ecuaciones (7.37) y (7.38),
|ea,r| =
0 3558
0 6442
.
.
−
100% = 55.23% |ea,s| =
1 1381
0 1381
.
.
100% = 824.1%
A continuación, se repiten los cálculos usando los valores revisados para r y s. Aplican-
do las ecuaciones (7.32) y (7.36) se obtiene
b5 = 1 b4 = –4.1442 b3 = 5.5578 b2 = –2.0276 b1 = –1.8013
b0 = 2.1304
c5 = 1 c4 = –4.7884 c3 = 8.7806 c2 = –8.3454 c1 = 4.7874
Por lo tanto, se debe resolver el sistema de ecuación
–8.3454∆r + 8.7806∆s = 1.8013
4.7874∆r – 8.3454∆s = –2.1304
al tener la solución ∆r = 0.1331 y ∆s = 0.3316, ésta se utiliza para corregir la raíz esti-
mada:
r = –0.6442 + 0.1331 = –0.5111 |ea,r| = 26.0%
s = 0.1381 + 0.3316 = 0.4697 |ea,s| = 70.6%
El cálculo continúa, resultando que después de cuatro iteraciones el método conver-
ge a los valores r = –0.5 (|ea,r| = 0.063%) y s = 0.5 (|ea,s| = 0.040%). La ecuación (7.39)
puede emplearse para evaluar las raíces:
x =
− ± − +
= −
0 5 0 5 4 0 5
2
0 5 1 0
2
. ( . ) ( . )
. , .
Entonces, se tiene que, el cociente es la ecuación cúbica
ƒ(x) = x3
– 4x2
+ 5.25x – 2.5
El método de Bairstow puede aplicarse a este polinomio usando los resultados del paso
anterior, r = –0.5 y s = 0.5, como valores iniciales. Cinco iteraciones dan las aproxima-
ciones r = 2 y s = –1.249, las cuales se usan para calcular
x i
=
± + −
= ±
2 2 4 1 249
2
1 0 499
2
( . )
.
Ahora, el cociente es un polinomio de primer grado que puede ser directamente
evaluado mediante la ecuación (7.40) para determinar la quinta raíz: 2.
Observe que la esencia del método de Bairstow es la evaluación de las b y de las c por
medio de las ecuaciones (7.32) y (7.36). Una de las ventajas principales de este método
radica en la forma concisa en la cual tales fórmulas de recurrencia pueden programarse.
En la figura 7.5 se muestra el seudocódigo que ejecuta el método de Bairstow. La
parte principal de este algoritmo es el ciclo que evalúa las b y c. También observe que
el seudocódigo para resolver las ecuaciones simultáneas revisa para evitar la división
entre cero. Si éste es el caso, los valores de r y s se alteran ligeramente y el procedimien-
7.5 MÉTODO DE BAIRSTOW 185
186 RAÍCES DE POLINOMIOS
a) Algoritmo de Bairstow
SUB Bairstow (a,nn,es,rr,ss,maxit,re,im,ier)
DIMENSION b(nn), c(nn)
r = rr; s = ss; n = nn
ier = 0; ea1 = 1; ea2 = 1
DO
IF n  3 OR iter ≥ maxit EXIT
iter = 0
DO
iter = iter + 1
b(n) = a(n)
b(n – 1) = a(n – 1) + r * b(n)
c(n) = b(n)
c(n – 1) = b(n – 1) + r * c(n)
DO i = n – 2, 0, –1
b(i) = a(i) + r * b(i + 1) + s * b(i + 2)
c(i) = b(i) + r * c(i + 1) + s * c(i + 2)
END DO
det = c(2) * c(2)–c(3) *c(1)
IF det ≠ 0 THEN
dr = (–b(1) * c(2) + b(0) * c(3))/det
ds = (–b(0) * c(2) + b(1) * c(1))/det
r = r + dr
s = s + ds
IF r≠0 THEN ea1 = ABS(dr/r) * 100
IF s≠O THEN ea2 = ABS(ds/s) * 100
ELSE
r = r + 1
s = s + 1
iter = 0
END IF
IF ea1 ≤ es AND ea2 ≤ es OR iter ≥ maxitEXIT
END DO
CALL Quadroot(r,s,r1,i1,r2,i2)
re(n) = r1
im(n) = i1
re(n – 1) = r2
im(n – 1) = i2
n = n–2
DO i = 0, n
a(i) = b(i + 2)
END DO
END DO
IF iter  maxit THEN
IF n = 2 THEN
r = –a(1)/a(2)
s = –a(0)/a(2)
CALL Quadroot(r,s,r1,i1,r2,i2)
re(n) = r1
im(n) = i1
re(n – 1) = r2
im(n – 1) = i2
ELSE
re(n) = –a(0)/a(1)
im(n) = 0
END IF
ELSE
ier = 1
END IF
END Bairstow
b) Algoritmo para raíces de una cuadrática
SUB Quadroot(r,s,r1,i1,r2,i2)
disc = r ^ 2 + 4 * s
IF disc  0 THEN
r1 = (r + SQRT(disc))/2
r2 = (r – SQRT(disc))/2
i1 = 0
i2 = 0
ELSE
r1 = r/2
r2 = r1
i1 = SQRT(ABS(disc))/2
i2 = –i1
END IF
END QuadRoot
FIGURA 7.5
a) Algoritmo para el método de Bairstow junto con b) un algoritmo para determinar las raíces de una ecuación cuadrática.
to comienza de nuevo. Además, en el algoritmo hay un lugar donde el usuario puede
definir el número máximo de iteraciones (MAXIT) y está diseñado para evitar una di-
visión entre cero cuando se calcula el error estimado. Finalmente, el algoritmo requiere
valores iniciales para r y s (rr y ss en el código). Si no se tiene conocimiento a priori de
que existan las raíces, se tendrá un conjunto de ceros al llamar el programa.
7.6 OTROS MÉTODOS
Otros métodos están disponibles para localizar las raíces de los polinomios. El método
de Jenkins-Traub (Jenkins y Traub, 1970) es comúnmente usado en bibliotecas como
IMSL. Es relativamente complicado y un punto de partida aceptable para entenderlo se
encuentra en Ralston y Rabinowitz (1978).
El método de Laguerre, que aproxima las raíces reales y complejas, tiene una con-
vergencia cúbica, se encuentra entre los mejores métodos. Un análisis completo se en-
cuentra en Householder (1970). Además, Press y colaboradores (1992) ofrecen un buen
algoritmo para implementar este método.
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS
Y PAQUETES DE SOFTWARE
Las bibliotecas y los paquetes de cómputo tienen gran capacidad para localizar raíces.
En esta sección, se ofrece una muestra de los más útiles.
7.7.1 Excel
Una hoja de cálculo como Excel se utiliza para localizar la raíz mediante prueba y error.
Por ejemplo, si se quiere encontrar una raíz de
ƒ(x) = x – cos x
primero se introduce un valor de x en una celda. Después se destina otra celda para ƒ(x)
donde se obtendrá el valor de la función para la x de la primera celda. Se puede variar
el valor de la celda en x hasta que la celda de ƒ(x) se aproxime a cero. Este proceso se
mejora usando la capacidad de graficación de Excel para obtener un buen valor inicial
(figura 7.6).
Aunque Excel facilita el método de prueba y error, también posee dos herramientas
estándar que sirven para la localización de raíces: Goal Seek (buscar objetivo) y Solver.
Ambas son útiles para ajustar sistemáticamente los valores iniciales. Goal Seek (buscar
objetivo) se utiliza expresamente para llevar la ecuación a un valor (en este caso, cero)
mediante la variación de un solo parámetro.
EJEMPLO 7.4 Use la herramienta Goal Seek (buscar objetivo) de Excel para localizar
una raíz simple.
Planteamiento del problema. Emplee “buscar objetivo” para determinar la raíz de
la función trascendente
ƒ(x) = x – cos x
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 187
188 RAÍCES DE POLINOMIOS
Solución. Como en la figura 7.6, la clave para resolver una sola ecuación con Excel es
crear una celda que tenga el valor de la función en cuestión y hacer, después, el valor
dependiente de otra celda. Una vez hecho esto del menú herramientas se selecciona
“buscar objetivo”. Ahora aparece una ventana de diálogo pidiendo se especifique una
celda para un valor al modificar otra celda. Por ejemplo, suponga que, como en la figu-
ra 7.6, el valor propuesto se escribe en la celda A11 y la función resultante en la celda
B11. La ventana de diálogo para Goal Seek (buscar objetivo) será
FIGURA 7.6
Una hoja de cálculo para determinar la raíz de f(x) = x – cos x por prueba y error. La gráfica se usa para obtener un buen
valor inicial.
Cuando se selecciona el botón de OK (aceptar) una ventana de mensaje presenta los
resultados
Buscar objetivo:
Definir la celda: B11
Con el valor: 0
Para cambiar la celda: A11
Aceptar Cancelar
valores para la gráfica:
2 x f(x)
3 0 –1
4 0.5 –0.37758
5 1 0.459698
6 1.5 1.429263
7 2 2.416147
8
9 valores para prueba y error:
10 x f(x)
11 0.739125 6.64E-05
12
B11 =A11–COS(A11)
3
2
1
0
–1 0.5 1 1.5 2
–2
Las celdas de la hoja de cálculo se modificarán con los nuevos valores, como se muestra
en la figura 7.6.
La herramienta Solver es más sofisticada que Goal Seek porque 1. puede variar
simultáneamente varias celdas y 2. además de llevar la celda destino a un valor, éste
puede minimizarse o maximizarse. En el siguiente ejemplo se ilustra cómo se utiliza
para resolver un sistema de ecuaciones no lineales.
EJEMPLO 7.5 Uso de Excel para resolver un sistema no lineal
Planteamiento del problema. En la sección 6.5 obtuvimos la solución del siguiente
sistema de ecuaciones simultáneas:
u(x, y) = x2
+ xy – 10 = 0
v(x, y) = y + 3xy2
– 57 = 0
Observe que un par de raíces es x = 2 y y = 3. Utilice Solver para determinar las raíces
usando como valores iniciales x = 1 y y = 3.5.
Solución. Como se muestra más adelante, dos celdas (B1 y B2) pueden crearse para
los valores o iniciales x y y. Los valores de la función, u(x, y) y v(x, y), pueden entrar en
otras celdas (B3 y B4). Como se observa, los valores iniciales dan como resultado va-
lores de la función que son lejanos a cero.
Estado de la búsqueda de objetivo
La búsqueda con la celda B11 puede
no haber encontrado una solución
Valor del objetivo: 0
Valor actual: 6.63648E-05
Aceptar
Cancelar
Paso a paso
Pausa
B6 =B3^2+B4^2
A B C
1 x 1
2 y 3.5
3 u (x, y) –5.5
4 v(x, y) –16.75
5
6 Suma de cuadrados 310.8125
7
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 189
190 RAÍCES DE POLINOMIOS
Después, se crea otra celda que contenga un valor que refleje qué tan cercanas de
cero están ambas funciones. Una forma de hacerlo consiste en sumar los cuadrados de los
valores de las funciones. Este resultado se introduce en la celda B6. Si ambas funciones
son cero, esta función deberá también ser cero. Además, usando los cuadrados de las
funciones se evita la posibilidad de que ambas funciones puedan tener el mismo valor
diferente de cero, pero con signos contrarios. En tal caso, la celda de apoyo (B6) podría
ser cero, aunque las raíces podrían ser incorrectas.
Una vez que la hoja de cálculo ha sido creada, se elige la opción Solver en el menú
de herramientas. Entonces, una ventana de diálogo se presentará en pantalla, pidién-
dole la información pertinente. Las celdas solicitadas en la ventana de diálogo de Solver
se llenarán como
Cuando el botón de OK (aceptar) se selecciona, se abrirá una ventana de diálogo con un
reporte de las operaciones efectuadas. En el presente caso, Solver obtiene la solución
correcta:
Parámetros de Solver
Celda objetivo:
Valor de la
celda objetivo:
Cambiando celdas:
Sujetas a las siguientes restricciones:
Máximo Mínimo Valores de:
Resolver
Cerrar
Opciones
Reestablecer
todo
Ayuda
Estimar
Agregar
Cambiar
Eliminar
B6
B1:B2
0
A B C D
1 x 2.00003
2 y 2.999984
3 u(x, y) 0.000176
4 v(x, y) 0.000202
5
6 Suma de cuadrados 7.19E-08
7
Se debe observar que Solver puede fallar. Su éxito depende de 1. la condición del
sistema de ecuaciones y/o 2. la calidad de los valores iniciales. El resultado satisfactorio
del ejemplo anterior no está garantizado. A pesar de esto, se puede encontrar a Solver
bastante útil para hacer de él una buena opción en la obtención rápida de raíces para un
amplio rango de aplicaciones a la ingeniería.
7.7.2 MATLAB
MATLAB es capaz de localizar raíces en ecuaciones algebraicas y trascendentes, como
se muestra en la tabla 7.1. Siendo excelente para la manipulación y localización de raíces
en los polinomios.
La función fzero está diseñada para localizar la raíz de una función. Una represen-
tación simplificada de su sintaxis es
fzero(f,X0,opciones)
donde f es la tensión que se va a analizar, x0 es el valor inicial y opciones son los pará-
metros de optimización (éstos pueden cambiarse al usar la función optimset). Si no se
anotan las opciones se emplean los valores por omisión. Observe que se pueden emplear
uno o dos valores iniciales, asumiendo que la raíz está dentro del intervalo. El siguiente
ejemplo ilustra cómo se usa la función fzero.
EJEMPLO 7.6 Uso de MATLAB para localizar raíces
Planteamiento del problema. Utilice la función fzero de MATLAB para encontrar
las raíces de
f (x) = x10
– 1
dentro del intervalo xl = 0 y xu = 4, obviamente se tiene dos raíces –1 y 1. Recuerde que
para determinar la raíz positiva en el ejemplo 5.6 se usó el método de la falsa posición
con valores iniciales 0 y 1.3.
TABLA 7.1 Funciones comunes de MATLAB relacionadas
con la manipulación de polinomios
y la localización de raíces.
Función Descripción
fzero Raíz de una sola función
roots Encuentra raíces de polinomios
poly Construye polinomios con raíces específicas
polival Evalúa un polinomio
polivalm Evalúa un polinomio con argumento matricial
residue Expansión de la fracción-parcial (residuos)
polyder Diferenciación polinomial
conv Multiplicación de polinomios
deconv División de polinomios
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 191
192 RAÍCES DE POLINOMIOS
Solución. Bajo las mismas condiciones iniciales del ejemplo 5.6, se usa MATLAB
para determinar la raíz positiva.
 x0=[0 1.3];
 x=fzero(inline(‘x^10–1’),x0)
x =
1
De manera semejante, se emplean los valores iniciales –1.3 y 0 para determinar la
raíz negativa
 x0=[–1.3 0];
 x=fzero(inline(‘x^10–1’),x0)
x =
–1
Se puede usar un valor único; resulta un caso interesante cuando se usa el valor
inicial 0
 x0=0;
 x=fzero(inline(‘x^10–1’),x0)
x =
–1
Se tiene que para ese valor el algoritmo llevará a la raíz a su valor negativo.
El uso de optimset se ilustra al mostrar en pantalla la forma en que las iteraciones
conducen a la solución
 x0=0;
 option=optimset(‘DISP’,’ITER’);
 x=fzero(inline(‘x^10–1’),x0,option)
Func–count x f(x) Procedure
1 0 –1 initial
2 –0.0282843 –1 search
3 0.0282843 –1 search
4 –0.04 –1 search
•
•
•
21 0.64 –0.988471 search
22 –0.905097 –0.631065 search
23 0.905097 –0.631065 search
24 –1.28 10.8059 search
Looking for a zero in the interval [–1.28], 0.9051]
25 0.784528 –0.911674 interpolation
26 –0.247736 –0.999999 bisection
27 –0.763868 –0.932363 bisection
28 –1.02193 0.242305 bisection
29 –0.968701 –0.27239 interpolation
30 –0.996873 –0.0308299 interpolation
31 –0.999702 –0.00297526 interpolation
32 –1 5.53132e–006 interpolation
33 –1 –7.41965e–009 interpolation
34 –1 –1.88738e–014 interpolation
35 –1 0 interpolation
Zero found in the interval: [–1.28, 0.9051].
x =
–1
Estos resultados ilustran la estrategia empleada por fzero cuando se tiene un valor
único. Primero busca en la vecindad del valor inicial hasta detectar un cambio de signo.
Después usa una combinación del método de bisección e interpolación para dirigirse a
la raíz. La interpolación considera tanto el método de la secante como la interpolación
cuadrática inversa (recuerde la sección 7.4). Deberá notar que el algoritmo de fzero
puede implicar más cosas a partir de esta descripción básica. Puede consultar a Press y
colaboradores (1992) para mayores detalles.
EJEMPLO 7.7 Uso de MATLAB para manipular y determinar las raíces de polinomios
Planteamiento del problema. Analicemos cómo se emplea MATLAB para manipu-
lar y determinar las raíces de polinomios. Use la siguiente ecuación del ejemplo 7.3,
f5(x) = x5
– 3.5x4
+ 2.75x3
+ 2.125x2
– 3.875x + 1.25 (E7.7.1)
que tiene tres raíces reales: 0.5, 1.0, 2 y un par de raíces complejas: –1 ± 0.5i.
Solución. El polinomio se introduce en MATLAB almacenando los coeficientes como
un vector. Por ejemplo después de () teclee los coeficientes del polinomio en el vector
a
 a=[1 –3.5 2.75 2.125 –3.875 1.25];
Después se procede a manipular el polinomio. Por ejemplo, podemos evaluarlo en x = 1,
tecleando
 polival(a,1)
que resultará 1(1)5
– 3.5(1)4
+ 2.75(1)3
+ 2.125(1)2
– 3.875(1) + 1.25 = –0.25,
ans =
–0.2500
Para evaluar la derivada f ′(x) = 5x4
– 14x3
+ 8.25x2
+ 4.25x – 3.875 con
 polyder (a)
ans =
5.0000 –14.0000 8.2500 4.2500 –3.8750
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 193
194 RAÍCES DE POLINOMIOS
A continuación, se crea un polinomio cuadrático que tiene dos de las raíces originales
de la ecuación (E7.7.1): 0.5 y –1. Esta cuadrática es (x – 0.5)(x + 1) = x2
+ 0.5x – 0.5 y se
introduce en MATLAB como el vector b
 b=[1 0.5 –0.5];
Se divide el polinomio original entre este polinomio con
 [d,e]=deconv(a,b)
El resultado de la división es (un polinomio de tercer grado d) y un residuo (e)
d =
1.0000 –4.0000 5.2500 –2.5000
e =
0 0 0 0 0 0
Debido a que el polinomio es un divisor perfecto, el residuo polinominal tiene coeficien-
tes iguales a cero. Ahora las raíces del cociente polinominal se determinan como
 roots(d)
Con el resultado esperado para las raíces faltantes del polinomio original (E7.7.1)
ans =
2.0000
1.0000 + 0.5000i
1.0000 – 0.5000i
Ahora al multiplicar d por b se regresa al polinomio original
 conv(d,b)
ans =
1.0000 –3.5000 2.7500 2.1250 –3.8750 1.2500
Finalmente, podemos determinar todas las raíces del polinomio original con
 r=roots(a)
r =
–1.0000
2.0000
1.0000 + 0.5000i
1.0000 – 0.5000i
0.5000
7.7.3 IMSL
IMSL tiene varias subrutinas para determinar las raíces de ecuaciones (tabla 7.2). En
este análisis nos enfocaremos en la rutina ZREAL, la cual localiza las raíces o cero
reales de una función real usando el método de Müller.
ZREAL se efectúa usando la siguiente instrucción CALL:
CALL ZREAL(F, ERABS, ERREL, EPS, ETA, NR, IMAX, X0, X, INFO)
Donde
F = Una función definida por el usuario para la cual van a encontrarse las raíces
ERABS = Primer criterio de terminación, termina si |ƒ(xi)|  ERABS. (Entrada)
ERREL=Segundocriteriodeterminación,terminasi|(xi –xi–1)/xi|ERREL.(Entrada)
EPS = Véase ETA. (Entrada)
ETA = Criterio de extensión para raíces múltiples. (Entrada)
Si la raíz xi se ha calculado y |xi – xj|  EPS, donde xj es una raíz previamen-
te calculada, se reinicia el cálculo con un nuevo valor inicial de xi + ETA.
NR = Número de raíces a ser encontradas. (Entrada)
IMAX = Máximo número permitido de iteraciones por raíz. (Entrada)
TABLA 7.2 Rutinas de IMSL para localizar raíces.
Categoría Rutina Capacidad
Raíces de una función
ZREAL Encuentra los ceros reales de una función real
con el método de Müller.
ZBREN Encuentra un cero de una función real que
cambia de signo en un intervalo dado.
ZANLY Encuentra los ceros de una función compleja
univariada usando el método de Müller.
Raíz de un sistema de ecuaciones
NEQNF Resuelve un sistema de ecuaciones no lineales
usando un algoritmo híbrido de Powell
modificado (una variación del método de
Newton) y una aproximación en
diferencias finitas del Jacobiano.
NEQNJ Resuelve un sistema de ecuaciones no lineales
usando un algoritmo híbrido de Powell
modificado (una variación del método de
Newton) con el Jacobiano propuesto por
el usuario.
NEQBF Resuelve un sistema de ecuaciones no lineales
usando la actualización de la secante
factorizada y una aproximación en
diferencias finitas del Jacobiano.
NEQBJ Resuelve un sistema de ecuaciones no lineales
usando la actualización de la secante
factorizada con el Jacobiano propuesto
por el usuario.
Raíces de polinomios
ZPORC Encuentra los ceros de polinomios con
coeficientes reales con el algoritmo de
Jenkins-Traub.
ZPLRC Encuentra los ceros de polinomios con
coeficientes reales con el método de
Laguerre.
ZPOCC Encuentra los ceros de polinomios con
coeficientes complejos con el algoritmo
de Jenkins-Traub.
7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 195
196 RAÍCES DE POLINOMIOS
X0 = Longitud del vector NROOT que contiene los valores iniciales. (Entrada)
X = Longitud del vector NROOT que contiene las raíces calculadas. (Salida)
INFO = Longitud del vector entero NROOT. (Salida)
Contiene el número de iteraciones para encontrar cada raíz.
Observe que las iteraciones terminan cuando se satisface cualquiera de los criterios
de terminación o cuando se excede el número máximo de iteraciones. La función F
tiene el formato general
FUNCTION F(X)
REAL F,X
F = ...
END
donde la línea “F = ...” es donde se escribe la función de la variable desconocida X.
EJEMPLO 7.8 Uso de IMSL para localizar una raíz simple
Planteamiento del problema. Use ZREAL para determinar la raíz de la función
trascendente
ƒ(x) = x – cos x
Solución. Un ejemplo del programa principal en Fortran 90 y del uso de la función
ZREAL para resolver este problema se escribe como
PROGRAM Root
IMPLICIT NONE
INTEGER::nroot
PARAMETER(nroot=1)
INTEGER::itmax=50
REAL::errabs=0.,errrel=1.E-5,eps=0.,eta=0.
REAL::f,x0(nroot),x(nroot)
EXTERNAL f
INTEGER::info(nroot)
PRINT *, “Introduzca los valores iniciales”
READ *, x0
CALL ZREAL(f,errabs,errrel,eps,eta,nroot,itmax,x0,x,info)
PRINT *, “raíz = ”, x
PRINT *, “iteraciones = ”, info
END PROGRAM
FUNCTION f(x)
IMPLICIT NONE
REAL::f,x
f = x – cos(x)
END FUNCTION
La salida es:
Introduzca el valor inicial
0.5
raíz = 7.390851E-01
iteraciones = 5
PROBLEMAS 197
7.1 Divida el polinomio ƒ(x) = x4
– 7.5x3
+ 14.5x2
+ 3x – 20
entre el monomio x – 2. ¿Es x = 2 una raíz?
7.2 Haga la división del polinomio ƒ(x) = x5
–5x4
+ x3
– 6x2
– 7x
+ 10 entre el monomio x – 2.
7.3 Use el método de Müller para determinar la raíz real positi-
va de
a) ƒ(x) = x3
+ x2
– 3x – 5
b) ƒ(x) = x3
– 0.5x2
+ 4x – 3
7.4 Emplee el método de Müller o MATLAB para determinar
las raíces reales y complejas de
a) ƒ(x) = x3
– x2
+ 3x – 2
b) ƒ(x) = 2x4
+ 6x2
+ 10
c) ƒ(x) = x4
– 2x3
+ 6x2
– 8x + 8
7.5 Utilice el método de Bairstow para determinar las raíces de
a) ƒ(x) = –2 + 6.2x –4x2
+ 0.7x3
b) ƒ(x) = 9.34 – 21.97x + 16.3x2
–3.704x3
c) ƒ(x) = x4
– 3x3
+ 5x2
– x – 10
7.6 Desarrolle un programa para implementar el método de
Müller. Pruébelo con la repetición del ejemplo 7.2.
7.7 Emplee el programa que desarrolló en el problema 7.6 para
determinar las raíces reales del problema 7.4a. Construya una
gráfica (a mano, o con Excel o algún otro paquete de graficación)
para elegir valores iniciales apropiados.
7.8 Desarrolle un programa para implementar el método de
Bairstow. Pruébelo con la repetición del ejemplo 7.3.
7.9 Use el programa que desarrolló en el problema 7.8 para
determinar las raíces de las ecuaciones en el problema 7.5.
7.10 Determine la raíz real de x3.5
= 80, con la herramienta Goal
Seek de Excel, o la librería o paquete de su elección.
7.11 La velocidad de un paracaidista que cae está dada por
v =
gm
c
(l – e–(c/m)t
)
donde g = 9.8 m/s2
. Para un paracaidista con un coeficiente de
arrastre c = 14 kg/s, calcule la masa m de modo que la velocidad
sea v = 35 m/s en t = 8 s. Use las herramientas Goal Seek de
Excel, o alguna librería o paquete que elija, con objeto de deter-
minar el valor de m.
7.12 Determine las raíces de las ecuaciones no lineales simultá-
neas siguientes:
y = –x2
+ x + 0.75
y + 5xy = x2
PROBLEMAS
Emplee valores iniciales, x = y = 1.2 y emplee la herramienta
Solver de Excel, o la librería o paquete que prefiera.
7.13 Determine las raíces de las ecuaciones no lineales simultá-
neas que siguen:
(x – 4)x2
+ (y – 4)2
= 5
x2
+ y2
= 16
Use el método gráfico para obtener los valores iniciales. Deter-
mine estimaciones refinadas con la herramienta Solver de Excel,
o la librería o paquete de su preferencia.
7.14 En MATLAB, ejecute operaciones idénticas a las del ejem-
plo 7.7, o utilice la librería o paquete de su elección, a fin de
encontrar todas las raíces del polinomio
ƒ(x) = (x – 4)(x + 2)(x – 1)(x + 5)(x – 7)
Obsérvese que es posible usar la función poly para convertir
las raíces en un polinomio.
7.15 Use MATLAB o la librería o paquete que prefiera para
determinar las raíces de las ecuaciones en el problema 7.5.
7.16 Desarrolle un subprograma para resolver cuáles son las
raíces de un polinomio, el cual utilice las rutinas IMSLo ZREAL,
o la librería o paquete de su elección. Pruébelo con la determi-
nación de las raíces de las ecuaciones de los problemas 7.4 y
7.5.
7.17 Un cilindro circular de dos dimensiones se coloca en un
flujo de velocidad alta y uniforme. Se desprenden vórtices del
cilindro a frecuencia constante, la cual detectan sensores de
presión en la superficie posterior del cilindro por medio de calcu-
lar qué tan seguido oscila la presión. Dados tres puntos de los
datos, use el método de Müller para encontrar el momento en
que la presión fue igual a cero.
Tiempo 0.60 0.62 0.64
Presión 20 50 60
7.18 Al tratar de encontrar la acidez de una solución de hidróxi-
do de magnesio en ácido clorhídrico, se obtiene la ecuación si-
guiente:
A(x) = x3
+ 3.5x2
– 40
donde x es la concentración del ion hidrógeno. Calcule la con-
centración del ion de hidrógeno para una solución saturada
(cuando la acidez es igual a cero) por medio de dos métodos
diferentes en MATLAB (por ejemplo, en forma gráfica y raíces
de una función).
7.19 Considere el sistema siguiente con tres incógnitas a, u y v:
u2
– 2v2
= a2
u + v = 2
a2
– 2a – u = 0
Encuentre los valores reales de las incógnitas, por medio de a)
Solver de Excel, y b) algún paquete de software de manipulación
simbólica.
7.20 En el análisis de sistemas de control, se desarrollan funcio-
nes de transferencia que relacionan en forma matemática la di-
námica de la entrada de un sistema con su salida. La función de
transferencia para un sistema de posicionamiento robotizado está
dada por:
G s
C s
N s
s s s
s s
( )
( )
( )
. .
= =
+ + +
+ +
3 2
4 3
12 5 50 5 66
19 122s
s s
2
296 192
+ +
donde G(s) = ganancia del sistema, C(s) = salida del sistema,
N(s) = entrada del sistema y s = frecuencia compleja de la trans-
formada de Laplace. Utilice una técnica numérica para obtener
las raíces del numerador y el denominador, y factorícelas en la
forma siguiente:
G(s) =
( )( )( )
( )( )( )( )
s a s a s a
s b s b s b s b
+ + +
+ + + +
1 2 3
1 2 3 4
donde ai y bi = las raíces del numerador y el denominador, res-
pectivamente.
7.21 Desarrolle una función de archivo M para el método de
bisección, en forma similar a la de la figura 5.10. Pruebe la
función por medio de repetir los cálculos de los ejemplos 5.3 y
5.4.
7.22 Desarrolle una función de archivo M para el método de la
falsa posición. La estructura de su función debe ser similar al
algoritmo de la bisección que se ilustra en la figura 5.10. Pruebe
el programa por medio de repetir el ejemplo 5.5.
7.23 Desarrolle una función de archivo M para el método de
Newton-Raphson, con base en la figura 6.4 y la sección 6.2.3.
Junto con el valor inicial, introduzca como argumentos la función
y derivada. Pruébelo con la repetición del cálculo del ejemplo
6.3.
7.24 Desarrolle una función de archivo M para el método de la
secante, con base en la figura 6.4 y la sección 6.3.2. Junto con
los dos valores iniciales, introduzca como argumento a la función.
Pruébelo con la duplicación de los cálculos del ejemplo 6.6.
7.25 Desarrolle una función de archivo M para el método de la
secante modificado, con base en la figura 6.4 y la sección 6.3.2.
Junto con el valor inicial y la fracción de perturbación, introduz-
ca como argumento a la función. Pruébelo con la duplicación de
los cálculos del ejemplo 6.8.
198 RAÍCES DE POLINOMIOS
CAPÍTULO 8
Estudio de casos:
raíces de ecuaciones
La finalidad de este capítulo es utilizar los procedimientos numéricos analizados en los
capítulos 5, 6 y 7 para resolver problemas de ingeniería reales. Las técnicas numéricas
son importantes en aplicaciones prácticas, ya que con frecuencia los ingenieros encuen-
tran problemas que no es posible resolver usando técnicas analíticas. Por ejemplo, mo-
delos matemáticos simples que se pueden resolver analíticamente quizá no sean
aplicables cuando se trata de problemas reales. Debido a esto, se deben utilizar modelos
más complicados. En esta situación, es conveniente implementar una solución numérica
en una computadora. En otros casos, los problemas de diseño en la ingeniería llegan a
requerir soluciones de variables implícitas en ecuaciones complicadas.
Las siguientes aplicaciones son típicas de aquellas que en forma rutinaria se encuen-
tran durante los últimos años de estudio y en estudios superiores. Más aún, son pro-
blemas representativos de aquellos que se encontrarán en la vida profesional. Los
problemas provienen de las cuatro grandes ramas de la ingeniería: química, civil, eléc-
trica y mecánica. Dichas aplicaciones también sirven para ilustrar las ventajas y desven-
tajas de las diversas técnicas numéricas.
La primera aplicación, tomada de la ingeniería química, proporciona un excelente
ejemplo de cómo los métodos para determinar raíces permiten usar fórmulas realistas
en la ingeniería práctica; además, demuestra de qué manera la eficiencia del método de
Newton-Raphson se emplea cuando se requiere de un gran número de cálculos como
método para la localización de raíces.
Los siguientes problemas de diseño en ingeniería se toman de las ingenierías civil,
eléctrica y mecánica. En la sección 8.2 se usan tanto métodos cerrados como abiertos
para determinar la profundidad y velocidad del agua que fluye en un canal abierto. En
la sección 8.3 se explica cómo las raíces de ecuaciones trascendentes se usan en el dise-
ño de un circuito eléctrico. En las secciones 8.2 y 8.3 también se muestra de qué forma
los métodos gráficos ofrecen un conocimiento del proceso de localización de raíces. Por
último, la sección 8.4 usa la localización de raíces polinominales para analizar las vi-
braciones de un automóvil.
8.1 LEYES DE LOS GASES IDEALES Y NO IDEALES
(INGENIERÍA QUÍMICA Y BIOQUÍMICA)
Antecedentes. La ley de los gases ideales está dada por
pV = nRT (8.1)
donde p es la presión absoluta, V es el volumen, n es el número de moles, R es la constan-
te universal de los gases y T es la temperatura absoluta. Aunque esta ecuación se utiliza
200 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
ampliamente por los ingenieros y científicos, sólo es exacta en un rango limitado de
presión y temperatura. Además, la ecuación (8.1) es apropiada solamente para algunos
gases.
Una ecuación de estado alternativa para los gases está dada por:
p
a
b RT
+
⎛
⎝
⎞
⎠
=
v
v
2
( – ) (8.2)
conocida como la ecuación de van der Waals, donde v = V/n es el volumen molar, a y
b son constantes empíricas que dependen del gas que se analiza.
Un proyecto de diseño en ingeniería química requiere que se calcule exactamente
el volumen molar (v) del dióxido de carbono y del oxígeno para diferentes combinacio-
nes de temperatura y presión, de tal forma que los recipientes que contengan dichos
gases se puedan seleccionar apropiadamente. También es importante examinar qué tan
bien se apega cada gas a la ley de los gases ideales, comparando el volumen molar calcu-
lado con las ecuaciones (8.1) y (8.2). Se proporcionan los siguientes datos:
R = 0.082054 L atm/(mol K)
a = 3.592
bióxido de carbono
b = 0.04267
a = 1.360
oxígeno
b = 0.03183
Las presiones de diseño de interés son de 1, 10 y 100 atmósferas para combinaciones de
temperatura de 300, 500 y 700 K.
Solución. Los volúmenes molares de ambos gases se calculan usando la ley de los
gases ideales, con n = 1. Por ejemplo, si p = 1 atm y T = 300 K,
v = = = =
V
n
RT
p
0 082054 24 6162
. .
L am
mol K
300 K
1 atm
L/mol
Estos cálculos se repiten para todas las combinaciones de presión y de temperatura que
se presentan en la tabla 8.1.
TABLA 8.1 Cálculos del volumen molar.
Volumen Volumen molar Volumen molar
molar (ley de los (van der Waals) (van der Waals)
Temperatura, Presión, gases ideales), Dióxido de carbono, Oxígeno,
K atm L/mol L/mol L/mol
300 1 24.6162 24.5126 24.5928
10 2.4616 2.3545 2.4384
100 0.2462 0.0795 0.2264
500 1 41.0270 40.9821 41.0259
10 4.1027 4.0578 4.1016
100 0.4103 0.3663 0.4116
700 1 57.4378 57.4179 57.4460
10 5.7438 5.7242 5.7521
100 0.5744 0.5575 0.5842
Los cálculos del volumen molar a partir de la ecuación de van der Waals se llevan
a cabo usando cualquiera de los métodos numéricos para la determinación de raíces de
ecuaciones analizados en los capítulos 5, 6 y 7, con
ƒ = +
⎛
⎝
⎞
⎠
( ) ( – ) –
v
v
v
p
a
b RT
2
(8.3)
En este caso, como la derivada de ƒ(v) se determina fácilmente, entonces es convenien-
te y eficiente usar el método de Newton-Raphson. La derivada de ƒ(v) respecto a v está
dada por
′
ƒ = +
( ) –
v
v v
p
a ab
2 3
2
(8.4)
El método de Newton-Raphson se describe mediante la ecuación (6.6):
v v
v
v
i i
i
i
+ =
ƒ
′
ƒ
1 –
( )
( )
la cual se utiliza para estimar la raíz. Por ejemplo, usando como valor inicial 24.6162,
el volumen molar del bióxido de carbono a 300 K y 1 atmósfera es 24.5126 L/mol. Este
resultado se obtuvo después de sólo dos iteraciones y tiene un ea menor del 0.001 por
ciento.
En la tabla 8.1 se muestran resultados similares para todas las combinaciones de
presión y de temperatura de ambos gases. Se observa que los resultados obtenidos con
la ecuación de los gases ideales difieren de aquellos obtenidos usando la ecuación de
van der Waals, para ambos gases, dependiendo de los valores específicos de p y T. Ade-
más, como algunos de dichos resultados son significativamente diferentes, el diseño de
los recipientes que contendrán a los gases podría ser muy diferente, dependiendo de qué
ecuación de estado se haya empleado.
En este problema, se examinó una complicada ecuación de estado con el método de
Newton-Raphson. En varios casos los resultados variaron de manera significativa res-
pecto a la ley de los gases ideales. Desde un punto de vista práctico, el método de
Newton-Raphson fue apropiado aquí, ya que ƒ′(v) resultó sencillo de calcular. De esta
manera, es factible explotar las propiedades de rápida convergencia del método de
Newton-Raphson.
Además de demostrar su poder en un solo cálculo, este problema de diseño muestra
cómo el método de Newton-Raphson es especialmente atractivo cuando se requiere una
gran cantidad de cálculos. Debido a la velocidad de las computadoras digitales, la efi-
ciencia de varios métodos numéricos en la solución para la mayoría de las raíces de
ecuaciones no se distingue en un cálculo único. Incluso una diferencia de 1 s entre el
método de bisección y el eficiente método de Newton-Raphson no significa pérdida de
tiempo cuando se realiza sólo un cálculo. Sin embargo, suponga que para resolver un
problema se necesita calcular millones de raíces. En tal caso, la eficiencia del método
podría ser un factor decisivo al elegir una técnica.
Por ejemplo, suponga que se requiere diseñar un sistema de control computarizado
automático para un proceso de producción de sustancias químicas. Dicho sistema re-
quiere una estimación exacta de volúmenes molares sobre una base esencialmente
continua, para fabricar en forma conveniente el producto final. Se instalan medidores
8.1 LEYES DE LOS GASES IDEALES Y NO IDEALES 201
202 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
que proporcionan lecturas instantáneas de presión y temperatura. Se debe obtener valo-
res de v para diversos gases que se usan en el proceso.
Para una aplicación como ésta, los métodos cerrados, tales como el de bisección o
de la regla falsa, posiblemente consumirían mucho tiempo. Además, los dos valores
iniciales que se requieren en estos métodos generarían un retraso crítico en el procedi-
miento. Dicho inconveniente afecta de igual forma al método de la secante, que también
necesita dos valores iniciales.
En contraste, el método de Newton-Raphson requiere sólo de un valor inicial para
determinar la raíz. La ley de los gases ideales podría emplearse para obtener un valor
inicial del proceso. Después, suponiendo que el tiempo empleado sea lo bastante corto
como para que la presión y la temperatura no varíen mucho entre los cálculos, la solu-
ción de la raíz anterior se puede usar como un buen valor inicial para la siguiente
aplicación. De esta forma, se tendría de forma automática un valor inicial cercano a la
solución, que es requisito indispensable para la convergencia del método de Newton-
Raphson. Todas estas consideraciones favorecerán de buena manera la técnica de New-
ton-Raphson en estos problemas.
8.2 FLUJO EN UN CANAL ABIERTO
(INGENIERÍA CIVIL E INGENIERÍA AMBIENTAL)
Antecedentes. La ingeniería civil constituye una disciplina amplia que incluye diver-
sas áreas como estructural, geotecnia, transporte, ambiental y abastecimiento del agua.
Las dos últimas especialidades tienen que ver con la contaminación y suministro de agua
y, por lo tanto, implican un uso extensivo de la ciencia de mecánica de fluidos.
Un problema general se relaciona con el flujo de agua en canales abiertos, ríos y
canales. La velocidad de flujo, que se mide frecuentemente en la mayoría de los ríos
y arroyos, se define como el volumen de agua que pasa por un punto específico de un
canal por unidad de tiempo, Q (m3
/s).
Aunque la velocidad de flujo es una cantidad útil, una cuestión adicional se relacio-
na con lo que sucede cuando se tiene una velocidad de flujo específico en un canal con
pendiente (figura 8.l). De hecho, suceden dos cosas: el agua alcanzará una profundidad
específica H (m) y se moverá a una velocidad específica U (m/s). Los ingenieros am-
bientales pueden estar interesados en conocer tales cantidades para predecir el transpor-
te y el destino de los contaminantes en un río. Así, la pregunta general sería: si se tiene
una velocidad de flujo para un canal, ¿cómo se calculan la profundidad y la velocidad?
P
S
B
H Q, U
Ac
FIGURA 8.1
Solución. La relación fundamental entre flujo y profundidad es la ecuación de conti-
nuidad
Q = UAc (8.5)
donde Ac = área de la sección transversal del canal (m2
). Dependiendo de la forma del
canal, el área puede relacionarse con la profundidad por medio de varias expresiones
funcionales. Para el canal rectangular mostrado en la figura 8.1, Ac = BH. Al sustituir
esta expresión en la ecuación (8.5) se obtiene
Q = UBH (8.6)
donde B = ancho (m). Debe observarse que la ecuación de continuidad se obtiene de la
conservación de la masa (recuerde la tabla 1.1).
Ahora, aunque la ecuación (8.6) ciertamente relaciona los parámetros del canal, no
es suficiente para responder nuestra pregunta. Suponiendo que se conoce B, se tiene una
ecuación y dos incógnitas (U y H). Por lo tanto, se requiere una ecuación adicional. Para
flujo uniforme (significa que el flujo no varía con la distancia ni con el tiempo), el in-
geniero irlandés Robert Manning propuso la siguiente fórmula semiempírica (llamada
en forma apropiada ecuación de Manning)
U
n
R S
=
1 2 3 1 2
/ /
(8.7)
donde n = coeficiente de rugosidad de Manning (un número adimensional que toma en
cuenta la fricción del canal), S = pendiente del canal (adimensional, metros de caída por
longitud en metros) y R = radio hidráulico (m), el cual se relaciona con los parámetros
fundamentales mediante
R
A
P
c
= (8.8)
donde P = perímetro mojado (m). Como su nombre lo indica, el perímetro mojado es la
longitud de los lados y el fondo del canal que está bajo el agua. Por ejemplo, para un
canal rectangular, éste se define como
P = B + 2H (8.9)
Se debe observar que así como la ecuación de continuidad se obtiene de la conservación
de la masa, la ecuación de Manning es una expresión de la conservación del momentum.
En particular, indica cómo la velocidad depende de la rugosidad, una manifestación de
la fricción.
Aunque el sistema de ecuaciones no lineales (8.6 y 8.7) puede resolverse simultá-
neamente (por ejemplo, usando el método de Newton-Raphson multidimensional que se
describe en la sección 6.5.2), un método más simple sería la combinación de ecuaciones.
La ecuación (8.7) se sustituye en la ecuación (8.6) y se obtiene
Q
BH
n
R S
= 2 3 1 2
/ /
(8.10)
8.2 FLUJO EN UN CANAL ABIERTO 203
204 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
Así, el radio hidráulico, ecuación (8.8), junto con las diferentes relaciones para un
canal rectangular, se sustituye:
Q
S
n
BH
B H
=
+
1 2 5 3
2 3
2
/ /
/
( )
( )
(8.11)
De esta forma, la ecuación contiene ahora una sola incógnita H junto con el valor dado
de Q y los parámetros del canal (n, S y B).
Aunque se tiene una ecuación con una incógnita, es imposible resolverla en forma
explícita para encontrar H. Sin embargo, la profundidad se determina numéricamente,
al reformular la ecuación como un problema de raíces.
ƒ =
+
=
( )
( )
( )
–
/ /
/
H
S
n
BH
B H
Q
1 2 5 3
2 3
2
0 (8.12)
La ecuación (8.12) se resuelve rápidamente con cualquiera de los métodos para
localizar raíces, descritos en los capítulos 5 y 6. Por ejemplo, si Q = 5 m3
/s, B = 20 m,
n = 0.03 y S = 0.0002, la ecuación es
ƒ =
+
=
( ) .
( )
( )
–
/
/
H
H
H
0 471405
20
20 2
5 0
5 3
2 3
(8.13)
Puede resolverse para H = 0.7023 m. El resultado se verifica sustituyéndolo en la ecua-
ción (8.13):
ƒ =
×
+ ×
= ×
( ) .
( . )
( . )
– .
/
/
–
H 0 471405
20 0 7023
20 2 0 7023
5 7 8 10
5 3
2 3
5
(8.14)
que se acerca bastante a cero.
La otra incógnita, la velocidad, ahora se determina por sustitución en la ecuación
(8.6),
U
Q
BH
= = =
5
20 0 7023
0 356
( . )
. m/s (8.15)
Así, se tiene una solución satisfactoria para la profundidad y la velocidad.
Ahora se buscará analizar un poco más los aspectos numéricos de este problema.
Una pregunta pertinente sería: ¿Cómo hacer para obtener un buen valor inicial para el
método numérico? La respuesta depende del tipo de método.
Para los métodos cerrados, como el de bisección y el de la falsa posición, se deter-
minaría, si es posible, estimar valores iniciales inferiores y superiores que contengan
siempre una sola raíz. Un método conservador podría ser elegir cero como el límite in-
ferior. Y, si se conoce, la profundidad máxima posible que puede presentarse, este valor
serviría como valor inicial superior. Por ejemplo, todos los ríos, con excepción de los
más grandes del mundo, tienen menos de 10 metros de profundidad. Por lo tanto,
se toman 0 y 10 como límites del intervalo para H.
Si Q  0 y H = 0, la ecuación (8.12) siempre será negativa para el valor inicial in-
ferior. Conforme H se incrementa, la ecuación (8.12) también se incrementará en forma
monótona, y finalmente será positiva. Por lo tanto, los valores iniciales deberán conte-
ner una sola raíz en la mayoría de los casos que se estudian con ríos y arroyos natu-
rales.
Ahora, una técnica como la de bisección debería ser muy confiable en la búsqueda
de una raíz. ¿Pero qué precio se paga? Al usar tal ancho del intervalo y una técnica como
la de bisección, el número de iteraciones para obtener una precisión deseada podría ser
computacionalmente excesivo. Por ejemplo, si se elige una tolerancia de 0.001 m, la
ecuación (5.5) sirve para calcular
n = =
log(10 / 0.001)
log 2
13 3
.
Así, se requieren 14 iteraciones. Aunque esto ciertamente no sería costoso para un solo
cálculo, podría ser exorbitante si se efectuaran muchas de estas evaluaciones. Las alter-
nativas serían: estrechar el intervalo inicial (en base a un conocimiento específico del
sistema), usar un método cerrado más eficiente (como el de la falsa posición) o confor-
marse con una menor precisión.
Otra forma de tener una mejor eficiencia sería utilizar un método abierto como el
de Newton-Raphson o el de la secante. Por supuesto que en tales casos el problema de
los valores iniciales se complica al considerar la convergencia.
Se obtiene una mayor comprensión de este problema examinando al menos eficien-
te de los métodos abiertos: iteración de punto fijo. Al analizar la ecuación (8.11), se
observa que hay dos modos sencillos para despejar H; esto es, se resuelve tanto para H
en el numerador,
H
Qn B H
BS
=
+
( ) ( )
/ /
/
3 5 2 5
3 10
2
(8.16)
como para H en el denominador,
H
S BH
Qn
B
=
⎡
⎣
⎢
⎤
⎦
⎥
1
2
3 5 2
3 2
( )
( )
–
/
/
(8.17)
Ahora, aquí es donde el razonamiento físico puede ayudar. En la mayoría de los ríos
y arroyos, el ancho es mucho mayor que la profundidad. Así, la cantidad B + 2H no
varía mucho. De hecho, debe ser aproximadamente igual a B. Por lo contrario, BH es
directamente proporcional a H. En consecuencia, la ecuación (8.16) deberá converger
más rápido a la raíz, lo cual se verifica al sustituir los límites del intervalo H = 0 y 10
en ambas ecuaciones. Con la ecuación (8.16), los resultados son 0.6834 y 0.9012, que
son cercanos a la raíz verdadera, 0.7023. En contraste, los resultados con la ecuación
(8.17) son –10 y 8178, los cuales están alejados claramente de la raíz.
La superioridad de la ecuación (8.16) se manifiesta además al graficar sus compo-
nentes (recuerde la figura 6.3). Como se observa en la figura 8.2, la componente g(H)
de la ecuación (8.16) es casi horizontal. Así, esta ecuación no únicamente converge, sino
que debe hacerlo con rapidez. En cambio, la componente g(H) de la ecuación (8.17) es
casi vertical, indicando así una fuerte y rápida divergencia.
8.2 FLUJO EN UN CANAL ABIERTO 205
206 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
Hay dos beneficios prácticos de este análisis:
1. En el caso de que se use un método abierto más detallado, la ecuación (8.16) ofrece
un medio para obtener un excelente valor inicial. Por ejemplo, si H se elige como
cero, la ecuación (8.12) toma la forma
H
Qn B
S
0
3 5
3 10
=
( / ) /
/
donde H0 será el valor inicial utilizado en el método de Newton-Raphson o en el de
la secante.
2. Se ha demostrado que la iteración de punto fijo ofrece una opción viable para este
problema específico. Por ejemplo, usando como valor inicial H = 0, en la ecuación
(8.16) se obtienen seis dígitos de precisión en cuatro iteraciones para el caso que se
examina. La fórmula de iteración de punto fijo sería fácil de manipular en una hoja
de cálculo, ya que las hojas de cálculo son ideales para fórmulas iterativas conver-
gentes que dependen de una sola celda.
8.3 DISEÑO DE UN CIRCUITO ELÉCTRICO
(INGENIERÍA ELÉCTRICA)
Antecedentes. Los ingenieros eléctricos emplean las leyes de Kirchhoff para estudiar
el comportamiento de los circuitos eléctricos en estado estacionario (que no varía con el
tiempo). En la sección 12.3 se analiza el comportamiento de dichos estados estacionarios.
Otro problema importante tiene que ver con circuitos de naturaleza transitoria, don-
de súbitamente ocurren cambios temporales. Esta situación se presenta cuando se cierra
el interruptor como en la figura 8.3. En tal caso, existe un periodo de ajuste al cerrar el
interruptor hasta que se alcance un nuevo estado estacionario. La longitud de este pe-
FIGURA 8.2
Gráfica de los componentes
para dos casos de iteración
de punto fijo, uno que
converge [a), ecuación
(8.16)] y uno que diverge
[b), ecuación (8.17)].
y
y1 = H
y2 = g(H)
a)
4
2
0
0 1 2 H
y1 = H
y2 = g(H)
b)
4
2
0
0 1 2 H
y
riodo de ajuste está íntimamente relacionada con las propiedades de almacenamiento de
energía, tanto del capacitor como del inductor. La energía almacenada puede oscilar
entre estos dos elementos durante un periodo transitorio. Sin embargo, la resistencia en
el circuito disipará la magnitud de las oscilaciones.
El flujo de corriente a través del resistor provoca una caída de voltaje (VR), dada por
VR = iR
donde i = la corriente y R = la resistencia del resistor. Si las unidades de R e i son ohms
y amperes, respectivamente, entonces las unidades de VR son voltios.
De manera semejante, un inductor se opone a cambios de corriente tales que la
caída del voltaje a través del inductor VL es
V L
di
dt
L =
donde L = la inductancia. Si las unidades de L e i son henrios y amperes, respectivamen-
te, entonces las de VL son voltios, y las de t son segundos.
La caída del voltaje a través del capacitor (VC) depende de la carga (q) sobre éste:
V
q
C
C =
donde C = la capacitancia. Si las unidades de carga se expresan en coulombios, entonces
la unidad de C es el faradio.
La segunda ley de Kirchhoff establece que la suma algebraica de las caídas de
voltaje alrededor de un circuito cerrado es cero. Así que, después de cerrar el interruptor
se tiene
L
di
dt
Ri
q
C
+ + = 0
Sin embargo, como la corriente se relaciona con la carga de acuerdo con
i
dq
dt
=
Interruptor
Resistor
Capacitor
–
+
V0
i
–
+
Batería Inductor
FIGURA 8.3
Un circuito eléctrico. Cuando se cierra el interruptor, la corriente experimenta una serie de
oscilaciones hasta que se alcance un nuevo estado estacionario.
8.3 DISEÑO DE UN CIRCUITO ELÉCTRICO 207
208 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
Por lo tanto,
L
d q
dt
R
dq
dt C
q
2
2
1
0
+ + = (8.18)
Ésta es una ecuación diferencial ordinaria lineal de segundo orden que se resuelve usan-
do los métodos de cálculo (véase la sección 8.4). Esta solución está dada por
q t q e
LC
R
L
t
Rt L
( ) –
– /( )
= ⎛
⎝
⎞
⎠
⎡
⎣
⎢
⎢
⎤
⎦
⎥
⎥
0
2
2
2
cos
1
(8.19)
si en t = 0, q = q0 = V0C y V0 = el voltaje de la batería. La ecuación (8.19) describe la
variación de la carga en el capacitor. La solución q(t) se grafica en la figura 8.4.
Un problema de diseño típico en ingeniería eléctrica consistiría en la determinación
del resistor apropiado para disipar energía a una razón especificada, con valores cono-
cidos de L y C. En este problema, suponga que la carga se debe disipar a 1% de su valor
original (q/q0 = 0.01) en t = 0.05 s, con L = 5 H y C = 10–4
F.
Solución. Es necesario despejar R de la ecuación (8.19) con valores conocidos para
q, q0, L y C. Sin embargo, debe emplear una técnica de aproximación numérica, ya que
R es una variable implícita en la ecuación (8.19). Se usará el método de bisección para
dicho propósito. Los otros métodos estudiados en los capítulos 5 y 6 también son apro-
piados; aunque el método de Newton-Raphson tiene el inconveniente de que la derivada
de la ecuación (8.19) es un poco complicada. Reordenando la ecuación (8.19),
ƒ = ⎛
⎝
⎞
⎠
⎡
⎣
⎢
⎢
⎤
⎦
⎥
⎥
( ) – –
– /( )
R e
LC
R
L
t
q
q
Rt L
2
2
0
2
cos
1
Utilizando los valores numéricos dados,
ƒ =
( ) ( . ) – .
– .
]
R e R
R
0 005 2
0 05 0 01
cos 2 000 – 0.01
[ (8.20)
Un examen de esta ecuación sugiere que un rango inicial razonable para R es 0 a 400 Ω
(ya que 2000 – 0.01R2
debe ser mayor que cero). La figura 8.5 es una gráfica de la
ecuación (8.20), que confirma lo anterior. Al hacer veintiún iteraciones con el método
de bisección se obtiene una raíz aproximada R = 328.1515 Ω, con un error menor al
0.0001 por ciento.
De esta forma, se especifica un resistor con este valor para el circuito mostrado en
la figura 8.6 y se espera tener una disipación consistente con los requisitos del problema.
Este problema de diseño no se podría resolver eficientemente sin el uso de los métodos
numéricos vistos en los capítulos 5 y 6.
FIGURA 8.4
La carga en un capacitor
como función del tiempo
después de cerrar el
interruptor de la figura 8.3.
q(t)
q0
Tiempo
8.4 ANÁLISIS DE VIBRACIONES (INGENIERÍA MECÁNICA
E INGENIERÍA AERONÁUTICA)
Antecedentes. Las ecuaciones diferenciales sirven para modelar la vibración de sis-
temas en ingeniería. Algunos ejemplos (figura 8.6) son el péndulo simple, una masa
sujeta a un resorte y un circuito eléctrico con un inductor y un capacitor (recuerde la
sección 8.3). La vibración de estos sistemas puede amortiguarse por medio de algún
FIGURA 8.5
Gráfica de la ecuación (8.20) usada para obtener los valores iniciales
de R que contienen a la raíz.
f (R)
R
0.0
– 0.2
– 0.4
– 0.6
200
Raíz  325
400
Péndulo Resorte/masa
Corriente
Circuito LC
FIGURA 8.6
Tres ejemplos de vibraciones armónicas simples. Las flechas dobles indican las vibraciones
en cada sistema.
8.4 ANÁLISIS DE VIBRACIONES 209
210 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
mecanismo que absorba la energía. Además, la vibración puede ser libre o sujeta a algún
disturbio periódico externo. En este último caso, se dice que el movimiento es forzado.
En esta sección se examinará la vibración libre y forzada del automóvil, que se muestra
en la figura 8.7. El tratamiento general es aplicable a muchos otros problemas de inge-
niería.
Como se observa en la figura 8.7, un carro de masa m se soporta por medio de re-
sortes y amortiguadores. Los amortiguadores presentan resistencia al movimiento, que
es proporcional a la velocidad vertical (movimiento ascendente-descendente). La vibra-
ción libre ocurre cuando el automóvil es perturbado de su condición de equilibrio, como
ocurre cuando se pasa por un bache (agujero en el camino). Un instante después de
pasar por el bache, las fuerzas netas que actúan sobre m son la resistencia de los resortes
y la fuerza de los amortiguadores. Tales fuerzas tienden a regresar el carro al estado de
equilibrio original. De acuerdo con la ley de Hooke, la resistencia del resorte es propor-
cional a su constante k y a la distancia de la posición de equilibrio x. Por lo tanto,
Fuerza del resorte = –kx
donde el signo negativo indica que la fuerza de restauración actúa regresando el auto-
móvil a su posición de equilibrio (es decir, la dirección x negativa). La fuerza para un
amortiguador está dada por
Fuerza de amoriguación = –c
dx
dt
donde c es el coeficiente de amortiguamiento y dx/dt es la velocidad vertical. El signo ne-
gativo indica que la fuerza de amortiguamiento actúa en dirección opuesta a la velocidad.
Las ecuaciones de movimiento para el sistema están dadas por la segunda ley de
Newton (F = ma), que en este problema se expresa como
m
Masa
d2
x
aceleración
dt2
×
×
=
= fuerza de amortiguamiento
dx
dt
–c +
+
(–kx)
fuerza del resorte
FIGURA 8.7
Un carro de masa m.
Amortiguador
Resorte
m
–x
+x
o bien
m
d x
dt
c
dx
dt
kx
2
2
0
+ + =
Observe la similitud con la ecuación (8.18) que se desarrolló en la sección 8.3 para un
circuito eléctrico.
Si se supone que la solución toma la forma x(t) = ert
, entonces se escribe la ecuación
característica
mr2
+ cr + k = 0 (8.21)
La incógnita r es la solución de la ecuación característica cuadrática que se puede obte-
ner, ya sea en forma analítica o numérica. En este problema de diseño, primero se utili-
za la solución analítica para ofrecer una idea general de la forma en que el movimiento
del sistema es afectado por los coeficientes del modelo: m, k y c. También se usarán
diferentes métodos numéricos para obtener las soluciones, y se verificará la exactitud
de los resultados con la solución analítica. Por último, sentaremos las bases para proble-
mas más complicados que se describirán más tarde en el texto, donde los resultados
analíticos son difíciles o imposibles de obtener.
La solución de la ecuación (8.21) para r está dada por la fórmula cuadrática
r
r
c c mk
m
1
2
2
4
2
=
±
– –
(8.22)
Note el significado de la magnitud de c al compararla con 2 km . Si c  2 km ,
r1 y r2 son números reales negativos, y la solución es de la forma
x(t) = Aer1t
+ Ber2t
(8.23)
donde A y B son constantes que se deben determinar a partir de las condiciones iniciales
de x y dx/dt. Tales sistemas se denominan sobreamortiguados.
Si c  2 km , las raíces son complejas,
r
r
i
1
2
= ±
λ µ
donde
µ =
⏐ ⏐
2
c mk
m
2
4
–
y la solución es de la forma
x(t) = e–lt
(A cos µt + B sen µt) (8.24)
Tales sistemas se conocen como subamortiguados.
Por último, si c = 2 km , la ecuación característica tiene una raíz doble y la solución
es de la forma
x(t) = (A + Bt)e–lt
(8.25)
8.4 ANÁLISIS DE VIBRACIONES 211
212 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
donde
λ =
c
m
2
A tales sistemas se les llama críticamente amortiguados.
En los tres casos, x(t) se aproxima a cero cuando t tiende al infinito. Esto significa
que el automóvil siempre regresa a la posición de equilibrio después de pasar por un
bache (¡aunque esto parecería poco probable en algunas ciudades que hemos visitado!).
Estos casos se ilustran en la figura 8.8.
El coeficiente de amortiguamiento crítico cc es el valor de c que hace que el radical
de la ecuación (8.22) sea igual a cero,
c km c mp
c c
= =
2 2
o (8.26)
donde
p
k
m
= (8.27)
La relación c/cc se llama factor de amortiguamiento, y a p se le conoce como la frecuen-
cia natural de la vibración libre no amortiguada.
Ahora, consideremos el caso donde el automóvil está sujeto a una fuerza periódica
dada por
P = Pm sen wt o d = dm sen wt
donde dm = Pm/k = la deflexión estática del carro sujeto a una fuerza Pm. La ecuación
diferencial que rige este caso es
m
d x
dt
c
dx
dt
kx P t
m
2
2
+ + = sen ω
La solución general de esta ecuación se obtiene al sumar una solución particular a
la solución por vibración libre, dada por las ecuaciones (8.23), (8.24) y (8.25). Conside-
Amortiguamiento
crítico
Sobreamortiguamiento
x(t)
t
Subamortiguamiento
FIGURA 8.8
Vibraciones a) sobreamor-
tiguadas, b) subamortigua-
das y c) amortiguadas
críticamente.
remos el movimiento en estado estacionario del sistema forzado donde se ha amortigua-
do el movimiento transitorio inicial. Si consideramos que esta solución en estado
estacionario tiene la forma
xss(t) = xm sen (wt – f)
se demuestra que
x
P k
x
d p c c p
m
m
m
m c
/ [ – ( / )] ( / ) ( / )
= =
+
1
1 4
2 2 2
ω ω
(8.28)
La cantidad xm/dm llamada factor de amplificación de la amplitud depende tan sólo de
la razón del amortiguamiento real con el amortiguamiento crítico, y de la razón de la
frecuencia forzada con la frecuencia natural. Observe que cuando la frecuencia forzada
w se aproxima a cero, el factor de amplificación se aproxima a 1. Si, además, el sistema
es ligeramente amortiguado, es decir, si c/cc es pequeño, entonces el factor de amplifica-
ción se hace grande cuando w es cercano a p. Si el amortiguamiento es cero, entonces el
factor de amplificación tiende a infinito cuando w = p, y se dice que la función de fuerza
entra en resonancia con el sistema. Por último, conforme w/p se vuelve muy grande, el
factor de amplificación se aproxima a cero. La figura 8.9 muestra una gráfica del factor
de amplificación como una función de w/p para diversos factores de amortiguamiento.
Observe que el factor de amplificación se conserva pequeño al seleccionar un factor
de amortiguamiento grande, o manteniendo muy distantes las frecuencias natural y
forzada.
El diseño del sistema de suspensión del automóvil comprende una solución interme-
dia entre comodidad y estabilidad para todas las condiciones de manejo y velocidad. Se
pide determinar la estabilidad del carro para cierto diseño propuesto que ofrezca como-
didad sobre caminos irregulares. Si la masa del carro es m = 1.2 × 106
gramos y tiene un
sistema de amortiguadores con un coeficiente de amortiguamiento c = 1 × 107
g/s.
Suponga que la expectativa del público en cuanto a la comodidad se satisface si la
vibración libre del automóvil es subamortiguada y el primer cruce por la posición de
equilibrio tiene lugar en 0.05 s. Si en t = 0, el carro súbitamente se desplaza una distan-
FIGURA 8.9
Gráfica del factor de
amplificación de la
amplitud xm/xd [ecuación
(8.28)] contra la frecuencia
w entre la frecuencia
natural p para diversos
valores del coeficiente
de amortiguamiento c
entre el coeficiente de
amortiguamiento crítico cc.
c/cc = 0
0.125
0.25
0.5
1
6
4
2
0
0 1 2
x
m
/x
d
␻/p
8.4 ANÁLISIS DE VIBRACIONES 213
214 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
cia x0, desde el equilibrio, y la velocidad es cero (dx/dt = 0), la solución de la ecuación
de movimiento está dada por la ecuación (8.24), con A = x0 y B = x0l/m. Por lo tanto,
x t x e t t
t
( ) –
= +
⎛
⎝
⎜
⎞
⎠
⎟
0
λ
µ
λ
µ
µ
cos sen
Nuestras condiciones de diseño se satisfacen si
x t
( ) )
= = +
0 cos (0.05 sen (0.05 )
µ
λ
µ
µ
o bien
0 0 05
4 4
0 05
4
2
2 2
2
2
=
⎛
⎝
⎜
⎞
⎠
⎟ +
⎛
⎝
⎜
⎞
⎠
⎟
cos sen
. –
–
. –
k
m
c
m
c
km c
k
m
c
m
(8.29)
Dado que se conocen c y m, el problema de diseño consiste ahora en encontrar valores
apropiados de k que satisfagan la ecuación (8.29).
Solución. Se pueden utilizar los métodos de la bisección, de la falsa posición o de la
secante, ya que esos métodos no requieren la evaluación de la derivada de la ecuación
(8.29), la cual podría resultar algo difícil de calcular en este problema. La solución es
k = 1.397 × 109
, con 12 iteraciones, utilizando el método de bisección con un intervalo
inicial que va de k = 1 × 109
a 2 × 109
(ea = 0.07305%).
Aunque este diseño satisface los requerimientos de vibración libre (después de caer
en un bache), también debe probarse bajo las condiciones de un camino accidentado. La
superficie del camino se puede aproximar como
d d
x
D
m
= ⎛
⎝
⎞
⎠
sen
2π
donde d es la deflexión, dm es la máxima deflexión de 0.1 m y D es la distancia entre los
picos que es igual a 20 m. Si v es la velocidad horizontal del automóvil (m/s), entonces
la ecuación de movimiento del sistema se escribe como
m
d x
dt
c
dx
dt
kx kd
D
t
m
2
2
+ + = ⎛
⎝
⎞
⎠
sen
2πv
donde w = 2pv/D es la frecuencia forzada.
La estabilidad del carro se considera satisfactoria si en estado estacionario la máxi-
ma distancia xm es inferior a 0.2 m para todas la velocidades de manejo. El factor de
amortiguamiento se calcula de acuerdo con la ecuación (8.26)
c
c km
c
= =
×
× ×
=
10
2
1 10
2 1 397 10 1 2 10
0 1221
7
9 6
. ( . )
.
Ahora, se buscan valores w/p que satisfagan la ecuación (8.28),
2
1
1 4 0 1221
2 2 2 2
=
+
[ – ( / ) ] ( . ) ( / )
ω ω
p p
(8.30)
Si la ecuación (8.30) se expresa como un problema de raíces
ƒ = + =
( / ) [ – ( / ) ] ( . ) ( / ) –
ω ω ω
p p p
2 1 4 0 1221 1 0
2 2 2 2
(8.31)
Vea que los valores w/p se determinan al encontrar las raíces de la ecuación (8.31).
Una gráfica de la ecuación (8.31) se presenta en la figura 8.10. En ésta se muestra
que la ecuación (8.31) tiene dos raíces positivas que se pueden determinar con el méto-
do de bisección, usando el software TOOLKIT. El valor más pequeño para w/p es igual
a 0.7300 en 18 iteraciones, con un error estimado de 0.000525% y con valores iniciales
superior e inferior de 0 y 1. El valor mayor que se encuentra para w/p es de 1.1864 en
17 iteraciones, con un error estimado de 0.00064% y con valores iniciales superior e
inferior de 1 y 2.
También es posible expresar la ecuación (8.30) como un polinomio:
ω ω
p p
⎛
⎝
⎜
⎞
⎠
⎟
⎛
⎝
⎜
⎞
⎠
⎟ +
4 2
1 9404 0 75
– . . (8.32)
y usar MATLAB para determinar las raíces como sigue:
 a=[l 0 -1.9404 0 .75];
 roots (a)
ans =
1.1864
-1.1864
0.7300
-0.7300
Lo cual confirma el resultado obtenido con el método de bisección. Esto también sugie-
re que, aunque la ecuación (8.32) es una ecuación de cuarto grado en w/p, también es
una ecuación cuadrática en (w/p)2
.
El valor de la frecuencia natural p está dado por la ecuación (8.27),
p =
×
×
=
1 397 10
1 2 10
34 12
9
6
.
.
. s–1
Las frecuencias forzadas, para las que la máxima deflexión es 0.2 m, entonces se calcu-
lan como
w = 0.7300(34.12) = 24.91 s–1
w = 1.1864(34.12) = 40.48 s–1
8.4 ANÁLISIS DE VIBRACIONES 215
216 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
con lo cual se obtiene
v
v
= = = × =
= = = × =
ω
π
ω
π
D
D
2
24 91 20
2 3 14159
79 29
3 600
285
2
40 48 20
2 3 14159
128 85
3 600
464
. ( )
( . )
.
. ( )
( . )
.
m
s
s
hr
km
1 000 m
km/hr (= 177 mi / hr)
m
s
s
hr
km
1 000 m
km/hr (= 288 mi / hr)
Así, con los resultados anteriores y la figura 8.10, se determina que el diseño del
carro propuesto se comportará de forma aceptable para velocidades de manejo aceptables.
Es decir, el diseñador debe estar consciente de que el diseño podría no cumplir los re-
querimientos cuando el automóvil viaje a velocidades extremadamente altas (por ejem-
plo, en carreras).
Este problema de diseño ha presentado un ejemplo extremadamente simple, pero
que nos ha permitido obtener algunos resultados analíticos que se utilizaron para evaluar
la exactitud de nuestros métodos numéricos para encontrar raíces. Los casos reales
pueden volverse tan complicados que sólo se obtendrían las soluciones a éstos emplean-
do métodos numéricos.
6
4
2
0
1 2
f
(␻/p)
␻/p
–2
FIGURA 8.10
Gráfica de la ecuación
(8.31) que indica dos raíces
positivas.
PROBLEMAS
Ingeniería química/Ingeniería bioquímica
8.1 Realice el mismo cálculo que en la sección 8.1, pero ahora
con alcohol etílico (a = 12.02 y b = 0.08407) a una temperatura
de 400 K y una presión P de 2.5 atm. Compare los resultados con
la ley de los gases ideales. Si es posible, utilice el software de su
computadora para determinar el volumen molar. Si no, use cual-
quiera de los métodos numéricos analizados en los capítulos 5 y
6, y realice los cálculos. Justifique la elección de la técnica.
8.2 En ingeniería química, los reactores de flujo tipo tapón (es
decir, aquellos en que el fluido va de un extremo al otro con una
mezcla mínima a lo largo del eje longitudinal) se usan para
convertir reactantes en productos. Se ha determinado que la
PROBLEMAS 217
eficiencia de la conversión algunas veces se mejora recirculando
una porción de la corriente del producto, de tal forma que regre-
se a la entrada para un paso adicional a través del reactor (figura
P8.2). La razón de recirculando se define como
R =
volumen de fluido que regresa a la entrada
volumen que sale del sistema
Suponga que se está procesando una sustancia química A para
generar un producto B. Para el caso en que A forma a B de acuerdo
con una reacción autocatalítica (es decir, en la cual uno de los
productos actúa como catalizador o estimulante en la reacción),
es posible demostrar que una razón óptima de recirculación
debe satisfacer
ln
( – )
( – ) [ ( – )]
1 1
1
1
1 1
+
=
+
+
ƒ
ƒ ƒ
R X
R X
R
R R X
A
A A
donde XAƒ es la fracción del reactante A que se convierte en el
producto B. La razón óptima de recirculación corresponde a
un reactor de tamaño mínimo necesario para alcanzar el nivel
deseado de conversión. Utilice un método numérico para deter-
minar la razón de recirculación necesaria, de manera que se
minimice el tamaño del reactor para una conversión fraccional
de XAƒ = 0.95.
8.3 En un proceso de ingeniería química el vapor de agua (H2O)
se calienta a temperaturas lo suficientemente altas para que una
porción significativa del agua se disocie, o se rompa, para formar
oxígeno (O2) e hidrógeno (H2):
H2O 
 H2 + 1
2 O2
Si se asume que ésta es la única reacción que se lleva a cabo, la
fracción molar x de H2O que se disocia se representa por
K
x
x
p
x
t
=
+
1
2
2
–
(P8.3)
donde K = la constante de equilibrio de la reacción y pt = la
presión total de la mezcla. Si pt = 3.5 atm y k = 0.04, determine
el valor de x que satisfaga la ecuación (P8.3).
8.4 La siguiente ecuación permite calcular la concentración de
un químico en un reactor donde se tiene una mezcla completa:
c = cent(1 – e–0.04t
) + c0e–0.04t
Si la concentración inicial es c0 = 5 y la concentración de entra-
da es cent = 12, calcule el tiempo requerido para que c sea el 85%
de cent.
8.5 Una reacción química reversible
2A + B 
 C
se caracteriza por la relación de equilibrio
K
c
c c
c
a b
= 2
donde la nomenclatura cn representa la concentración del com-
ponente N. Suponga que se define una variable x que representa
el número de moles de C producido. La conservación de la masa
se utiliza para reformular la relación de equilibrio como
K
c x
c x c x
c
a b
=
+
( )
( – ) ( – )
,
, ,
0
0
2
0
2
donde el subíndice 0 indica la concentración inicial de cada com-
ponente. Si K = 0.016, ca, 0 = 42, cb, 0 = 28 y cc, 0 = 4, calcule x.
8.6 Las siguientes reacciones químicas se llevan a cabo en un
sistema cerrado
2A + B 
 C
A + D 
 C
En equilibrio, éstas pueden caracterizarse por
K
c
c c
K
c
c c
c
a b
c
a d
1 2
2
=
=
donde la nomenclatura cn representa la concentración del com-
ponente N. Si x1 y x2 son el número de moles de C que se produ-
cen debido a la primera y segunda reacciones, respectivamente,
emplee un método similar al del problema 8.5 para reformular las
relaciones de equilibrio en términos de las concentraciones ini-
ciales de los componentes. Después, use el método de Newton-
Raphson para resolver el par de ecuaciones simultáneas no
lineales para x1 y x2 si K1 = 4 × 10–4
, K2 = 3.7 × 10–2
, ca,0 = 50,
Figura P8.2
Representación esquemática de un reactor de flujo tipo
tapón con recirculación.
Reactor de flujo
tipo tapón
Reciclaje
Alimentación Producto
218 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
cb,0 = 20, cc,0 = 5 y cd,0 = 10. Utilice un método gráfico para pro-
poner los valores iniciales.
8.7 La ecuación de estado de Redlich-Kwong está dada por
p
RT
b
a
b T
=
+
v v v
–
–
( )
donde R = la constante universal de los gases [= 0.518 kJ/(kg
K)], T = temperatura absoluta (K), p = presión absoluta (kPa) y
v = volumen de un kg de gas (m3
/kg). Los parámetros a y b se
calculan mediante
a
R T
p
b R
T
p
c
c
c
c
= =
0 427 0 0866
2 2 5
. .
.
donde pc = 4580 kPa y Tc = 191 K. Como ingeniero químico, se
le pide determinar la cantidad de combustible metano que se
puede almacenar en un tanque de 3 m3
a una temperatura de
–50°C con una presión de 65000 kPa. Emplee el método de lo-
calización de raíces de su elección para calcular v y luego deter-
mine la masa de metano contenida en el tanque.
8.8 El volumen V de un líquido contenido en un tanque horizon-
tal cilíndrico de radio r y longitud L está relacionado con la
profundidad del líquido h por
V r
r h
r
r h rh h L
=
⎛
⎝
⎞
⎠
⎡
⎣
⎢
⎤
⎦
⎥
2 2
2
cos–1 –
– ( – –
Determine h para r = 2 m, L = 5 m y V = 8.5 m3
. Observe que si
usted utiliza un lenguaje de programación o herramienta de
software, el arco coseno se puede calcular como
cos tan
–1 –1
x
x
x
=
⎛
⎝
⎜
⎞
⎠
⎟
π
2 1 2
–
–
8.9 El volumen V del líquido contenido en un tanque esférico
de radio r está relacionado con la profundidad h del líquido por
V
k r h
=
π 2
3
3
( – )
Determine h para r = 1 m y V = 0.75 m3
.
8.10 Para el tanque esférico del problema 8.9, es posible desa-
rrollar las siguientes fórmulas para el método de punto fijo:
h
h V
r
=
+
3
3
3
( / )
π
y
h rh
V
=
⎛
⎝
⎞
⎠
3 2
3
–
π
Si r = 1 m y V = 0.75 m3
, determine si cualquiera de las dos al-
turas es estable, y el rango de valores iniciales para los que sí son
estables.
8.11 La ecuación de Ergun, que se da abajo, sirve para describir
el flujo de un líquido a través de un lecho empacado. ∆P es la
caída de presión, r es la densidad del fluido, GO es la velocidad
másica (el cociente del flujo de masa dividido entre el área de la
sección transversal), Dp es el diámetro de las partículas dentro
del lecho, µ es la viscocidad del fluido, L es la longitud del lecho
y e es la fracción vacía del lecho.
∆p
G
D
L D G
o
p
p o
ρ ε
ε
ε
µ
2
3
1
150
1
1 75
( – )
( – )
.
=
⎛
⎝
⎜
⎞
⎠
⎟
+
Dados los siguientes valores para los parámetros encuentre la
fracción vacía e del lecho.
D G
P D
G L
p o
p
o
µ
ρ
=
=
1000
10
2
∆
8.12 En una sección de tubo, la caída de presión se calcula así:
∆ =
p f
L V
D
ρ 2
2
donde ∆p = caída de presión (Pa), f = factor de fricción, L =
longitud del tubo [m], r = densidad (kg/m3
), V = velocidad (m/s),
y D = diámetro (m). Para el flujo turbulento, la ecuación de
Colebrook proporciona un medio para calcular el factor de fric-
ción,
1
2 0
3 7
2 51
f D f
= − +
⎛
⎝
⎜
⎞
⎠
⎟
. log
.
.
Re
ε
donde e = rugosidad (m), y Re = número de Reynolds,
Re =
ρ
µ
VD
donde m = viscosidad dinámica (N · s/m2
).
a) Determine ∆p para un tramo horizontal de tubo liso de
0.2m de longitud, dadas r = 1.23 kg/m3
, m = 1.79 × 10–5
N · s/m2
, D = 0.005 m, V = 40 m/s, y e = 0.0015 mm. Utilice
un método numérico para determinar el factor de fricción.
Obsérvese que los tubos lisos tienen Re  105
, un valor
inicial apropiado se obtiene con el uso de la fórmula de
Blasius, f = 0.316/Re0.25
.
b) Repita el cálculo pero para un tubo de acero comercial más
rugoso (e = 0.045 mm).
8.13 El pH del agua tiene gran importancia para los ingenieros
ambientales y químicos. Se relaciona con procesos que van de
la corrosión de tubos de lluvia ácida. El pH se relaciona con la
concentración del ion de hidrógeno por medio de la ecuación
siguiente:
pH = – log10 [H+
]
PROBLEMAS 219
Las cinco ecuaciones que siguen gobiernan las concentraciones
de una mezcla de dióxido de carbono y agua para un sistema
cerrado.
K
K
K
1
3
2
2
3
2
=
=
=
+ −
+ −
[ ][ ]
[ ]
[ ][ ]
[ ]
H HCO
CO
H CO
HCO3
–
w [
[ ][ ]
[ ] [ ] [ ]
[
H OH
CO HCO CO
Alk HCO
3
–
3
+ −
−
= + +
=
cT 2 3
2
–
–
CO OH H
] [ ] [ ] [ ]
–
+ + −
− +
2 3
2
donde Alk = alcalinidad, cT = total de carbón inorgánico, y las K
son coeficientes de equilibrio. Las cinco incógnitas son [CO2] =
dióxido de carbono, [HCO3
–
] = bicarbonato, [CO3
2–
] = carbonato,
[H+
] = ion hidrógeno, y [OH–
] = ion hidroxilo. Resuelva para las
cinco incógnitas dado que Alk = 2 × 10–3
, cT = 3 × 10–3
, K1 =
10–6.3
, y K2 = 10–10.3
, y Kw = 10–14
. Asimismo, calcule el pH de
las soluciones.
8.14 La ecuación que se presenta a continuación, describe la
operación de un reactor de flujo por inyección de densidad cons-
tante para la producción de una sustancia por medio de una re-
acción enzimática, donde V es el volumen del reactor, F es la tasa
de flujo del reactivo C, Cent y Csal son las concentraciones del
reactivo que entra y sale del reactor, respectivamente, y K y kmáx
son constantes. Para un reactor de 500 L, con una concentración
en la toma de Cent = 0.5 M, tasa de entrada de flujo de 40 L/s,
kmáx = 5 × 10–3
s–1
, y K = 0.1 M, encuentre la concentración de C
a la salida del reactor.
V
F
K
k C k
dC
C
C
= +
∫
–
ent
sal
máx máx
1
Ingeniería civil y ambiental
8.15 El desplazamiento de una estructura está definido por la
ecuación siguiente para una oscilación amortiguada:
y = 9e–kt
cos wt
donde k = 0.7 y w = 4.
a) Utilice el método gráfico para realizar una estimación ini-
cial del tiempo que se requiere para que el desplazamiento
disminuya a 3.5.
b) Emplee el método de Newton-Raphson para determinar la
raíz con es = 0.01%.
c) Use el método de la secante para determinar la raíz con es
= 0.01%.
8.16 En ingeniería estructural, la fórmula de la secante define la
fuerza por unidad de área, P/A, que ocasiona la tensión máxima
sm en una columna que tiene una razón de esbeltez L/k dada
es:
P
A ec k P EA L k
m
=
+
σ
1 0 5
2
( / ) [ . /( )
sec ( / )]
donde ec/k2
= razón de excentricidad, y E = módulo de elastici-
dad. Si para una viga de acero, E = 200000 MPa, ec/k2
= 0.4 y
sm = 250 MPa, calcule P/A para L/k = 50. Recuerde que sec x =
1/cos x.
8.17 Un cable en forma catenaria es aquel que cuelga entre dos
puntos que no se encuentran sobre la misma línea vertical. Como
se ilustra en la figura P8.17a, no está sujeta a más carga que su
propio peso. Así, su peso (N/m) actúa como una carga uniforme
por unidad de longitud a lo largo del cable. En la figura P8.17b,
se ilustra un diagrama de cuerpo libre de una sección AB, donde
y
B
A
TA
W = ws
w y0
x
a) b)
TB
␪
Figura P8.17
a) Fuerzas que actúan sobre
una sección AB de un cable
flexible que cuelga. La
carga es uniforme a lo largo
del cable (pero no uniforme
por la distancia horizontal
x). b) Diagrama de cuerpo
libre de la sección AB.
220 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
TA y TB son las fuerzas de tensión en el extremo. Con base en los
balances de fuerzas horizontal y vertical, se obtiene para el cable
el siguiente modelo de ecuación diferencial:
d y
dx T
dy
dx
A
2
2
2
1
= +
⎛
⎝
⎞
⎠
w
Puede emplearse el cálculo para resolver esta ecuación para la
altura y del cable como función de la distancia x.
y
T
T
x y
T
A
A
A
=
⎛
⎝
⎜
⎞
⎠
⎟ + −
w
w
w
cosh 0
donde el coseno hiperbólico se calcula por medio de la ecua-
ción:
cosh ( )
–
x e e
x x
= +
1
2
Utilice un método para calcular un valor para el parámetro TA
dados los valores de los parámetros w = 12 y y0 = 6, de modo
que el cable tenga una altura de y = 15 en x = 50.
8.18 En la figura P8.18a se muestra una viga uniforme sujeta a
una carga distribuida uniformemente que crece en forma lineal.
La ecuación para la curva elástica resultante es la siguiente
(véase la figura P8.18b)
y
EIL
x L x L x
= − + −
w0 5 2 3 4
120
2
( ) (P8.18)
Utilice el método de la bisección para determinar el punto de
máxima deflexión (es decir, el valor de x donde dy/dx = 0). Des-
pués, sustituya este valor en la ecuación (P8.18) a fin de deter-
minar el valor de la deflexión máxima. En sus cálculos, utilice
los valores siguientes para los parámetros: L = 600 cm, E = 50000
kN/cm2
, I = 30000 cm4
y w0 = 2.5 kN/cm.
8.19 En la ingeniería ambiental (una especialidad de la ingenie-
ría civil), la ecuación siguiente se emplea para calcular el nivel
de oxígeno c (mg/L) en un río aguas abajo de la descarga de un
drenaje:
c = 10 – 20(e–0.15x
– e–0.5x
)
donde x es la distancia aguas abajo en kilómetros.
a) Determine la distancia aguas abajo de la corriente, a la cual
el nivel de oxígeno cae hasta una lectura de 5 mg/L. (Reco-
mendación: está dentro de 2 km de la descarga.) Encuentre
la respuesta con un error de 1%. Obsérvese que los niveles
de oxígeno por debajo de 5 mg/Lpor lo general son dañinos
para ciertas especies de pesca deportiva, como la trucha y
el salmón.
b) Calcule la distancia aguas abajo a la cual el oxígeno se
encuentra al mínimo. ¿Cuál es la concentración en dicha
ubicación?
8.20 La concentración de bacterias contaminantes c en un lago
disminuye de acuerdo con la ecuación
c = 75e–1.5t
+ 20e–0.075t
Determine el tiempo que se requiere para que la concentración
de bacterias se reduzca a 15 con el uso de a) el método gráfico, y
b) el método de Newton-Raphson, con un valor inicial de t = 6
y criterio de detención de 0.5%. Compruebe los resultados que
obtenga.
8.21 En ingeniería oceanográfica, la ecuación de una ola esta-
cionaria reflejada en un puerto está dada por l = 16, t = 12,
v = 48:
h h
x t
e x
=
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
+
⎡
⎣
⎢
⎤
⎦
⎥
−
0 sen
2
cos
2
π
λ
π
λ
v
Resuelva para el valor positivo más bajo de x, si h = 0.5 h0.
8.22 Suponga el lector que compra una pieza de equipo en
$25000 como pago inicial y $5500 por año durante 6 años. ¿Qué
tasa de interés estaría pagando? La fórmula que relaciona el
valor presente P, los pagos anuales A, el número de años n y la
tasa de interés i, es la que sigue:
A P
i i
i
n
n
=
+
+ −
( )
( )
1
1 1
w0
L
a)
(x = 0, y = 0)
(x = L, y = 0)
x
b)
Figura P8.18
PROBLEMAS 221
8.23 Muchos campos de la ingeniería requieren estimaciones
exactas de la población. Por ejemplo, los ingenieros de transpor-
te quizás encuentren necesario determinar por separado la ten-
dencia del crecimiento de una ciudad y la de los suburbios. La
población del área urbana declina con el tiempo de acuerdo con
la ecuación:
Pu(t) = Pu,máxe–kut
+ Pu,mín
en tanto que la población suburbana crece según:
p t
P
P P e
s
s
s
k t
s
( )
[ / ]
,
,
=
+ − −
máx
máx
1 1
0
donde Pu,máx, ku, Ps,máx, P0 y ks son parámetros que se obtienen en
forma empírica. Determine el tiempo y los valores correspondien-
tes de Pu(t) y Ps(t) cuando los suburbios son 20% más grandes
que la ciudad. Los valores de los parámetros son: Pu,máx = 75000,
Ku = 0.045/año, Pu,mín = 100000 personas, Ps,máx = 300000 per-
sonas, P0 = 10000 personas, ks = 0.08/año. Para obtener las so-
luciones utilice los métodos a) gráfico, b) de la falsa posición, y
c) de la secante modificada.
8.24 En la figura P8.24 se muestra una viga apoyada en forma
sencilla que está cargada como se ilustra. Con el empleo de
funciones de singularidad, el esfuerzo cortante a lo largo de la
viga se expresa con la ecuación:
V(x) = 20[〈x – 0〉1
– 〈x – 5〉1
] – 15〈x – 8〉0
– 57
Por definición, la función de singularidad se expresa del modo
que sigue:
〈 〉 =
−
⎧
⎨
⎩

≤
⎫
⎬
⎭
x a
x a x a
x a
n
n
–
( )
0
cuando
cuando
Utilice un método numérico para encontrar el(los) punto(s) en
los que el esfuerzo cortante sea igual a cero.
8.25 Con el uso de la viga apoyada en forma simple del proble-
ma 8.24, el momento a lo largo de ella, M (x) está dada por:
M(x) = –10[〈x – 0〉2
– 〈x – 5〉2
] + 15〈x – 8〉1
+ 150〈x – 7〉0
+ 57x
Emplee un método numérico para encontrar el (los) punto(s) en
los que el momento es igual a cero.
8.26 Con el uso de la viga con apoyo simple del problema 8.24,
la pendiente a lo largo de ella está dada por:
du
dx
x x x x
x x
y
( ) [ ]
.
=
−
〈 − 〉 − 〈 − 〉 + 〈 − 〉
+ 〈 − 〉 + −
10
3
0 5
15
2
8
150 7
57
2
238 25
3 3 2
1 2
Utilice un método numérico para encontrar el(los) punto(s)
donde la pendiente es igual a cero.
8.27 Para la viga con apoyo simple del problema 8.24, el des-
plazamiento a lo largo de ella está dado por la ecuación:
u x x x x
x
y ( ) [ ]
=
−
〈 − 〉 − 〈 − 〉 + 〈 − 〉
+ 〈 − 〉
5
6
0 5
15
6
8
75 7
4 4 3
2
+
+ −
57
6
238 25
3
x x
.
a) Calcule el (los) punto(s) donde el desplazamiento es igual
a cero.
b) ¿Cómo se usaría una técnica de localización de raíces para
determinar la ubicación del desplazamiento mínimo?
Ingeniería eléctrica
8.28 Ejecute el mismo cálculo que en la sección 8.3, pero deter-
mine el valor de C que se requiere para que el circuito disipe 1%
de su valor original en t = 0.05 s, dado R = 280 Ω, y L = 7.5H.
Emplee a) un enfoque gráfico, b) la bisección, y c) software para
encontrar raíces, tales como Solver de Excel o la función fzero
de MATLAB.
8.29 La ecuación i = 9e–t
cos (2pt), describe una corriente osci-
latoria en un circuito eléctrico, donde t se expresa en segundos.
Determine todos los valores de t de modo que i = 3.
20 kips/ft
150 kips-ft
15 kips
5’ 2’ 1’ 2’
Figura P8.24
222 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
8.30 La resistividad r de un lubricante de sílice se basa en la
carga q en un electrón, la densidad del electrón n, y la movilidad
del electrón m. La densidad del electrón está dada en términos de
la densidad del lubricante N, y la densidad intrínseca de acarreo
ni. La movilidad del electrón está descrita por la temperatura T,
la temperatura de referencia T0, y la movilidad de referencia µ0.
Las ecuaciones que se requieren para calcular la resistividad son
las siguientes:
ρ
µ
=
1
qn
donde
n N N n
T
T
i
= + +
( ) =
⎛
⎝
⎜
⎞
⎠
⎟
−
1
2
4
2 2
0
0
2 42
y µ µ
.
Determine N, dado que T0 = 300 K, T = 1000 K, µ0 = 1350 cm2
(V s)–1
, q = 1.7 × 10–19
C, ni = 6.21 × 109
cm–3
, y un valor desea-
ble de r = 6.5 × 106
V s cm/C. Use los métodos a) bisección, y
b) la secante modificada.
8.31 Una carga total Q se encuentra distribuida en forma uni-
forme alrededor de un conductor en forma de anillo con radio a.
Una carga q se localiza a una distancia x del centro del anillo
(véase la figura P8.31). La fuerza que el anillo ejerce sobre la
carga está dada por la ecuación
F
e
qQx
x a
=
+
1
4 0
2 2 3 2
π ( ) /
donde e0 = 8.85 × 10–12
C2
/(N m2
). Encuentre la distancia
x donde la fuerza es de 1.25 N, si q y Q son 2 × 10–5
C para un
anillo con un radio de 0.9 m.
8.32 En la figura P8.32 se muestra un circuito con una resisten-
cia, un inductor y un capacitor en paralelo. Para expresar la
impedancia del sistema se emplean las leyes de Kirchhoff, así:
1 1 1
2
2
Z R
C
L
= +
⎛
⎝
⎞
⎠
ω
ω
–
donde Z = impedancia (Ω) y w = frecuencia angular. Encuentre
la w que da como resultado una impedancia de 75 Ω, con el uso
tanto del método de la bisección como el de la falsa posición,
con valores iniciales de 1 y 1000 y los parámetros siguientes: R
= 225 Ω, C = 0.6 × 10–6
F, y L = 0.5 H. Determine cuántas itera-
ciones son necesarias con cada técnica a fin de encontrar la
respuesta con es = 0.1%. Utilice el enfoque gráfico para explicar
cualesquiera dificultades que surjan.
Ingeniería mecánica y aeroespacial
8.33 Para la circulación de fluidos en tubos, se describe a la
fricción por medio de un número adimensional, que es el factor
de fricción de Fanning f. El factor de fricción de Fanning depen-
de de cierto número de parámetros relacionados con el tamaño
del tubo y el fluido, que pueden representarse con otra cantidad
adimensional, el número de Reynolds Re. Una fórmula que pro-
nostica el valor de f dado Re es la ecuación de von Karman.
1
4 0 4
ƒ
= ƒ
( )−
log10 Re .
Valores comunes del número de Reynolds para flujo turbulento
son 10000 a 500000, y del factor de fricción de Fanning son
0.001 a 0.01. Desarrolle una función que utilice el método de
bisección con objeto de resolver cuál sería el factor de fricción
de Fanning f, dado un valor de Re proporcionado por el usuario
que esté entre 2500 y 1000000. Diseñe la función de modo que
se garantice que el error absoluto en el resultado sea de Ea,d 
0.000005.
8.34 Los sistemas mecánicos reales involucran la deflexión de
resortes no lineales. En la figura P8.34 se ilustra una masa m que
se libera por una distancia h sobre un resorte no lineal. La fuerza
de resistencia F del resorte está dada por la ecuación
x
a
Q
q
Figura P8.31
Figura P8.32
R L C
ⵑ
Figura P8.34
h
a) b)
d
h + d
PROBLEMAS 223
F = –(k1d + k2d3/2
)
Es posible usar la conservación de la energía para demostrar
que
0
2
5
1
2
2
5 2
1
2
= + −
k d
k d mgd mgh
/
–
Resuelva cuál sería el valor de d, dados los valores siguientes de
los parámetros: k1 = 50000 g/s2
, k2 = 40 g/(s2
m0.5
), m = 90 g,
g = 9.81 m/s2
, y h = 0.45 m.
8.35 Los ingenieros mecánicos, así como los de otras especiali-
dades, utilizan mucho la termodinámica para realizar su trabajo.
El siguiente polinomio se emplea para relacionar el calor espe-
cífico a presión cero del aire seco, cp kJ/(kg K), a temperatura
(K):
cp = 0.99403 + 1.671 × 10–4
T + 9.7215 × 10–8
T2
–9.5838 × 10–11
T3
+ 1.9520 × 10–14
T4
Determine la temperatura que corresponda a un calor específico
de 1.1 kJ/(kg K).
8.36 En ciertas ocasiones, los ingenieros aerospaciales deben
calcular las trayectorias de proyectiles, como cohetes. Un pro-
blema parecido tiene que ver con la trayectoria de una pelota que
se lanza. Dicha trayectoria está definida por las coordenadas (x,
y), como se ilustra en la figura P8.36. La trayectoria se modela
con la ecuación
y x
g
x
= − +
( ) .
tan
cos2
θ
θ
0
0
2
0
2
2
1 8
v
Calcule el ángulo inicial q0, apropiado si la velocidad inicial
v0 = 20 m/s y la distancia x al catcher es de 35 m. Obsérvese que
la pelota sale de la mano del lanzador con una elevación y0 = 2m,
y el catcher la recibe a 1 m. Exprese el resultado final en grados.
Para g, utilice un valor de 9.81 m/s2
, y emplee el método gráfico
para elegir valores iniciales.
8.37 La velocidad vertical de un cohete se calcula con la fórmu-
la que sigue:
v =
−
−
u
m
m qt
gt
ln 0
0
donde v = velocidad vertical, u = velocidad con la que se expele
el combustible, en relación con el cohete, m0 = masa inicial del
cohete en el momento t = 0, q = tasa de consumo de combustible,
y g = aceleración de la gravedad hacia abajo (se supone constan-
te e igual a 9.81 m/s2
). Si u = 2000 m/s, m0 = 150000 kg, y q =
2700 kg/s, calcule el momento en que v = a 750 m/s. (Sugeren-
cia: El valor de t se encuentra entre 10 y 50 s.) Calcule el resul-
tado de modo que esté dentro de 1% del valor verdadero.
Compruebe su respuesta.
8.38 En la sección 8.4, el ángulo de fase f entre la vibración
forzada que ocasiona el camino rugoso y el movimiento del carro,
está dada por la ecuación:
tan
( / )( / )
– ( / )
φ
ω
ω
=
2
1 2
c c p
p
c
Como ingeniero mecánico, le gustaría saber si existen casos en
que f = w/3 – 1. Utilice los otros parámetros de la sección con
objeto de plantear la ecuación como un problema de cálculo de
raíces, y resuélvala para w.
8.39 Se mezclan dos fluidos con temperatura diferente de modo
que alcanzan la misma temperatura. La capacidad calorífica del
fluido A está dada por:
cp = 3.381 + 1.804 × 10–2
T – 4.300 × 10–6
T2
y la capacidad calorífica del fluido B se obtiene con:
cp = 8.592 + 1.290 × 10–1
T – 4.078 × 10–5
T2
donde cp se expresa en unidades de cal/mol K, y T está en uni-
dades de K. Obsérvese que
∆H c dT
T
T
p
= ∫ 1
2
El fluido A entra al mezclador a 400ºC, y el B a 700ºC. Al entrar
al mezclador hay lo doble de fluido A que B. ¿A qué temperatu-
ra salen los dos fluidos del mezclador?
8.40 Un compresor opera a una razón de compresión Rc de 3.0
(esto significa que la presión del gas en la salida es tres veces
mayor que en la entrada). Los requerimientos de energía del
compresor Hp se determinan por medio de la ecuación que se da
a continuación. Suponga que los requerimientos de energía del
compresor son exactamente iguales a zRT1/MW, y encuentre la
eficiencia politrópica n del compresor. El parámetro z es la com-
presibilidad del gas en las condiciones de operación del compre-
Figura P8.36
␪0
v0
y
x
224 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
sor, R es la constante de los gases, T1 es la temperatura del gas
en la entrada del compresor, y MW es el peso molecular del
gas.
HP
MW
=
−
−
( )
−
zRT n
n
Rc
n n
1 1
1
1
( )/
8.41 En los envases térmicos que se ilustran en la figura P8.41,
el compartimiento interior está separado del medio por medio de
vacío. Hay una cubierta exterior alrededor de los envases. Esta
cubierta está separada de la capa media por una capa delgada de
aire. La superficie de afuera de la cubierta exterior está en con-
tacto con el aire del ambiente. La transferencia de calor del
compartimiento interior a la capa siguiente q1 sólo ocurre por
radiación (ya que el espacio se encuentra vacío). La transferencia
de calor entre la capa media y la cubierta exterior q2 es por con-
vección en un espacio pequeño. La transferencia de calor de la
cubierta exterior hacia el aire q3 sucede por convección natural.
El flujo de calor desde cada región de los envases debe ser
igual, es decir, q1 = q2 = q3. Encuentre las temperaturas T1 y T2
en estado estable. T0 es de 450ºC y T3 = 25ºC.
q T T
q T T
q T T
1
9
0
4
1
4
2 1 2
3 2 3
4 3
10 273 273
4
1 3
= + − +
= −
= −
−
[( ) ( ) ]
( )
. ( ) /
8.42 La forma general para un campo tensorial de tres dimen-
siones es la siguiente:
σ σ σ
σ σ σ
σ σ σ
xx xy xz
xy yy yz
xz yz zz
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
en la que los términos en la diagonal principal representan es-
fuerzos a la tensión o a la compresión, y los términos fuera de la
diagonal representan los esfuerzos cortantes. Un campo tensorial
(en MPa) está dado por la matriz que sigue:
10 14 25
14 7 15
25 15 16
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
Para resolver cuáles son los esfuerzos principales, es necesario
construir la matriz siguiente (de nuevo en MPa):
10 14 25
14 7 15
25 15 16
−
−
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
σ
σ
σ
s1, s2 y s3 se obtienen con la ecuación
σ σ σ
3 2
0
− + − =
I II III
donde
I
II
III
xx yy zz
xx yy xx zz yy zz xy xz yz
xx yy zz xx yz yy xz zz xy xy xz yz
= + +
= + + − − −
= − − − +
σ σ σ
σ σ σ σ σ σ σ σ σ
σ σ σ σ σ σ σ σ σ σ σ σ
2 2 2
2 2 2
2
I, II y III se conocen como las invariantes de esfuerzos. Encuentre
s1, s2 y s3 por medio de una técnica de localización de raíces.
8.43 La figura P8.43 ilustra tres almacenamientos conectados
por medio de tubos circulares. Los tubos están hechos de hierro
T0
T2
T3
T1
Figura P8.43
Figura P8.41
Q1
h2
h3
h1
Q3
Q2
1
2
3
A
B
C
PROBLEMAS 225
fundido recubierto con asfalto (e = 0.0012 m), y tienen las ca-
racterísticas siguientes:
Tubo 1 2 3
Longitud, m 1800 500 1400
Diámetro, m 0.4 0.25 0.2
Flujo, m3
/s ? 0.1 ?
Si las elevaciones de la superficie del agua en los almacenamien-
tos A y C son de 200 m y 172.5 m, respectivamente, determine
la elevación que alcanza en el almacenamiento B y los flujos en
los tubos 1 y 3. Obsérvese que la viscosidad cinemática del agua
es de 1 × 10–6
m2
/s, y utilice la ecuación de Colebrook para ob-
tener el factor de fricción (consulte el problema 8.12).
8.44 Un fluido se bombea en la red de tubos que se muestra en
la figura P8.44. En estado estacionario, se cumplen los balances
de flujo siguientes:
1 2 3
3 4 5
5 6 7
Q Q Q
Q Q Q
Q Q Q
= +
= +
= +
donde Qi = flujo en el tubo i [m3
/s]. Además, la caída de presión
alrededor de los tres lazos en los que el flujo es hacia la derecha
debe ser igual a cero. La caída de presión en cada tramo de tubo
circular se calcula por medio de la ecuación:
∆ =
P
fL
D
Q
16
2
2 5
2
π
ρ
donde ∆P= caída de presión [Pa], f = factor de fricción [adimen-
sional], L = longitud del tubo [m], r = densidad del fluido [kg/m3
],
y D = diámetro del tubo [m]. Escriba un programa (o desarrolle
un algoritmo en algún paquete de software de matemáticas) que
permita calcular el flujo en cada tramo de tubo, dado que
Figura P8.44
Q1
Q10 Q9 Q8
Q3 Q5
Q7
Q6
Q4
Q2
Q1 = 1m3
/s y r = 1.23 kg/m3
. Todos los tubos tienen D = 500
mm y f = 0.005. Las longitudes de los tubos son: L3 = L5 = L8 =
L9 = 2 m; L2 = L4 = L6 = 4 m; y L7 = 8 m.
8.45 Repita el problema 8.44, pero incorpore el hecho de que el
factor de fricción se calcula con la ecuación de von Karman, que
es:
1
4 0 4
10
f
f
= −
log (Re ) .
donde Re = número de Reynolds
Re =
ρ
µ
VD
donde V = velocidad del fluido en el tubo [m/s], y µ = viscosidad
dinámica (N⋅s/m2
). Obsérvese que para un tubo circular, V = 4Q/
pD2
. Asimismo, suponga que el fluido tiene una viscosidad de
1.79 × 10–5
N⋅s/m2
.
8.46 Sobre el trasbordador espacial, al despegar de la plataforma,
actúan cuatro fuerzas, las que se muestran en el diagrama de
cuerpo libre (véase la figura P8.46). El peso combinado de los
dos cohetes de combustible sólido y del tanque exterior de este,
es de WB = 1.663 × 106
lb. El peso del orbitador con carga com-
pleta es de WS = 0.23 × 106
lb. El empuje combinado de los dos
cohetes de combustible sólido es TB = 5.30 × 106
lb. El empuje
combinado de los tres motores de combustible líquido del orbi-
tador es de TS = 1.125 × 106
lb.
Al despegar, el empuje del motor del orbitador se dirige con
un ángulo q para hacer que el momento resultante que actúa sobre
el conjunto de la nave (tanque exterior, cohetes de combustible
sólido y orbitador) sea igual a cero. Con el momento resultante
igual a cero, la nave no giraría sobre su centro de gravedad G al
despegar. Con estas fuerzas, la nave experimentará una fuerza
resultante con componentes en dirección vertical y horizontal.
La componente vertical de la fuerza resultante, es la que permite
que la nave despegue de la plataforma y vuele verticalmente. La
componente horizontal de la fuerza resultante hace que la nave
vuele en forma horizontal. El momento resultante que actúa sobre
la nave será igual a cero cuando q se ajusta al valor apropiado.
Si este ángulo no se ajusta en forma adecuada y hubiera algún
momento que actuara sobre la nave, ésta tendería a girar alrededor
de su centro de gravedad.
a) Resuelva el empuje del orbitador TS en las componentes
horizontal y vertical, y después sume los momentos respecto
del punto G, centro de gravedad de la nave. Iguale a cero
la ecuación del momento resultante. Ahora, ésta puede
resolverse para el valor de q que se requiere durante el
despegue.
b) Obtenga una ecuación para el momento resultante que
actúa sobre la nave en términos del ángulo q. Grafique el
226 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
momento resultante como función del ángulo q en el rango
de –5 radianes a +5 radianes.
c) Escriba un programa de computadora para resolver para el
ángulo q por medio del método de Newton para encontrar la
raíz de la ecuación del momento resultante. Con el empleo
de la gráfica, elija un valor inicial para la raíz de interés.
Interrumpa las iteraciones cuando el valor de q ya no mejore
con cinco cifras significativas.
d) Repita el programa para el peso de la carga mínima del
orbitador, que es WS = 195000 lb.
Tanque externo
Cohete de
combustible
sólido
Orbitador
38’
4’
28’
WB WS
TS
TB
␪
G
Figura P8.46
EPÍLOGO: PARTE DOS
PT2.4 ALTERNATIVAS
La tabla PT2.3 proporciona un resumen de las alternativas para la solución de las raíces
de ecuaciones algebraicas y trascendentes. Aunque los métodos gráficos consumen
tiempo, ofrecen cierto conocimiento sobre el comportamiento de la función y son útiles
para identificar valores iniciales y problemas potenciales como el de las raíces múltiples.
Por lo tanto, si el tiempo lo permite, un bosquejo rápido (o mejor aún, una gráfica compu-
tarizada) brindará información valiosa sobre el comportamiento de la función.
Los métodos numéricos se dividen en dos grandes categorías: métodos cerrados y
abiertos. Los primeros requieren dos valores iniciales que estén a ambos lados de la raíz,
para acotarla. Este “acotamiento” se mantiene en tanto se aproxima a la solución, así,
dichas técnicas son siempre convergentes. Sin embargo, se debe pagar un precio por esta
propiedad, la velocidad de convergencia es relativamente lenta.
TABLA PT2.3 Comparación de las características de los métodos alternativos para encontrar raíces de ecuaciones
algebraicas y trascendentes. Las comparaciones se basan en la experiencia general y no toman en
cuenta el comportamiento de funciones específicas.
Valores Velocidad de Amplitud de Complejidad de
Método iniciales convergencia Estabilidad Exactitud aplicación programación Comentarios
Directo — — — — Limitada
Gráfico — — — Pobre Raíces reales — Puede tomar más
tiempo que el
método numérico
Bisección 2 Lenta Siempre Buena Raíces reales Fácil
Falsa posición 2 Lenta/media Siempre Buena Raíces reales Fácil
FP modificado 2 Media Siempre Buena Raíces reales Fácil
Iteración de
punto fijo 1 Lenta Posiblemente Buena General Fácil
divergente
Newton-Raphson 1 Rápida Posiblemente Buena General Fácil Requiere la
divergente evaluación de ƒ′(x)
Newton-Raphson 1 Rápida para raíces Posiblemente Buena General Fácil Requiere la
modificado múltiples; media divergente evaluación de
para una sola ƒ″(x) y ƒ′(x)
Secante 2 Media a rápida Posiblemente Buena General Fácil Los valores iniciales
divergente no tiene que
acotar la raíz
Secante 1 Media a rápida Posiblemente Buena General Fácil
modificada divergente
Müller 2 Media a rápida Posiblemente Buena Polinomios Moderada
divergente
Bairstow 2 Rápida Posiblemente
divergente Buena Polinomios Moderada
228 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
Las técnicas abiertas difieren de los métodos cerrados inicialmente en que usan la
información de un solo punto (o dos valores que no necesitan acotar a la raíz para ex-
trapolar a una nueva aproximación de la misma). Esta propiedad es una espada de dos
filos. Aunque llevan a una rápida convergencia, también existe la posibilidad de que la
solución diverja. En general, la convergencia con técnicas abiertas es parcialmente de-
pendiente de la calidad del valor inicial y de la naturaleza de la función. Cuanto más
cerca esté el valor inicial de la raíz verdadera, los métodos convergerán más rápido.
De las técnicas abiertas, el método estándar de Newton-Raphson se utiliza con
frecuencia por su propiedad de convergencia cuadrática. Sin embargo, su mayor defi-
ciencia es que requiere que la derivada de la función se obtenga en forma analítica. Con
algunas funciones se vuelve impráctico. En dichos casos, el método de la secante, que
emplea una representación en diferencias finitas de la derivada, proporciona una alter-
nativa viable. Debido a la aproximación en diferencias finitas, la velocidad de conver-
gencia del método de la secante es al principio más lento que el método de
Newton-Raphson. Sin embargo, conforme se refina la estimación de la raíz, la aproxi-
mación por diferencias se vuelve una mejor representación de la derivada verdadera y,
en consecuencia, se acelera rápidamente la convergencia. Se puede usar la técnica mo-
dificada de Newton-Raphson y así obtener una rápida convergencia para raíces múltiples.
Sin embargo, dicha técnica requiere una expresión analítica tanto para la primera como
para la segunda derivada.
Todos los métodos numéricos son fáciles de programar en computadoras y requie-
ren de un tiempo mínimo para determinar una sola raíz. Sobre esta base, usted podría
concluir que los métodos simples como el de bisección resultarían suficientemente bue-
nos para fines prácticos. Lo anterior será cierto si usted se interesa exclusivamente en
determinar sólo una vez la raíz de una ecuación. Pero hay muchos casos en ingeniería
donde se requiere la localización de muchas raíces y donde la rapidez se vuelve impor-
tante. En tales casos, los métodos lentos consumen mucho tiempo y son por lo tanto
costosos. Por otro lado, la rapidez de los métodos abiertos llega a diverger, y los retardos
que los acompañan pueden también ser costosos. Algunos algoritmos de cómputo inten-
tan conjugar las ventajas de ambas técnicas, al emplear inicialmente un método cerrado
para aproximar la raíz, y después cambiar a un método abierto que mejore la estimación
con rapidez. Ya sea que se utilice un solo procedimiento o una combinación, la búsque-
da de convergencia y velocidad es fundamental para la elección de una técnica de loca-
lización de raíces.
PT2.5 RELACIONES Y FÓRMULAS IMPORTANTES
La tabla PT2.4 resume la información importante que se presentó en la parte dos. Dicha
tabla se puede consultar para un acceso rápido de relaciones y fórmulas importantes.
PT2.6 MÉTODOS AVANZADOS Y REFERENCIAS
ADICIONALES
En el presente texto los métodos se han concentrado en determinar una sola raíz real de
una ecuación algebraica o trascendente, considerando un conocimiento previo de su
localización aproximada. Además, se han descrito también métodos que se hallan ex-
228 EPÍLOGO: PARTE DOS
presamente diseñados para determinar las raíces reales y complejas de polinomios.
Referencias adicionales sobre el tema son Ralston y Rabinowitz (1978) y Carnahan,
Luther y Wilkes (1969).
Además de los métodos de Müller y de Bairstow, existen varias técnicas disponibles
para determinar todas las raíces de polinomios. En particular, el algoritmo de diferencia
del cociente (QD) (Henrici, 1964, y Gerald y Wheatley, 1989) determina todas las raíces
TABLA PT2.4 Resumen de información importante presentada en la parte dos.
Interpretación Errores y criterios
Método Formulación gráfica de terminación
Métodos cerrados:
Bisección
x
x x
r
l u
=
+
2 Criterio de terminación:
Si f(xl)f(xr)  0, xu = xr
f(xl)f(xr)  0, xl = xr
Falsa posición
x x
f x x x
f x f x
r u
u l u
l u
= –
( )( – )
( ) – ( ) Criterio de terminación:
Si f(xl)f(xr)  0,xu = xr
f(xl)f(xr)  0, xl = xr
Métodos abiertos:
Newton-Raphson Criterio de terminación:
x x
f x
f x
i i
i
i
+ =
′
1 –
( )
( )
Secante Criterio de terminación:
x x
f x x x
f x f x
i i
i i i
i i
+
−
−
=
′
1
1
1
–
( )( – )
( ) – ( )
f(x)
x
xu
xl
L
L/2
Raíz
L/4
f(x)
x
xu
xl
xr
Cuerda
f(x)
x
xi
xi + 1
Tangente
f(x)
x
xi xi – 1
xi + 1
x x
x
r r
r
s
nuevo anterior
nuevo
–
%
100 ≤ ⑀
x x
x
r r
r
s
nuevo anterior
nuevo
–
%
100 ≤ ⑀
x x
x
i i
i
s
+
+
≤
1
1
100
–
% ⑀
x x
x
i i
i
s
+
+
≤
1
1
100
–
% ⑀
Error: Ei+1 = 0(E2
i )
PT2.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES 229
230 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES
sin tener valores iniciales. Ralston y Rabinowitz (1978) y Carnahan, Luther y Wilkes
(1969) contienen un análisis de este método, así como de otras técnicas para la locali-
zación de raíces de polinomios. Como se analiza en el texto, los métodos de Jenkins-Traub
y de Laguerre son de uso frecuente.
En resumen, lo anterior lleva la intención de proporcionarle nuevos caminos para
una exploración más profunda del tema. Además, todas las referencias anteriores ofrecen
descripciones de las técnicas básicas cubiertas en la parte dos. Le recomendamos que
consulte esas fuentes alternativas con el objetivo de ampliar su comprensión de los mé-
todos numéricos para la localización de raíces.1
1
Aquí sólo se menciona el autor de los libros citados. Se puede encontrar una bibliografía completa al final
de este texto.
230 EPÍLOGO: PARTE DOS
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
PARTE TRES
PARTE TRES
ECUACIONES ALGEBRAICAS
LINEALES
PT3.1 MOTIVACIÓN
En la parte dos, determinamos el valor de x que satisface una única ecuación, f(x) = 0.
Ahora, nos ocuparemos de determinar los valores x1, x2, …, xn que en forma simultánea
satisfacen un sistema de ecuaciones
f1 (x1, x2, …, xn) = 0
f2 (x1, x2, …, xn) = 0
· ·
· ·
· ·
fn (x1, x2, …, xn) = 0
Tales sistemas pueden ser lineales o no lineales. En la parte tres, trataremos con ecua-
ciones algebraicas lineales, que tienen la forma general
a11x1 + a12x2 + ··· + a1nxn = b1
a21x1 + a22x2 + ··· + a2nxn = b2
· · (PT3.1)
· ·
· ·
an1x1 + an2x2 + ··· + annxn = bn
donde las a son los coeficientes constantes, las b son los términos independientes cons-
tantes y n es el número de ecuaciones. Todas las demás ecuaciones son no lineales. Los
sistemas no lineales se analizaron en el capítulo 6, aunque se volverán a estudiar breve-
mente en el capítulo 9.
PT3.1.1 Métodos sin computadora para resolver
sistemas de ecuaciones
Si son pocas ecuaciones (n ≤ 3), las ecuaciones lineales (y algunas veces las no lineales)
pueden resolverse con rapidez mediante técnicas simples. Algunos de estos métodos se
revisarán al inicio del capítulo 9. Sin embargo, con cuatro o más ecuaciones, la solución
se vuelve laboriosa y debe usarse una computadora. Históricamente, la incapacidad para
resolver a mano los sistemas de ecuaciones más grandes ha limitado el alcance de pro-
blemas por resolver en muchas aplicaciones de ingeniería.
Antes de las computadoras, las técnicas para resolver ecuaciones algebraicas linea-
les consumían mucho tiempo y eran poco prácticas. Esos procedimientos restringieron
la creatividad debido a que con frecuencia los métodos eran difíciles de implementar y
entender. Como resultado, las técnicas se sobreenfatizaron, a expensas de otros aspectos
del proceso de resolución de problemas tales como la formulación y la interpretación
(recuerde la figura PT1.1 y el análisis respectivo).
El surgimiento de las computadoras hizo posible resolver grandes sistemas de ecua-
ciones algebraicas lineales simultáneas. Así, se pueden enfrentar ejemplos y problemas
más complicados. Además, se cuenta con más tiempo para usar sus habilidades creativas,
ya que se pondrá mayor énfasis en la formulación del problema y en la interpretación de
la solución.
PT3.1.2 Ecuaciones algebraicas lineales y la práctica
en ingeniería
Muchas de las ecuaciones fundamentales en ingeniería se basan en las leyes de conser-
vación (recuerde la tabla 1.1). Entre algunas cantidades conocidas que se someten a tales
leyes están la masa, la energía y el momentum. En términos matemáticos, estos princi-
pios nos conducen a ecuaciones de balance o de continuidad que relacionan el compor-
tamiento del sistema, al representarlo por los niveles o respuesta de la cantidad sujeta a
modelamiento con las propiedades o características del sistema, y por los estímulos
externos o funciones forzadas que actúan sobre el sistema.
Por ejemplo, el principio de conservación de la masa se utiliza para formular un
modelo de una serie de reactores químicos (figura PT3.1a). En este caso, la cantidad que
habrá de modelarse es la masa de las sustancias químicas en cada reactor. Las propie-
dades del sistema son la reacción característica de la sustancia química, los tamaños de
los reactores y las velocidades de flujo. Las funciones forzadas son las velocidades
de suministro de las sustancias químicas hacia el sistema.
x1 x1 xi1
xi1 xn
b)
Alimentación
Alimentación x1 x5
a)
…
…
x2
x3
x4
FIGURA PT3.1
Dos tipos de sistemas que
se modelan mediante
ecuaciones algebraicas
lineales. a) sistemas de
variables agrupadas que
involucran componentes
finitos relacionadas y b)
sistemas de variables
distribuidas que involucran
un continuo.
234 ECUACIONES ALGEBRAICAS LINEALES
En la parte dos, usted observó cómo sistemas de un solo componente dan por re-
sultado una sola ecuación que puede resolverse mediante técnicas de localización de
raíces. Los sistemas con multicomponentes resultan en un sistema de ecuaciones mate-
máticas que deben resolverse de manera simultánea. Las ecuaciones están relacionadas,
ya que las distintas partes del sistema están influenciadas por otras partes. Por ejemplo,
en la figura PT3.1a, el reactor 4 recibe sustancias químicas de los reactores 2 y 3. En
consecuencia, su respuesta depende de la cantidad de sustancias químicas en esos reac-
tores.
Cuando esas dependencias se expresan matemáticamente, las ecuaciones resultantes
a menudo son de forma algebraica y lineal, como la ecuación (PT3.1). Las x son medidas
de las magnitudes de las respuestas de los componentes individuales. Al usar la figura
PT3.1a como ejemplo, x1 podría cuantificar la cantidad de masa en el primer reactor, x2
cuantificaría la cantidad en el segundo, y así sucesivamente. Las a representan común-
mente las propiedades y características relacionadas con las interacciones entre los
componentes. Por ejemplo, las a en la figura PT3.1a reflejarían las velocidades de masa
entre los reactores. Por último, las b representan las funciones forzadas que actúan sobre
el sistema, como la velocidad de alimentación en la figura PT3.1a. Las aplicaciones en el
capítulo 12 proporcionan otros ejemplos de tales ecuaciones obtenidas de la práctica de
la ingeniería.
Problemas de multicomponentes de los tipos anteriores surgen tanto de modelos
matemáticos de variables agrupadas (macro) como distribuidas (micro) (figura PT3.1).
Los problemas de variables agrupadas involucran componentes finitos relacionadas.
Entre los ejemplos se encuentran armaduras (sección 12.2), reactores (figura PT3.1a y
sección 12.1) y circuitos eléctricos (sección 12.3). Estos tipos de problemas utilizan
modelos que ofrecen poco o ningún detalle espacial.
En cambio, los problemas con variables distribuidas intentan describir detalles es-
paciales de los sistemas sobre una base continua o semicontinua. La distribución de
sustancias químicas a lo largo de un reactor tabular alargado (figura PT3.1b) es un
ejemplo de un modelo de variable continua. Las ecuaciones diferenciales obtenidas a
partir de las leyes de conservación especifican la distribución de la variable dependien-
te para tales sistemas. Esas ecuaciones diferenciales pueden resolverse numéricamente
al convertirlas en un sistema equivalente de ecuaciones algebraicas simultáneas. La
solución de tales sistemas de ecuaciones representa una importante área de aplicación a
la ingeniería de los métodos en los siguientes capítulos. Esas ecuaciones están relacio-
nadas, ya que las variables en una posición son dependientes de las variables en regiones
adyacentes. Por ejemplo, la concentración en la mitad del reactor es una función de la
concentración en regiones adyacentes. Ejemplos similares podrían desarrollarse para
la distribución espacial de la temperatura o del momentum. Más adelante, abordaremos
tales problemas cuando analicemos ecuaciones diferenciales.
Además de sistemas físicos, las ecuaciones algebraicas lineales simultáneas surgen
también en diferentes contextos de problemas matemáticos. Éstos resultan cuando se
requiere de funciones matemáticas que satisfagan varias condiciones en forma simultá-
nea. Cada condición resulta en una ecuación que contiene coeficientes conocidos y va-
riables desconocidas. Las técnicas analizadas en esta parte sirven para encontrar las
incógnitas cuando las ecuaciones son lineales y algebraicas. Algunas técnicas numéricas
de uso general que emplean ecuaciones simultáneas son el análisis de regresión (capítu-
lo 17) y la interpolación por trazadores (splines) (capítulo 18).
PT3.1 MOTIVACIÓN 235
PT3.2 ANTECEDENTES MATEMÁTICOS
Todas las partes de este libro requieren de algunos conocimientos matemáticos. Para la
parte tres, el álgebra y la notación matricial son útiles, ya que proporcionan una forma
concisa para representar y manejar ecuaciones algebraicas lineales. Si usted ya está
familiarizado con las matrices, quizá le convenga pasar a la sección PT3.3. Para quienes
no tengan un conocimiento previo o necesiten un repaso, el siguiente material ofrece
una breve introducción al tema.
PT3.2.1 Notación matricial
Una matriz consiste en un arreglo rectangular de elementos representado por un solo
símbolo. Como se ilustra en la figura PT3.2, [A] es la notación breve para la matriz y aij
designa un elemento individual de la matriz.
Un conjunto horizontal de elementos se llama un renglón (o fila); y uno vertical,
columna. El primer subíndice i siempre designa el número del renglón en el cual está el
elemento. El segundo subíndice j designa la columna. Por ejemplo, el elemento a23 está
en el renglón 2 y la columna 3.
La matriz en la figura PT3.2 tiene n renglones y m columnas, y se dice que tiene una
dimensión (o tamaño) de n por m (o n × m). Ésta se conoce como una matriz n por m.
A las matrices con dimensión renglón n = 1, tales como
[B] = [b1 b2 ··· bm]
se les conoce como vectores renglón. Observe que para simplificar se elimina el primer
subíndice de cada elemento. También, debe mencionarse que hay ocasiones en las que
se requiere emplear una notación breve especial para distinguir una matriz renglón de
otros tipos de matrices. Una forma para llevar a cabo esto es mediante el uso de corche-
tes abiertos en la parte superior, así ⎣B⎦.
Las matrices con dimensión columna m = 1, como
[ ]
C
c
c
cn
=
⋅
⋅
⋅
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
1
2
Columna 3
Renglón 2
FIGURA PT3.2
Una matriz.
236 ECUACIONES ALGEBRAICAS LINEALES
[ ]
A
a a a a
a a a a
a a a a
m
m
n n n nm
=
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
11 12 13 1
21 22 23 2
2 3
…
…
…
se conocen como vectores columna. Para simplificar, se elimina el segundo subíndice.
Como en el caso del vector renglón, en ocasiones se desea emplear una notación breve
especial para distinguir una matriz columna de otros tipos de matrices. Una forma para
realizarlo consiste en emplear paréntesis de llave, así {C}.
A las matrices en las que n = m se les llama matrices cuadradas. Por ejemplo, una
matriz de 4 por 4 es
[ ]
A
a a a a
a a a a
a a a a
a a a a
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44
A la diagonal que contiene los elementos a11, a22, a33, a44 se le llama diagonal principal
de la matriz.
Las matrices cuadradas resultan particularmente importantes cuando se resuelven
sistemas de ecuaciones lineales simultáneas. En tales sistemas, el número de ecuaciones
(que corresponde a los renglones) y el número de incógnitas (que corresponde a las
columnas) debe ser igual para que sea posible tener una solución única.* En consecuen-
cia, cuando se trabaja con tales sistemas se tienen matrices cuadradas de coeficientes.
Algunos tipos especiales de matrices cuadradas se describen en el cuadro PT3.1.
PT3.2.2 Reglas de operaciones con matrices
Ahora que ya especificamos el significado de una matriz, podemos definir algunas reglas
de operación que rigen su uso. (Igualdad de matrices) Dos matrices n por m son iguales
si, y sólo si, cada elemento en la primera matriz es igual a cada elemento en la segunda
matriz; es decir, [A] = [B] si aij = bij para todo i y j.
La suma de dos matrices, por ejemplo, [A] y [B], se obtiene al sumar los términos
correspondientes de cada matriz. Los elementos de la matriz resultante [C] son:
cij = aij + bij
para i = 1, 2, …, n y j = 1, 2, …, m. De manera similar, la resta de dos matrices, por
ejemplo, [E] menos [F], se obtiene al restar los términos correspondientes así:
dij = eij – fij
para i = 1, 2, …, n y j = 1, 2, …, m. De las definiciones anteriores se concluye directa-
mente que la suma y la resta sólo pueden realizarse entre matrices que tengan las mismas
dimensiones.
La suma es conmutativa:
[A] + [B] = [B] + [A]
La suma también es asociativa; es decir,
([A] + [B]) + [C] = [A] + ([B] + [C])
PT3.2 ANTECEDENTES MATEMÁTICOS 237
* Sin embargo, debe notarse que en este tipo de sistemas puede suceder que no tengan soluciones o exista
una infinidad de éstas.
La multiplicación de una matriz [A] por un escalar g se obtiene al multiplicar cada ele-
mento de [A] por g,
[ ] [ ]
D g A
ga ga ga
ga ga ga
ga ga ga
m
m
n n nm
= =
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
11 12 1
21 22 2
1 2



Cuadro PT3.1 Tipos especiales de matrices cuadradas
Hay diferentes formas especiales de matrices cuadradas que son
importantes y que deben mencionarse:
Una matriz simétrica es aquella donde aij = aji para todo i
y j. Por ejemplo,
[ ]
A =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
5 1 2
1 3 7
2 7 8
es una matriz simétrica de 3 por 3.
Una matriz diagonal es una matriz cuadrada donde todos los
elementos fuera de la diagonal principal son iguales a cero,
[ ]
A
a
a
a
a
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11
22
33
44
Observe que donde hay grandes bloques de elementos que son
cero, se dejan en blanco.
Una matriz identidad es una matriz diagonal donde todos los
elementos sobre la diagonal principal son iguales a 1,
[ ]
I =
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
1
1
1
1
El símbolo [I] se utiliza para denotar la matriz identidad. La
matriz identidad tiene propiedades similares a la unidad.
Una matriz triangular superior es aquella donde todos los
elementos por debajo de la diagonal principal son cero,
[ ]
A
a a a a
a a a
a a
a
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11 12 13 14
22 23 24
33 34
44
Una matriz triangular inferior es aquella donde todos los
elementos por arriba de la diagonal principal son cero,
[ ]
A
a
a a
a a a
a a a a
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11
21 22
31 32 33
41 42 43 44
Una matriz bandeada tiene todos los elementos iguales a
cero, con la excepción de una banda centrada sobre la diagonal
principal:
[ ]
A
a a
a a a
a a a
a a
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11 12
21 22 23
32 33 34
43 44
La matriz anterior tiene un ancho de banda de 3 y se le da un
nombre especial: matriz tridiagonal.
238 ECUACIONES ALGEBRAICAS LINEALES
El producto de dos matrices se representa como [C] = [A][B], donde los elementos de
[C] están definidos como (véase cuadro PT3.2 para tener una forma simple de concep-
tualizar la multiplicación de matrices)
c a b
ij ik kj
k
n
=
=
∑
1
(PT3.2)
donde n = la dimensión columna de [A] y la dimensión renglón de [B]. Es decir, el ele-
mento cij se obtiene al sumar el producto de elementos individuales del i-ésimo renglón
de la primera matriz, en este caso [A], por la j-ésima columna de la segunda matriz [B].
De acuerdo con esta definición, la multiplicación de dos matrices se puede realizar
sólo si la primera matriz tiene tantas columnas como el número de renglones en la segun-
da matriz. (Conformidad del producto.) Así, si [A] es una matriz n por m, [B] podría ser
una matriz m por l. En este caso, la matriz resultante [C] tendrá dimensión n por l. Sin
Aunque la ecuación (PT3.2) es adecuada para implementarse en
una computadora, no es el medio más simple para visualizar la
mecánica de multiplicar dos matrices. Lo que sigue es una forma
más tangible de entender la operación.
Suponga que queremos multiplicar [X] por [Y] para obtener
[Z], donde
[ ] [ ][ ]
Z X Y
= =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎤
⎦
⎥
3 1
8 6
0 4
5 9
7 2
Una forma simple para visualizar el cálculo de [Z] es subir [Y]
así:
⇑
⎡
⎣
⎢
⎤
⎦
⎥ ←
→
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
←
5 9
7 2
3 1
8 6
0 4
[ ]
[ ] ? [ ]
Y
X Z
Ahora, la matriz [Z] se puede calcular en el espacio dejado por
[Y]. Este formato es útil, ya que alinea los renglones y columnas
apropiados para que se multipliquen. Por ejemplo, de acuerdo
con la ecuación (PT3.2), el elemento z11 se obtiene al multiplicar
el primer renglón de [X] por la primera columna de [Y]. Esta
cantidad se obtiene al sumar el producto de x11 por y11 al produc-
to de x12 por y21 así:
Cuadro PT3.2 Un método simple para multiplicar dos matrices
5
7
3 1 3 5 1 7 22
9
2
8 6
0 4
⎡
⎣
⎢
⎤
⎦
⎥
↓
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
→ × + × =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
De esta manera, z11 es igual a 22. El elemento z21 se calcula de
manera semejante así:
5
7
3 1
8 5 6 7 82
9
2
8 6
0 4
22
⎡
⎣
⎢
⎤
⎦
⎥
↓
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
→ × + × =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
Los cálculos continúan en esta forma, siguiendo la alinea-
ción de renglones y columnas, para obtener el resultado
[ ]
Z =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
22 29
82 84
28 8
Observe cómo este método simple explica el porqué es imposible
multiplicar dos matrices si el número de columnas de la primera
matriz no es igual al número de renglones en la segunda matriz.
Note también la importancia del orden en la multiplicación (es
decir, la multiplicación de matrices no es conmutativa).
PT3.2 ANTECEDENTES MATEMÁTICOS 239
embargo, si [B] fuera una matriz l por m, la multiplicación no podrá ser ejecutada. La
figura PT3.3 proporciona una forma fácil para verificar si se pueden multiplicar dos
matrices.
Si las dimensiones de las matrices son adecuadas, la multiplicación matricial es
asociativa,
([A][B])[C] = [A]([B][C])
y distributiva,
[A]([B] + [C]) = [A][B] + [A][C]
o
([A] + [B])[C] = [A][C] + [B][C]
Sin embargo, la multiplicación generalmente no es conmutativa:
[A][B] ≠ [B][A]
Esto es, el orden de la multiplicación es importante.
La figura PT3.4 muestra el seudocódigo para multiplicar una matriz [A] n por m,
por una matriz [B] m por l, y guardar el resultado en una matriz [C] n por l. Observe
que, en lugar de que el producto interno sea directamente acumulado en [C], se recoge
en una variable temporal, sum. Se hace así por dos razones. Primero, es un poco más
eficiente, ya que la computadora necesita determinar la localización de ci,j sólo
n × l veces en lugar de n × l × m veces. Segundo, la precisión de la multiplicación puede
mejorarse mucho al declarar a sum como una variable de doble precisión (recuerde el
análisis de productos internos en la sección 3.4.2).
Aunque la multiplicación es posible, la división de matrices no está definida. No
obstante, si una matriz [A] es cuadrada y no singular, existe otra matriz [A]–1
, llamada
la inversa de [A], para la cual
[A][A]–1
= [A]–1
[A] = [I] (PT3.3)
[A]n ⴛ m [B]m ⴛ l ⴝ [C]n ⴛ l
Las dimensiones interiores
son iguales:
es posible
la multiplicación
Las dimensiones exteriores
definen las dimensiones
del resultado
FIGURA PT3.3
240 ECUACIONES ALGEBRAICAS LINEALES
Así, la multiplicación de una matriz por la inversa es análoga a la división, en el sentido
de que un número dividido por sí mismo es igual a 1. Es decir, la multiplicación de una
matriz por su inversa nos lleva a la matriz identidad (recuerde el cuadro PT3.1).
La inversa de una matriz cuadrada bidimensional se representa en forma simple
mediante*
[ ]
–
–
–
–
A
a a a a
a a
a a
1
11 22 12 21
22 12
21 11
1
=
⎡
⎣
⎢
⎤
⎦
⎥ (PT3.4)
Para matrices de dimensiones mayores las fórmulas son más complicadas. Algunas
secciones de los capítulos 10 y 11 se dedicarán a técnicas que usen métodos numéricos
y la computadora para calcular la inversa de tales sistemas.
Otras dos manipulaciones con matrices que serán útiles para nuestro análisis son la
transpuesta y la traza de una matriz. La transpuesta de una matriz implica transformar
sus renglones en columnas y viceversa. Por ejemplo, dada la matriz de 4 × 4,
[ ]
A
a a a a
a a a a
a a a a
a a a a
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44
la transpuesta, designada por [A]T
, está definida como
[ ]
A
a a a a
a a a a
a a a a
a a a a
T
=
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
11 21 31 41
12 22 32 42
13 23 33 43
14 24 34 44
En otras palabras, el elemento aij de la transpuesta es igual al elemento aji de la matriz
original.
FIGURA PT3.4
SUBROUTINE Mmult (a, b, c, m, n, l)
DOFOR i = 1, n
DOFOR j = 1, l
sum = 0.
DOFOR k = 1, m
sum = sum + a(i,k) · b(k,j)
END DO
c(i,j) = sum
END DO
END DO
PT3.2 ANTECEDENTES MATEMÁTICOS 241
* Siempre que an a22 – a12 a21 ≠ 0.
La transpuesta tiene muchas funciones en álgebra matricial. Una ventaja es que
permite escribir un vector columna como un renglón. Por ejemplo, si
{ }
C
c
c
c
c
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
1
2
3
4
entonces
{C}T
= ⎣c1 c2 c3 c4⎦
donde el superíndice T indica la transpuesta. Por ejemplo, esto puede ahorrar espacio
cuando se escribe un vector columna. Además, la transpuesta tiene diversas aplicaciones
matemáticas.
La traza de una matriz es la suma de los elementos en su diagonal principal, se
designa como tr [A] y se calcula como
tr [ ]
A aii
i
n
=
=
∑
1
La traza se usará en el análisis de valores propios en el capítulo 27.
La última manipulación de una matriz que resultará de utilidad para nuestro análi-
sis es la aumentación. Una matriz es aumentada al agregar una columna (o columnas) a
la matriz original. Por ejemplo, suponga que tenemos una matriz de coeficientes:
[ ]
A
a a a
a a a
a a a
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
11 12 13
21 22 23
31 32 33
Por ejemplo, se puede aumentar esta matriz [A] con una matriz identidad (recuerde el
cuadro PT3.1) para obtener una matriz de dimensiones 3 por 6:
[ ]
A
a a a
a a a
a a a
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
11 12 13
21 22 23
31 32 33
1 0 0
0 1 0
0 0 1
Tal expresión es útil cuando debe ejecutarse un conjunto de operaciones idénticas sobre
dos matrices. Así, podemos realizar las operaciones sobre una sola matriz aumentada,
en lugar de hacerlo sobre dos matrices individuales.
PT3.2.3 Representación de ecuaciones algebraicas lineales
en forma matricial
Debe ser claro que las matrices proporcionan una notación concisa para representar ecua-
ciones lineales simultáneas. Por ejemplo, la ecuación (PT3.1) puede expresarse como
[A]{X} = {B} (PT3.5)
242 ECUACIONES ALGEBRAICAS LINEALES
donde [A] es la matriz cuadrada n por n de coeficientes,
[ ]
A
a a a
a a a
a a a
n
n
n n nn
=
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
11 12 1
21 22 2
1 2



{B} es el vector columna n por 1 de las constantes,
{B}T
= ⎣b1 b2 ··· bn⎦
y {X} es el vector columna n por 1 de las incógnitas:
{X}T
= ⎣x1 x2 ··· xn⎦
Recuerde la definición de multiplicación de matrices [ecuación (PT3.2) o cuadro PT3.2]
para comprobar que las ecuaciones (PT3.1) y (PT3.5) son equivalentes. También, obser-
ve que la ecuación (PT3.5) es una multiplicación matricial válida, ya que el número de
columnas, n, de la primera matriz [A], es igual al número de renglones, n, de la segunda
matriz {X}.
Esta parte del libro se dedica a encontrar la solución {X} de la ecuación (PT3.5). La
manera formal de obtener la solución usando álgebra matricial es multiplicando cada
lado de la ecuación por la inversa de [A]:*
[A]–1
[A]{X} = [A]–1
{B}
Como [A]–1
[A] es igual a la matriz identidad, la ecuación se convierte en
{X} = [A]–1
{B} (PT3.6)
Por lo tanto, se ha encontrado la solución {X} de la ecuación. Éste es otro ejemplo de
cómo la inversa desempeña un papel importante en el álgebra de matrices que es similar
a la división. Debe observarse que ésta no es una forma muy eficiente para resolver un
sistema de ecuaciones. Así, se emplean otros procedimientos para construir los algorit-
mos numéricos. Sin embargo, como se analizó en el capítulo 10, la matriz inversa tiene
gran valor en los análisis de ingeniería de tales sistemas.
Por último, algunas veces encontraremos útil aumentar [A] con {B}. Por ejemplo,
si n = 3, resultará una matriz de dimensión 3 por 4:
[ ]
A
a a a b
a a a b
a a a b
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
11 12 13 1
21 22 23 2
31 32 33 3
(PT3.7)
Expresar las ecuaciones en esta forma es útil, ya que varias de las técnicas para
resolver sistemas lineales requieren operaciones idénticas en un renglón de coeficientes
PT3.2 ANTECEDENTES MATEMÁTICOS 243
* En el caso de que A sea no singular.
y en las correspondientes constantes del lado derecho. Como se expresa en la ecuación
(PT3.7), es posible realizar las manipulaciones de una vez sobre un renglón de la matriz
aumentada, en lugar de hacerlo de manera separada sobre la matriz de coeficientes y en
el vector del lado derecho.
PT3.3 ORIENTACIÓN
Antes de presentar los métodos numéricos, será útil una orientación adicional. Lo si-
guiente pretende ser una visión general del material analizado en la parte tres. Además,
se plantean algunos objetivos para ayudarle a enfocar sus esfuerzos al estudiar el mate-
rial.
PT3.3.1 Alcance y presentación preliminar
La figura PT3.5 proporciona un resumen de la parte tres. El capítulo 9 se dedica a la
técnica fundamental para resolver sistemas algebraicos lineales: la eliminación de Gauss.
Antes de entrar en un análisis detallado de dicha técnica, una sección preliminar trata
de los métodos simples para resolver sistemas pequeños. Esos procedimientos se pre-
sentan para ofrecer cierto conocimiento visual y porque uno de los métodos (la elimi-
nación de incógnitas) representa la base para la eliminación de Gauss.
Después del material preliminar, se estudia la eliminación de Gauss “simple”. Co-
menzamos con esta versión “desnuda” debido a que permite elaborar la técnica funda-
mental sin detalles que la compliquen. Después, en las siguientes secciones, analizamos
problemas potenciales del método simple y presentamos diferentes modificaciones para
minimizar y evitar tales problemas. Lo esencial en este análisis será el proceso de inter-
cambio de renglones, o pivoteo parcial.
El capítulo 10 empieza ilustrando cómo se puede formular la eliminación de Gauss
como una solución por descomposición LU. Se trata de técnicas de solución que son
valiosas para los casos donde se necesita evaluar muchos vectores del lado derecho. Se
muestra cómo este atributo permite hacer eficiente el cálculo de la matriz inversa, la
cual tiene una tremenda utilidad en la práctica de la ingeniería. Por último, el capítulo
termina con un estudio de la condición matricial. El número de condición se presenta
como una medida de la pérdida de dígitos significativos de exactitud que puede resultar
cuando se resuelven matrices mal condicionadas.
El inicio del capítulo 11 se concentra en los tipos especiales de sistemas de ecua-
ciones que tienen una gran aplicación en ingeniería. En particular, se presentan técnicas
eficientes para resolver sistemas tridiagonales. Después, en el resto del capítulo se cen-
tra la atención en una alternativa a los métodos de eliminación llamada el método de
Gauss-Seidel. Esta técnica es similar en esencia a los métodos aproximados para raíces
de ecuaciones que se analizaron en el capítulo 6. Es decir, la técnica consiste en suponer
una solución y después iterar para obtener una aproximación mejorada. Al final del
capítulo se incluye información relacionada con la solución de ecuaciones algebraicas
lineales con ayuda de paquetes y bibliotecas.
En el capítulo 12 se muestra cómo se aplican los métodos para la solución de pro-
blemas. Como en las otras partes del libro, las aplicaciones se toman de todos los campos
de la ingeniería.
244 ECUACIONES ALGEBRAICAS LINEALES
PT3.1
Motivación
PT3.2
Antecedentes
matemáticos PT3.3
Orientación
9.1
Sistemas
pequeños
9.2
Eliminación de
Gauss simple
PARTE 3
Ecuaciones
algebraicas
lineales
PT3.6
Métodos
avanzados
EPÍLOGO
CAPÍTULO 9
Eliminación
de Gauss
PT3.5
Fórmulas
importantes
PT3.4
Alternativas
12.4
Ingeniería
mecánica
12.3
Ingeniería
eléctrica
12.2
Ingeniería
civil 12.1
Ingeniería
química 11.3
Bibliotecas
y paquetes
11.2
Gauss-Seidel
11.1
Matrices
especiales
CAPÍTULO 10
Descomposición
LU e inversión
de matrices
CAPÍTULO 11
Matrices
especiales
y el método de
Gauss-Seidel
CAPÍTULO 12
Estudio de
casos
10.3
Análisis del error
y condición
del sistema
10.2
La matriz
inversa
10.1
Descomposición
LU
9.7
Gauss-Jordan
9.6
Sistemas
no lineales
9.5
Sistemas
complejos
9.4
Soluciones
9.3
Dificultades
FIGURA PT3.5
Diagrama esquemático de la organización del material en la parte tres: Ecuaciones algebraicas lineales.
PT3.3 ORIENTACIÓN 245
Por último, se incluye un epílogo al final de la parte tres. Este repaso comprende un
análisis de las ventajas y desventajas relevantes para la implementación de los métodos
en la práctica de la ingeniería. Esta sección también resume las fórmulas importantes y
los métodos avanzados relacionados con las ecuaciones algebraicas lineales. Como tal,
puede usarse antes de los exámenes o en la práctica profesional, a manera de actualiza-
ción, cuando se tenga que volver a considerar las ecuaciones algebraicas lineales.
PT3.3.2 Metas y objetivos
Objetivos de estudio. Al terminar la parte tres, usted será capaz de resolver problemas
con ecuaciones algebraicas lineales y de valorar la aplicación de esas ecuaciones en muchos
campos de la ingeniería. Deberá esforzarse en dominar varias técnicas y su confiabilidad,
así como conocer las ventajas y desventajas para seleccionar el “mejor” método (o métodos)
para cualquier problema en particular. Además de estos objetivos generales, deberán asi-
milarse y dominarse los conceptos específicos enlistados en la tabla PT3.1.
Objetivos de cómputo. Sus objetivos de cómputo fundamentales son ser capaz de
resolver un sistema de ecuaciones algebraicas lineales y evaluar la matriz inversa. Usted
deberá tener subprogramas desarrollados para una descomposición LU, tanto de matri-
ces completas como tridiagonales. Quizá desee también tener su propio software para
implementar el método Gauss-Seidel.
Deberá saber cómo usar los paquetes para resolver ecuaciones algebraicas lineales
y encontrar la matriz inversa. También deberá conocer muy bien la manera en que las
mismas evaluaciones se pueden implementar en paquetes de uso común, como Excel y
MATLAB, así como con bibliotecas de software.
TABLA PT3.1 Objetivos específicos de estudio de la parte tres.
1. Comprender la interpretación gráfica de sistemas mal condicionados y cómo se relacionan con el
determinante.
2. Conocer la terminología: eliminación hacia adelante, sustitución hacia atrás, ecuación pivote y
coeficiente pivote.
3. Entender los problemas de división entre cero, errores de redondeo y mal condicionamiento.
4. Saber cómo calcular el determinante con la eliminación de Gauss.
5. Comprender las ventajas del pivoteo; notar la diferencia entre pivoteos parcial y completo.
6. Saber la diferencia fundamental entre el método de eliminación de Gauss y el de Gauss-Jordan y
cuál es más eficiente.
7. Reconocer el modo en que la eliminación de Gauss se formula como una descomposición LU.
8. Saber cómo incorporar el pivoteo y la inversión de matrices en un algoritmo de descomposición
LU.
9. Conocer el modo de interpretar los elementos de la matriz inversa al evaluar cálculos de respuesta
al estímulo en ingeniería.
10. Percatarse del modo de usar la inversa y las normas de matrices para evaluar la condición de un
sistema.
11. Entender cómo los sistemas bandeados y simétricos pueden descomponerse y resolverlos de
manera eficiente.
12. Entender por qué el método de Gauss-Seidel es adecuado para grandes sistemas de ecuaciones
dispersos.
13. Comprender cómo valorar la diagonal dominante de un sistema de ecuaciones y el modo de
relacionarla con el sistema para que pueda resolverse con el método de Gauss-Seidel.
14. Entender la fundamentación de la relajación; saber dónde son apropiadas la bajorrelajación y la
sobrerrelajación.
246 ECUACIONES ALGEBRAICAS LINEALES
CAPÍTULO 9
Eliminación de Gauss
En este capítulo se analizan las ecuaciones algebraicas lineales simultáneas que en ge-
neral se representan como
a x a x a x b
a x a x a x b
a x a x a x b
n n
n n
n n nn n n
11 1 12 2 1 1
21 1 22 2 2 2
1 1 2 2
+ + + =
+ + + =
⋅ ⋅
⋅ ⋅
⋅ ⋅
+ + + =



(9. 1)
donde las a son los coeficientes constantes y las b son los términos independientes
constantes.
La técnica que se describe en este capítulo se conoce como la eliminación de Gauss,
ya que implica una combinación de ecuaciones para eliminar las incógnitas. Aunque
éste es uno de los métodos más antiguos para resolver ecuaciones lineales simultáneas,
continúa siendo uno de los algoritmos de mayor importancia, y es la base para resolver
ecuaciones lineales en muchos paquetes de software populares.
9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES
Antes de analizar a los métodos computacionales, describiremos algunos métodos que
son apropiados en la solución de pequeños sistemas de ecuaciones simultáneas (n ≤ 3)
que no requieren de una computadora. Éstos son el método gráfico, la regla de Cramer
y la eliminación de incógnitas.
9.1.1 Método gráfico
Para dos ecuaciones se puede obtener una solución al graficarlas en coordenadas carte-
sianas con un eje que corresponda a x1 y el otro a x2. Debido a que en estos sistemas
lineales, cada ecuación se relaciona con una línea recta, lo cual se ilustra fácilmente
mediante las ecuaciones generales
a11x1 + a12x2 = b1
a21x1 + a22x2 = b2
248 ELIMINACIÓN DE GAUSS
En ambas ecuaciones se puede despejar x2:
x
a
a
x
b
a
x
a
a
x
b
a
2
11
12
1
1
12
2
21
22
1
2
22
= −
⎛
⎝
⎜
⎞
⎠
⎟ +
= −
⎛
⎝
⎜
⎞
⎠
⎟ +
De esta manera, las ecuaciones ahora están en la forma de líneas rectas; es decir, x2 =
(pendiente) x1 + intersección. Tales líneas se grafican en coordenadas cartesianas con
x2 como la ordenada y x1 como la abscisa. Los valores de x1 y x2 en la intersección de
las líneas representa la solución.
EJEMPLO 9.1 El método gráfico para dos ecuaciones
Planteamiento del problema. Con el método gráfico resuelva
3x1 + 2x2 = 18 (E9.1.1)
–x1 + 2x2 = 2 (E9.1.2)
Solución. Sea x1 la abscisa. Despejando x2 de la ecuación (E9.1.1)
x x
2 1
3
2
9
= − +
la cual, cuando se grafica como en la figura 9.1, es una línea recta con una intersección
en 9 y una pendiente de –3/2.
FIGURA 9.1
Solución gráfica de un conjunto de dos ecuaciones algebraicas lineales simultáneas.
La intersección de las líneas representa la solución.
0 6
2 4
0
6
2
4
8
x2
x1
Solución: x1  4; x2  3
x1
 2x2
 2
3
x
1

2
x
2

1
8
También de la ecuación (E9.1.2) se despeja x2:
x x
2 1
1
2
1
= +
la cual también se grafica en la figura 9.1. La solución es la intersección de las dos líneas
en x1 = 4 y x2 = 3. Este resultado se verifica al sustituir los valores en las ecuaciones
originales para obtener
3(4) + 2(3) = 18
–(4) + 2(3) = 2
De esta manera, los resultados son equivalentes a los valores de la derecha en las ecua-
ciones originales.
Para tres ecuaciones simultáneas, cada ecuación se representa como un plano en un
sistema de coordenadas tridimensional. El punto en donde se intersecan los tres planos
representa la solución. Para más de tres incógnitas, los métodos gráficos no funcionan y,
por consiguiente, tienen poco valor práctico para resolver ecuaciones simultáneas. No
obstante, resultan útiles para visualizar propiedades de las soluciones. Por ejemplo, la
figura 9.2 muestra tres casos que pueden ocasionar problemas al resolver sistemas de
ecuaciones lineales. La figura 9.2a presenta el caso en que las dos ecuaciones representan
líneas paralelas. En estos casos no existe solución, ya que las dos líneas jamás se cruzan.
La figura 9.2b representa el caso en que las dos líneas coinciden. En éste existe un número
infinito de soluciones. Se dice que ambos tipos de sistemas son singulares. Además, los
sistemas muy próximos a ser singulares (figura 9.2c) también pueden causar problemas;
a estos sistemas se les llama mal condicionados. Gráficamente, esto corresponde al hecho
de que resulta difícil identificar el punto exacto donde las líneas se intersecan. Los siste-
mas mal condicionados presentan problemas cuando se encuentran durante la solución
FIGURA 9.2
Representación gráfica de sistemas singulares y mal condicionados: a) no hay solución, b) hay una infinidad
de soluciones y c) sistema mal condicionado donde las pendientes son tan cercanas que es difícil
detectar visualmente el punto de intersección.
x2
x1
x1
 x2
 1
x1
 x2

a) b)
x2
x1
x1
 2x2
 2
x1
 x2
 1
c)
x2
x1
x1
 x2
 1
 2
1
x1
 x2
 1.1
 5
2.3
 2
1
 2
1
2
1
 2
1
9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES 249
250 ELIMINACIÓN DE GAUSS
numérica de ecuaciones lineales, lo cual se debe a que este tipo de sistemas son extrema-
damente sensibles a los errores de redondeo (recuerde la sección 4.2.3).
9.1.2 Determinantes y la regla de Cramer
La regla de Cramer es otra técnica de solución adecuada para un sistema pequeño de
ecuaciones. Antes de hacer una descripción de tal método, se mencionará en forma
breve el concepto de determinante que se utiliza en la regla de Cramer. Además, el de-
terminante tiene relevancia en la evaluación del mal condicionamiento de una matriz.
Determinantes. El determinante se puede ilustrar para un sistema de tres ecuaciones
simultáneas:
[A]{X} = {B}
donde [A] es la matriz de coeficientes:
[ ]
A
a a a
a a a
a a a
=
11 12 13
21 22 23
31 32 33
El determinante D de este sistema se forma, a partir de los coeficientes del sistema, de
la siguiente manera:
D
a a a
a a a
a a a
=
11 12 13
21 22 23
31 32 33
(9.2)
Aunque el determinante D y la matriz de coeficientes [A] se componen de los mismos
elementos, son conceptos matemáticos completamente diferentes. Por esto, para distin-
guirlos visualmente se emplean corchetes para encerrar la matriz y líneas rectas verti-
cales para el determinante. En contraste con una matriz, el determinante es un simple
número. Por ejemplo, el valor del determinante de segundo orden
D
a a
a a
=
⎡
⎣
⎢
⎤
⎦
⎥
11 12
21 22
se calcula como
D = a11a22 – a12a2l (9.3)
En el caso del determinante de tercer orden [ecuación (9.2)], el determinante, que es un
simple valor numérico, se calcula así
D a
a a
a a
a
a a
a a
a
a a
a a
= +
11
22 23
32 33
12
21 23
31 33
13
21 22
31 32
– (9.4)
donde a los determinantes de 2 por 2 se les llama menores.
EJEMPLO 9.2 Determinantes
Planteamiento del problema. Calcule los valores para los determinantes de los sis-
temas representados en las figuras 9.1 y 9.2.
Solución. Para la figura 9.1:
D = = − − =
3 2
1 2
3 2 2 1 8
–
( ) ( )
Para la figura 9.2a:
D =
−
−
=
− ⎛
⎝
⎞
⎠
=
1 2 1
1 2 1
1
2
1 1
1
2
0
/
/
( ) –
–
Para la figura 9.2b:
D =
−
−
=
−
=
1 2 1
1 2
1
2
2 1 1 0
/
( ) – (– )
Para la figura 9.2c:
D =
−
−
=
− ⎛
⎝
⎞
⎠
= −
1 2 1
2 3 5 1
1
2
1 1
2 3
5
0 04
/
. /
( ) –
– .
.
En el ejemplo anterior, los sistemas singulares tienen determinante cero. Además,
los resultados sugieren que el sistema que sea casi singular (figura 9.2c) tiene un deter-
minante cercano a cero. Estas ideas se tratarán también en análisis subsecuentes de mal
condicionamiento (sección 9.3.3).
Regla de Cramer. Esta regla establece que cada incógnita de un sistema de ecuacio-
nes lineales algebraicas puede expresarse como una fracción de dos determinantes con
denominador D y con el numerador obtenido a partir de D, al reemplazar la columna de
coeficientes de la incógnita en cuestión por las constantes b1, b2, …, bn. Por ejemplo, x1
se calcula como
x
b a a
b a a
b a a
D
1
1 12 13
2 22 23
3 32 33
= (9.5)
EJEMPLO 9.3 Regla de Cramer
Planteamiento del problema. Utilice la regla de Cramer para resolver
0.3x1 + 0.52x2 + x3 = –0.01
0.5x1 + x2 + 1.9x3 = 0.67
0.1x1 + 0.3x2 + 0.5x3 = –0.44
9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES 251
252 ELIMINACIÓN DE GAUSS
Solución. El determinante D se puede escribir como [ecuación (9.2)]
D =
0 3 0 52 1
0 5 1 1 9
0 1 0 3 0 5
. .
. .
. . .
Los menores son [ecuación (9.3)]
A
A
A
1
2
3
1 1 9
0 3 0 5
1 0 5 1 9 0 3 0 07
0 5 1 9
0 1 0 5
0 5 0 5 1 9 0 1 0 06
0 5 1
0 1 0 3
0 5 0 3 1 0 1 0 05
= = − = −
= = − =
= = − =
.
. .
( . ) . ( . ) .
. .
. .
. ( . ) . ( . ) .
.
. .
. ( . ) ( . ) .
Éstos se usan para evaluar el determinante, como en [ecuación (9.4)]
D = 0.3(–0.07) – 0.52(0.06) + 1(0.05) = –0.0022
Aplicando la ecuación (9.5), la solución es
x
x
x
1
2
3
0 01 0 52 1
0 67 1 1 9
0 44 0 3 0 5
0 0022
0 03278
0 0022
14 9
0 3 0 01 1
0 5 0 67 1 9
0 1 0 44 0 5
0 0022
0 0649
0 0022
29 5
0 3 0 52 0 01
0 5 1 0 67
0 1
=
−
= = −
=
−
= = −
=
−
– . .
. .
– . . .
.
.
– .
.
. – .
. . .
. – . .
.
.
– .
.
. . .
. .
. 0
0 3 0 44
0 0022
0 04356
0 0022
19 8
. – .
.
– .
– .
.
−
= =
Para más de tres ecuaciones, la regla de Cramer no resulta práctica, ya que, confor-
me aumenta el número de ecuaciones, los determinantes consumen tiempo al evaluarlos
manualmente (o por computadora). Por consiguiente, se usan otras alternativas más
eficientes. Algunas de éstas se basan en la última técnica, sin el uso de la computadora,
que se analizará en la siguiente sección: la eliminación de incógnitas.
9.1.3 La eliminación de incógnitas
La eliminación de incógnitas mediante la combinación de ecuaciones es un método al-
gebraico que se ilustra con un sistema de dos ecuaciones simultáneas:
a11x1 + a12x2 = b1 (9.6)
a21x1 + a22x2 = b2 (9.7)
La estrategia básica consiste en multiplicar las ecuaciones por constantes, de tal forma
que se elimine una de las incógnitas cuando se combinen las dos ecuaciones. El resul-
tado es una sola ecuación en la que se puede despejar la incógnita restante. Este valor
se sustituye en cualquiera de las ecuaciones originales para calcular la otra variable.
Por ejemplo, la ecuación (9.6) se multiplica por a21 y la ecuación (9.7) por a11 para dar
a11a21x1 + a12a21x2 = b1a21 (9.8)
a21a11x1 + a22a11x2 = b2a11 (9.9)
Restando la ecuación (9.8) de la (9.9) se elimina el término x1 de las ecuaciones para
obtener
a22a11x2 – a12a21x2 = b2a11 – b1a21
Despejando x2
x
a b a b
a a a a
2
11 2 21 1
11 22 12 21
=
–
–
(9.10)
Sustituyendo (9.10) en (9.6) y despejando
x
a b a b
a a a a
1
22 1 12 2
11 22 12 21
=
–
–
(9.11)
Observe que las ecuaciones (9.10) y (9.11) se relacionan directamente con la regla de
Cramer, que establece
x
b a
b a
a a
a a
b a a b
a a a a
x
a b
a b
a a
a a
a b b a
a a a a
1
1 12
2 22
11 12
21 22
1 22 12 2
11 22 12 21
2
11 1
21 2
11 12
21 22
11 2 1 21
11 22 12 21
= =
−
−
= =
−
−
9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES 253
254 ELIMINACIÓN DE GAUSS
EJEMPLO 9.4 Eliminación de incógnitas
Planteamiento del problema. Use la eliminación de incógnitas para resolver (recuer-
de el ejemplo 9.1)
3x1 + 2x2 = 18
–x1 + 2x2 = 2
Solución. Utilizando las ecuaciones (9.11) y (9.10),
x
x
1
2
2 18 2 2
3 2 2 1
4
3 2 1 18
3 2 2 1
3
= =
= =
( ) – ( )
( ) – (– )
( ) – (– )
( ) – (– )
cuyos valores coinciden con la solución gráfica (figura 9.1).
La eliminación de incógnitas se puede extender a sistemas con más de tres ecuacio-
nes. Sin embargo, los múltiples cálculos que se requieren para sistemas más grandes
hacen que el método sea extremadamente tedioso para realizarse a mano. No obstante,
como se describe en la siguiente sección, la técnica llega a formalizarse y programarse
fácilmente en la computadora.
9.2 ELIMINACIÓN DE GAUSS SIMPLE
En la sección anterior se utilizó la eliminación de incógnitas para resolver un par de
ecuaciones simultáneas. El procedimiento consistió de dos pasos:
1. Las ecuaciones se manipularon para eliminar una de las incógnitas de las ecuaciones.
El resultado de este paso de eliminación fue el de una sola ecuación con una incóg-
nita.
2. En consecuencia, esta ecuación se pudo resolver directamente y el resultado susti-
tuirse atrás en una de las ecuaciones originales para encontrar la incógnita restante.
Esta técnica básica puede extenderse a sistemas grandes de ecuaciones desarrollan-
do un esquema sistemático o algorítmico para eliminar incógnitas y sustituir hacia atrás.
La eliminación de Gauss es el más básico de dichos esquemas.
Esta sección presenta las técnicas sistemáticas para la eliminación hacia adelante y
la sustitución hacia atrás que la eliminación gaussiana comprende. Aunque tales técnicas
son muy adecuadas para utilizarlas en computadoras, se requiere de algunas modifica-
ciones para obtener un algoritmo confiable. En particular, el programa debe evitar la
división entre cero. Al método siguiente se le llama eliminación gaussiana “simple”, ya
que no evita este problema. En las siguientes secciones se verán algunas características
adicionales necesarias para obtener un programa de cómputo efectivo.
El método está ideado para resolver un sistema general de n ecuaciones:
a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1 (9.12a)
a21x1 + a22x2 + a23x3 + · · · + a2nxn = b2 (9.12b)
· ·
· ·
· ·
an1x1 + an2x2 + an3x3 + · · · + annxn = bn (9.12c)
Como en el caso de dos ecuaciones, la técnica para resolver n ecuaciones consiste en dos
fases: la eliminación de las incógnitas y su solución mediante sustitución hacia atrás.
Eliminación hacia adelante de incógnitas. La primera fase consiste en reducir el
conjunto de ecuaciones a un sistema triangular superior (figura 9.3). El paso inicial será
eliminar la primera incógnita, x1, desde la segunda hasta la n-ésima ecuación. Para ello,
se multiplica la ecuación (9.12a) por a21/a11 para obtener
a x
a
a
a x
a
a
a x
a
a
b
n n
21 1
21
11
12 2
21
11
1
21
11
1
+ + + =
 (9.13)
Ahora, esta ecuación se resta de la ecuación (9.12b) para dar
a
a
a
a x a
a
a
a x b
a
a
b
n n n
22
21
11
12 2 2
21
11
1 2
21
11
1
–
⎛
⎝
⎜
⎞
⎠
⎟ + + −
⎛
⎝
⎜
⎞
⎠
⎟ = −

o
′ + + ′ = ′
a x a x b
n n
22 2 2 2

donde el superíndice prima indica que los elementos han cambiado sus valores originales.
FIGURA 9.3
Las dos fases de la
eliminación de Gauss:
eliminación hacia adelante
y sustitución hacia atrás.
Los superíndices prima
indican el número de veces
que se han modificado los
coeficientes y constantes.
a a a c
a a a c
a a a c
a a a c
a a c
a c
x c a
x c a x a
x c a x a x
11 12 13 1
21 22 23 2
31 32 33 3
11 12 13 1
22 23 2
33 3
3 3 33
2 2 23 3 22
1 1 12 2 13
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⇓
′ ′ ′
′′ ′′
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⇓
= ′′ ′′
= ′ − ′ ′
= −
/
( )/
( – 3
3 11
)/a
Eliminación
hacia adelante
Sustitución
hacia atrás
9.2 ELIMINACIÓN DE GAUSS SIMPLE 255
256 ELIMINACIÓN DE GAUSS
El procedimiento se repite después con las ecuaciones restantes. Por ejemplo, la
ecuación (9.12a) se puede multiplicar por a31/a11 y el resultado se resta de la tercera ecua-
ción. Se repite el procedimiento con las ecuaciones restantes y da como resultado el
siguiente sistema modificado:
a11x1 + a12x2 + a13x3 + ··· + a1nxn = b1 (9.14a)
a′
22x2 + a′23x3 + ··· + a′2nxn = b′2 (9.14b)
a′32x2 + a′33x3 + ··· + a′3nxn = b′3 (9.14c)
· ·
· ·
· ·
a′
n2x2 + a′n3x3 + · · · + a′nnxn = b′n (9.14d)
En los pasos anteriores, la ecuación (9.12a) se llama la ecuación pivote, y a11 se deno-
mina el coeficiente o elemento pivote. Observe que el proceso de multiplicación del
primer renglón por a21/a11 es equivalente a dividirla entre a11 y multiplicarla por a21.
Algunas veces la operación de división es referida a la normalización. Se hace esta
distinción porque un elemento pivote cero llega a interferir con la normalización al
causar una división entre cero. Más adelante se regresará a este punto importante, una
vez que se complete la descripción de la eliminación de Gauss simple.
Ahora se repite el procedimiento antes descrito para eliminar la segunda incógnita
en las ecuaciones (9.14c) hasta (9.14d). Para realizar esto, multiplique la ecuación (9.14b)
por a′
32/a′22 y reste el resultado de la ecuación (9.14c). Se realiza la eliminación en forma
similar en las ecuaciones restantes para obtener
a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1
a′
22x2 + a′23x3 + · · · + a′2nxn = b′2
a′′
33x3 + · · · + a′′3nxn = b′′3
· ·
· ·
· ·
a′′
n3x3 + · · · + a′′nnxn = b′′n
donde el superíndice biprima indica que los elementos se han modificado dos veces.
El procedimiento puede continuar usando las ecuaciones pivote restantes. La última
manipulación en esta secuencia es el uso de la (n – 1)ésima ecuación para eliminar el
término xn–1 de la n-ésima ecuación. Aquí el sistema se habrá transformado en un siste-
ma triangular superior (véase el cuadro PT3.1):
a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1 (9.15a)
a′
22x2 + a′23x3 + · · · + a′2nxn = b′2 (9.15b)
a′′
33x3 + · · · + a′′
3nxn = b′′
3 (9.15c)
· ·
· ·
· ·
ann
(n – 1)
xn = bn
(n – 1)
(9.15d)
El seudocódigo para implementar la eliminación hacia adelante se presenta en la
figura 9.4a. Observe que tres ciclos anidados proporcionan una representación concisa
del proceso. El ciclo externo mueve hacia abajo de la matriz el renglón pivote. El siguien-
te ciclo mueve hacia abajo el renglón pivote a cada renglón subsecuente, donde la elimi-
nación se llevará a cabo. Finalmente, el ciclo más interno avanza a través de las
columnas para eliminar o transformar los elementos de un renglón determinado.
Sustitución hacia atrás. De la ecuación (9.15d) ahora se despeja xn:
x
b
a
n
n
n
nn
n
=
( – )
( – )
1
1
(9.16)
Este resultado se puede sustituir hacia atrás en la (n – 1)ésima ecuación y despegar xn – 1.
El procedimiento, que se repite para evaluar las x restantes, se representa mediante la
fórmula:
x
b a x
a
i n n
i
i
i
ij
i
j
j i
n
ii
i
=
−
= …
−
= +
∑
( ) ( – )
( – )
– , – , ,
1 1
1
1
1 2 1
para (9.17)
El seudocódigo para implementar las ecuaciones (9.16) y (9.17) se representa en la
figura 9.4b. Observe la similitud entre este seudocódigo y el mostrado en la figura PT3.4
para la multiplicación de matrices. De la misma forma que en la figura PT3.4, se utiliza
una variable temporal sum para acumular la sumatoria de la ecuación (9.17). Esto da por
resultado un tiempo de ejecución más rápido que si la sumatoria fuera acumulada en bi.
Más importante aún es que esto permite una mayor eficiencia en la precisión si la varia-
ble, sum, se declara como variable de doble precisión.
FIGURA 9.4
Seudocódigo que realiza
a) la eliminación hacia
adelante y b) la sustitución
hacia atrás.
a) DOFOR k = 1, n — 1
DOFOR i = k + 1, n
factor = ai,k / ak,k
DOFOR j = k + 1 to n
ai,j = ai,j — factor · ak,j
END DO
bi = bi — factor · bk
END DO
END DO
b) xn = bn / an,n
DOFOR i = n — 1, 1, —1
sum = bi
DOFOR j = i + 1, n
sum = sum – ai,j · xj
END DO
xi = sum / ai,i
END DO
9.2 ELIMINACIÓN DE GAUSS SIMPLE 257
258 ELIMINACIÓN DE GAUSS
EJEMPLO 9.5 Eliminación de Gauss simple
Planteamiento del problema. Emplee la eliminación de Gauss para resolver
3x1 – 0.1x2 – 0.2x3 = 7.85 (E9.5.1)
0.1x1 + 7x2 – 0.3x3 = –19.3 (E9.5.2)
0.3x1 – 0.2x2 + 10x3 = 71.4 (E9.5.3)
Efectúe los cálculos con seis cifras significativas.
Solución. La primera parte del procedimiento es la eliminación hacia adelante. Se
multiplica la ecuación (E9.5.1) por (0.1)/3 y se resta el resultado de la ecuación (E9.5.2)
para obtener
7.00333x2 – 0.293333x3 = –19.5617
Después, se multiplica la ecuación (E9.5.1) por (0.3)/3 y se resta de la ecuación (E9.5.3)
para eliminar x1. Luego de efectuar estas operaciones, el sistema de ecuaciones es
3x1 –0.1x2 –0.2x3 = 7.85 (E9.5.4)
7.00333x2 – 0.293333x3 = –19.5617 (E9.5.5)
–0.190000x2 + 10.0200x3 = 70.6150 (E9.5.6)
Para completar la eliminación hacia adelante, x2 debe eliminarse de la ecuación
(E9.5.6). Para llevar a cabo esto, se multiplica la ecuación (E9.5.5) por –0.190000/7.00333
y se resta el resultado de la ecuación (E9.5.6). Esto elimina x2 de la tercera ecuación y
reduce el sistema a una forma triangular superior:
3x1 –0.1x2 –0.2x3 = 7.85 (E9.5.7)
7.00333x2 – 0.293333x3 = –19.5617 (E9.5.8)
10.0200x3 = 70.0843 (E9.5.9)
Ahora se pueden resolver estas ecuaciones por sustitución hacia atrás. En primer lugar,
de la ecuación (E9.5.9) se despeja x3
x3
70 0843
10 0200
7 00003
= =
.
.
. (E9.5.10)
Este resultado se sustituye en la ecuación (E9.5.8):
7.00333x2 – 0.293333(7.00003) = –19.5617
de la que se despeja
x2
19 5617 0 293333 7 00003
7 00333
2 50000
=
+
=
– . . ( . )
.
– . (E9.5.11)
Por último, las ecuaciones (E9.5.10) y (E9.5.11) se sustituyen en la (E9.5.4):
3x1 – 0.1(–2.50000) – 0.2(7.00003) = 7.85
de la que se despeja x1,
x1
7 85 0 1 2 50000 0 2 7 00003
3
3 00000
=
+ +
=
. . (– . ) . ( . )
.
Aunque hay un pequeño error de redondeo en la ecuación (E9.5.10), los resultados son
muy cercanos a la solución exacta, x1 = 3, x2 = –2.5 y x3 = 7. Esto se verifica al sustituir
los resultados en el sistema de ecuaciones original:
3(3) – 0.1(–2.5) – 0.2(7.00003) = 7.84999 ≅ 7.85
0.1(3) + 7(–2.5) – 0.3(7.00003) = –19.3000 = –19.3
0.3(3) – 0.2(–2.5) + 10(7.00003) = 71.4003 ≅ 71.4
9.2.1 Conteo de las operaciones
El tiempo de ejecución en la eliminación gaussiana depende de la cantidad de operacio-
nes con punto flotante (o FLOP) usadas en el algoritmo. En general, el tiempo consumi-
do para ejecutar multiplicaciones y divisiones es casi el mismo, y es mayor que para las
sumas y restas.
Antes de analizar la eliminación de Gauss simple, primero se definirán algunas
cantidades que facilitan el conteo de operaciones:
(9.18a, b)
(9.18c, d)
(9.18e)
(9.18f)
donde O(mn
) significa “términos de orden mn
y menores”.
Ahora se examinará en forma detallada el algoritmo de la eliminación de Gauss
simple. Como en la figura 9.4a, primero se contará la multiplicación/división de FLOP
en la etapa de la eliminación. En el primer paso durante el ciclo externo, k = 1. Por lo
tanto, los límites del ciclo intermedio son desde i = 2 hasta n. De acuerdo con la ecuación
(9.18d), esto significa que el número de iteraciones en el ciclo intermedio será
1 2 1 1
2
= − + =
=
∑ n n
i
n
– (9.19)
Ahora,paracadaunadeestasiteraciones,hayunadivisiónparadefinirelfactor=ai,K/ak,k.
El ciclo interno realiza después una sola multiplicación (factor · ak,j) para cada iteración
cf i c f i f i g i f i g i
m m k
i m
m m m
O m
i
i
m
i
m
i
m
i
m
i
m
i k
m
i
m
i
m
( ) ( ) ( ) ( ) ( ) ( )
–
( )
( )
= + = +
= + + + = = +
= + + + + =
+
= +
=
=
=
=
=
=
=
=
∑
∑
∑
∑
∑
∑
∑
∑
1
1
1
1
1
1
1
2
2
1 1 1 1 1 1
1 2 3
1
2 2


=
= + + + + =
+ +
= +
=
∑ 1 2 3
1 2 1
6 3
2 2 2 2
1
3
2
 m
m m m m
O m
i
m
( )( )
( )
9.2 ELIMINACIÓN DE GAUSS SIMPLE 259
260 ELIMINACIÓN DE GAUSS
de j = 2 a n. Por último, hay una multiplicación más del valor del lado derecho (factor ·
bk). Así, en cada iteración del ciclo intermedio, el número de multiplicaciones es
1 + [n – 2 + 1] + 1 = 1 + n (9.20)
El total en la primera pasada del ciclo externo, por lo tanto, se obtiene al multiplicar la
ecuación (9.19) por la (9.20) para obtener [n – 1](1 + n).
Un procedimiento similar se emplea para estimar las FLOP de la multiplicación/
división en las iteraciones subsecuentes del ciclo externo. Esto se resume así:
Lazo externo Lazo medio Flops de Flops de
k i Suma/Resta Multiplicación/División
1 2, n (n – 1) (n) (n – 1)(n + 1)
2 3, n (n – 2)(n – 1) (n – 2)(n)
· · ·
· · ·
· · ·
k k + 1, n (n – k)(n + 1 – k) (n – k)(n + 2 – k)
· · ·
· · ·
· · ·
n – 1 n, n (1) (2) (1) (3)
Por tanto, el total de flops de la suma/resta para el proceso de eliminación se calcu-
la como
( – )( – ) [ ( ) – ( ) ]
–
n k n k n n k n k
k
n
k
n
+ = + + +
=
=
∑
1 1 2 1 2
1
1
1
–
–1
∑
o bien
n n n k k
k
n
k
n
k
n
( ) ( )
+ − + +
=
−
=
−
=
−
∑ ∑ ∑
1 1 2 1
1
1
1
1
2
1
1
Al aplicar alguna de las relaciones de la ecuación (9.18) se obtiene
[ ( )] [ ( ) ( ) (
n O n n O n n O n
n
O
3 3 2 3 2
3
1
3 3
+ − + + +
⎡
⎣
⎢
⎤
⎦
⎥ = + n
n) (9.21)
Un análisis similar para los flops de la multiplicación/división lleva a lo siguiente
[ ( )] [ ( ) ( ) (
n O n n O n n O n
n
O
3 2 3 3 2
3
1
3 3
+ − + + +
⎡
⎣
⎢
⎤
⎦
⎥ = + n
n2
) (9.22)
Al sumar el resultado queda
2
3
3
2
n
O n
+ ( )
Así, el número total de flops es igual a 2n3
/3 más un componente adicional de pro-
porcionalidad para términos de orden n2
y menores. El resultado se escribe de esta
manera porque conforme n crece, los términos O(n2
) y menores se hacen despreciables.
Por tanto, se justifica concluir que para un valor de n grande, el esfuerzo necesario para
la eliminación hacia adelante converge a 2n3
/3.
Debido a que sólo se utiliza un lazo (ciclo), la sustitución hacia atrás es mucho más
fácil de evaluar. El número de flops adicionales para la suma/resta es igual a n(n – 1)/2.
Debido a la división adicional anterior al lazo, el número de flops para la multiplicación/
división es n(n + 1)/2. Esto se suma para llegar a un total de
n2
+ O(n)
Entonces, el trabajo total en la eliminación de Gauss simple se representa como
2
3 2
3
2
2
n
O n
n
O n n
+ + + ⎯ →
⎯⎯⎯⎯
( ) ( ) conforme aumenta
⎯
⎯ +
2
3
3
2
n
O n
( ) (9.23)
Eliminación Sustitución
hacia adelante hacia atrás
En este análisis destacan dos conclusiones generales útiles:
1. Conforme el sistema se vuelve más grande, el tiempo de cálculo aumenta enorme-
mente. Como en la tabla 9.1, la cantidad de FLOP aumenta casi tres órdenes de
magnitud por cada orden de aumento de la dimensión.
2. La mayor parte del trabajo ocurre en el paso de eliminación. Así, para hacer el mé-
todo más eficiente, debería enfocarse a este paso.
9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN
Mientras que hay muchos sistemas de ecuaciones que se pueden resolver con la elimi-
nación de Gauss simple, existen algunas dificultades que se deben analizar, antes de
escribir un programa de cómputo general donde se implemente el método. Aunque el
siguiente material se relaciona en forma directa con la eliminación de Gauss simple, la
información también es relevante para otras técnicas de eliminación.
9.3.1 División entre cero
La razón principal por la que se le ha llamado simple al método anterior se debe a que
durante las fases de eliminación y sustitución hacia atrás es posible que ocurra una di-
visión entre cero. Por ejemplo, si se utiliza el método de eliminación de Gauss simple
para resolver
2x2 + 3x3 = 8
4xl + 6x2 + 7x3 = –3
2x1 + x2 + 6x3 = 5
en la normalización del primer renglón habrá una división entre a11 = 0. También se
pueden presentar problemas cuando un coeficiente está muy cercano a cero. La técnica
TABLA 9.1 Número de FLOP en la eliminación de Gauss simple.
Porcentaje
Sustitución Total debido a la
n Eliminación hacia atrás de FLOP 2n3
/3 eliminación
10 375 55 430 333 87.21%
100 338250 5050 343300 333333 98.53%
1000 3.34E+08 500500 3.34 × 108
3.33 × 108
99.85%
9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN 261
262 ELIMINACIÓN DE GAUSS
de pivoteo se ha desarrollado para evitar en forma parcial estos problemas. Ésta se des-
cribe en la sección 9.4.2.
9.3.2 Errores de redondeo
Aun cuando la solución del ejemplo 9.5 fue cercana a la solución verdadera, existe una
pequeña discrepancia en el resultado de x3 [ecuación (E9.5.10)]. Esta diferencia, que
corresponde a un error relativo del –0.00043%, se debe al uso de seis cifras significati-
vas durante los cálculos. Si se hubiesen utilizado más cifras significativas, el error en
los resultados se habría reducido considerablemente. Si se hubiesen usado fracciones
en lugar de decimales (y en consecuencia evitado los errores de redondeo), los resulta-
dos habrían sido exactos. Sin embargo, como las computadoras manejan sólo un núme-
ro limitado de cifras significativas (recuerde la sección 3.4.1), es posible que ocurran
errores de redondeo y se deben considerar al evaluar los resultados.
El problema de los errores de redondeo llega a volverse particularmente importan-
te cuando se trata de resolver un gran número de ecuaciones. Esto se debe al hecho de
que cada resultado depende del anterior. Por consiguiente, un error en los primeros pasos
tiende a propagarse, es decir, a causar errores en los siguientes pasos.
Resulta complicado especificar el tamaño de los sistemas donde los errores de re-
dondeo son significativos, ya que depende del tipo de computadora y de las propieda-
des de las ecuaciones. Una regla generalizada consiste en suponer que los errores de
redondeo son de importancia cuando se trata de sistemas de 100 o más ecuaciones. En
cualquier caso, siempre se deben sustituir los resultados en las ecuaciones originales y
verificar si ha ocurrido un error sustancial. No obstante, como se verá más adelante, las
magnitudes de los mismos coeficientes pueden influir en la aceptación de si una de
estas pruebas de error asegura un resultado confiable.
9.3.3 Sistemas mal condicionados
Lo adecuado de una solución depende de la condición del sistema. En la sección 9.1.1 se
desarrolló una representación gráfica de la condición de un sistema. Como se estudió en
la sección 4.2.3, los sistemas bien condicionados son aquellos en los que un pequeño
cambio en uno o más coeficientes provoca un cambio similarmente pequeño en la solu-
ción. Los sistemas mal condicionados son aquellos en donde pequeños cambios en los
coeficientes generan grandes cambios en la solución. Otra interpretación del mal condi-
cionamiento es que un amplio rango de resultados puede satisfacer las ecuaciones en
forma aproximada. Debido a que los errores de redondeo llegan a provocar pequeños
cambios en los coeficientes, estos cambios artificiales pueden generar grandes errores
en la solución de sistemas mal condicionados, como se ilustra en el siguiente ejemplo.
EJEMPLO 9.6 Sistemas mal condicionados
Planteamiento del problema. Resuelva el siguiente sistema:
x1 + 2x2 = 10 (E9.6.1)
1.1x1 + 2x2 = 10.4 (E9.6.2)
Después, resuélvalo de nuevo, pero con el coeficiente x1 de la segunda ecuación modi-
ficado ligeramente como 1.05.
Solución. Usando las ecuaciones (9.10) y (9.11), la solución es
x
x
1
2
2 10 2 10 4
1 2 2 1 1
4
1 10 4 1 1 10
1 2 2 1 1
3
= =
= =
( ) – ( . )
( ) – ( . )
( . ) – . ( )
( ) – ( . )
Sin embargo, con un ligero cambio al coeficiente a21 de 1.1 a 1.05, el resultado cambia
de forma drástica a
x
x
1
2
2 10 2 10 4
1 2 2 1 05
8
1 10 4 1 1 10
1 2 2 1 05
1
= =
= =
( ) – ( . )
( ) – ( . )
( . ) – . ( )
( ) – ( . )
Observe que la razón principal de la discrepancia entre los dos resultados es que el
denominador representa la diferencia de dos números casi iguales. Como se explicó
previamente en la sección 3.4.2, tales diferencias son altamente sensibles a pequeñas
variaciones en los números empleados.
En este punto, se podría sugerir que la sustitución de los resultados en las ecuacio-
nes originales alertaría al lector respecto al problema. Por desgracia, con frecuencia éste
no es el caso en sistemas mal condicionados. La sustitución de los valores erróneos x1 =
8 y x2 = 1 en las ecuaciones (E9.6.1) y (E9.6.2) resulta en
8 + 2(1) = 10 = 10
1.1(8) + 2(1) = 10.8 ≅ 10.4
Por lo tanto, aunque x1 = 8 y x2 = 1 no sea la solución verdadera al problema original, la
prueba de error es lo suficientemente cercana para quizá confundirlo y hacerle creer que
las soluciones son las adecuadas.
Como se hizo antes en la sección sobre métodos gráficos, es posible dar una repre-
sentación visual del mal condicionamiento al graficar las ecuaciones (E9.6.1) y (E9.6.2)
(recuerde la figura 9.2). Debido a que las pendientes de las líneas son casi iguales, vi-
sualmente es difícil percibir con exactitud dónde se intersecan. Dicha dificultad visual
se refleja en forma cuantitativa en los resultados ambiguos del ejemplo 9.6. Esta situa-
ción se puede caracterizar matemáticamente escribiendo las dos ecuaciones en su forma
general:
a11x1 + al2x2 = b1 (9.24)
a21x1 + a22x2 = b2 (9.25)
Dividiendo la ecuación (9.24) entre a12 y la (9.25) entre a22, y reordenando términos, se
obtienen las versiones alternativas en el formato de líneas rectas [x2 = (pendiente) x1 +
intersección]:
9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN 263
264 ELIMINACIÓN DE GAUSS
x
a
a
x
b
a
x
a
a
x
b
a
2
11
12
1
1
12
2
21
22
1
2
22
= +
= +
–
–
Por consiguiente, si las pendientes son casi iguales
a
a
a
a
11
12
21
22
≅
o, multiplicando en cruz,
a11a22 ≅ a12a21
lo cual se expresa también como
a11a22 – a12a21 ≅ 0 (9.26)
Ahora, si recordamos que a11a22 – a12a21 es el determinante de un sistema bidimen-
sional [ecuación (9.3)], se llega a la conclusión general de que un sistema mal condicio-
nado es aquel en el que su determinante es cercano a cero. De hecho, si el determinante
es exactamente igual a cero, las dos pendientes son idénticas, lo cual indica ya sea que
no hay solución o que hay un número infinito de soluciones, como es el caso de los
sistemas singulares ilustrados en las figuras 9.2a y 9.2b.
Es difícil especificar qué tan cerca de cero debe estar el determinante de manera
que indique un mal condicionamiento. Esto se complica por el hecho de que el determi-
nante puede cambiar al multiplicar una o más ecuaciones por un factor de escalamiento
sin alterar la solución. Por consiguiente, el determinante es un valor relativo que se ve
influenciado por la magnitud de los coeficientes.
EJEMPLO 9.7 Efecto de escalamiento sobre el determinante
Planteamiento del problema. Evalúe el determinante de los siguientes sistemas:
a) Del ejemplo 9.1:
3x1 + 2x2 = 18 (E9.7.1)
–x1 + 2x2 = 2 (E9.7.2)
b) Del ejemplo 9.6:
x1 + 2x2 = 10 (E9.7.3)
1.1x1 + 2x2 = 10.4 (E9.7.4)
c) Repita b), pero multiplique las ecuaciones por 10.
Solución.
a) El determinante de las ecuaciones (E9.7.1) y (E.9.7.2) que están bien condicio-
nadas, es
D = 3(2) – 2(–1) = 8
b) El determinante de las ecuaciones (E9.7.3) y (E9.7.4), que están mal condicio-
nadas, es
D = 1(2) – 2(1.1) = –0.2
c) Los resultados en a) y b) parecen corroborar el argumento de que los sistemas mal
condicionados tienen determinantes cercanos a cero. Sin embargo, suponga que el
sistema mal condicionado en b) se multiplica por 10, para obtener
10x1 + 20x2 = 100
11x1 + 20x2 = 104
La multiplicación de una ecuación por una constante no tiene efecto en su solu-
ción. Además, todavía está mal condicionada. Esto se verifica por el hecho de que
multiplicar por una constante no tiene efecto en la solución gráfica. No obstante, el
determinante se afecta en forma drástica:
D = 10(20) – 20(11) = –20
No sólo se han elevado en dos órdenes de magnitud, sino que ahora es más de dos
veces el determinante del sistema bien condicionado a).
Como se ilustró en el ejemplo anterior, la magnitud de los coeficientes interpone un
efecto de escalamiento, que complica la relación entre la condición del sistema y el ta-
maño del determinante. Una manera de evitar parcialmente esta dificultad es escalando
las ecuaciones en forma tal que el elemento máximo en cualquier renglón sea igual a 1.
EJEMPLO 9.8 Escalamiento
Planteamiento del problema. Escale los sistemas de ecuaciones del ejemplo 9.7 a un
valor máximo de 1 y calcule de nuevo sus determinantes.
Solución.
a) Para el sistema bien condicionado, el escalamiento resulta en
x1 + 0.667x2 = 6
–0.5x1 + x2 = 1
cuyo determinante es
D = 1(1) – 0.667(–0.5) = 1.333
9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN 265
266 ELIMINACIÓN DE GAUSS
b) Para el sistema mal condicionado, el escalamiento resulta en
0.5x1 + x2 = 5
0.55x1 + x2 = 5.2
cuyo determinante es
D = 0.5(1) – 1(0.55) = –0.05
c) En el último caso, al realizar los cambios del escalamiento, el sistema toma la misma
forma que en b) y el determinante es también –0.05. De esta forma, se remueve el
efecto de la multiplicación por el escalar.
En una sección anterior (sección 9.1.2) se mencionó que el determinante es difícil
de evaluar para más de tres ecuaciones simultáneas. Por lo tanto, podría parecer que no
ofrece un recurso práctico para evaluar la condición de un sistema. Sin embargo, como
se describe en el cuadro 9.1, existe un algoritmo simple que resulta de la eliminación de
Gauss y que se puede usar para la evaluación del determinante.
Cuadro 9.1 Evaluación de determinantes usando la eliminación de Gauss
En la sección 9.1.2 se dijo que la evaluación de los determinan-
tes por expansión de menores no resultaba práctico para grandes
sistemas de ecuaciones. De esta forma, se concluyó que la regla
de Cramer sólo es aplicable a sistemas pequeños. Sin embargo,
como se mencionó en la sección 9.3.3, el valor del determinante
permite estimar la condición de un sistema. Por lo tanto, será útil
tener un método práctico para calcular esta cantidad.
Por fortuna, la eliminación gaussiana proporciona una forma
simple para hacerlo. El método se basa en el hecho de que el
determinante de una matriz triangular se puede calcular de forma
simple, como el producto de los elementos de su diagonal:
D = a11a22a33 … ann (C9.1.1)
La validez de esta formulación se ilustra para un sistema de 3
por 3:
D
a a a
a a
a
=
11 12 13
22 23
33
0
0 0
donde el determinante se evalúa como [recuerde la ecuación (9.4)]
D a
a a
a
a
a
a
a
a
= +
11
22 23
33
12
23
33
13
22
0
0
0
0
0 0
–
o evaluando los menores (es decir, los determinantes 2 por 2)
D a a a a a a a a
= − + =
11 22 23 12 13 11 22 33
0 0
( ) ( )
Recuerde que el paso de eliminación hacia adelante de la
eliminación de Gauss genera un sistema triangular superior.
Puesto que el valor del determinante no cambia con el proceso
de eliminación hacia adelante, simplemente el determinante se
evalúa al final de este paso por medio de
D a a a ann
n
= ′ ′′ −
11 22 33
1
 ( )
(C9.1.2)
donde los superíndices indican el número de veces que los ele-
mentos han sido modificados en el proceso de eliminación. Por
lo tanto, es posible aprovechar el esfuerzo que se ha logrado al
reducir el sistema a su forma triangular, y obtener un cálculo
simple del determinante.
Hay una ligera modificación al método anterior cuando el
programa usa pivoteo parcial (la sección 9.4.2). En este caso,
el determinante cambia de signo cada vez que un renglón es
pivoteado. Una manera de representar esto es modificando la
ecuación (C9.1.2):
D a a a ann
n p
= ′ ′′ −
−
11 22 33
1
1
 ( )
( ) (C9.1.3)
donde p representa el número de veces en que los renglones se
pivotean. Esta modificación se puede incorporar de forma simple
en un programa; únicamente rastree el número de pivoteos que
se llevan a cabo durante el transcurso de los cálculos y después
use la ecuación (C9.1.3) para evaluar el determinante.
Además del método usado en el ejemplo anterior existen otras formas para evaluar la
condición del sistema. Por ejemplo, hay métodos alternativos para normalizar los elemen-
tos (véase Stark, 1970). Además, como se verá en el capítulo siguiente (sección 10.3), la
matriz inversa y la norma de una matriz pueden usarse para evaluar la condición de un
sistema. Por último, una prueba simple (pero que consume tiempo) consiste en modificar
ligeramente los coeficientes y repetir la solución. Si tales modificaciones generan resul-
tados drásticamente diferentes, es posible que el sistema esté mal condicionado.
Como se deduce del análisis anterior, los sistemas mal condicionados resultan pro-
blemáticos. Por fortuna, la mayoría de las ecuaciones algebraicas lineales, obtenidas de
un problema de ingeniería, son por naturaleza bien condicionadas. Además, algunas
de las técnicas presentadas en la sección 9.4 ayudarán a reducir el problema.
9.3.4 Sistemas singulares
En la sección anterior se aprendió que una forma con la cual un sistema de ecuaciones
puede estar mal condicionado es cuando dos o más de las ecuaciones son casi idénticas.
Obviamente aún es peor cuando las dos son idénticas. En tales casos, se pierde un grado
de libertad y se daría un caso imposible de n – 1 ecuaciones con n incógnitas. Tales
casos podrían no ser obvios, en particular cuando se enfrenta con grandes sistemas de
ecuaciones. En consecuencia, sería útil tener una forma de detectar la singularidad
de manera automática.
La respuesta a este problema está claramente dada por el hecho de que el determi-
nante de un sistema singular es cero. Esta idea, a su vez, puede relacionarse con la eli-
minación gaussiana reconociendo que después del paso de eliminación, el determinante
se evalúa como el producto de los elementos de la diagonal (recuerde el cuadro 9.1). Así,
un algoritmo de computadora puede efectuar una prueba para discernir si se crea un cero
en la diagonal durante la etapa de la eliminación. Si se descubre uno, el cálculo se pue-
de terminar inmediatamente y en la pantalla aparecerá un mensaje de alerta. Se mostra-
rán más tarde, en este capítulo, los detalles de cómo se realiza esto cuando se presente
el algoritmo completo de la eliminación de Gauss.
9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES
Las siguientes técnicas se pueden incorporar al algoritmo de eliminación de Gauss
simple, para evitar algunos de los problemas analizados en la sección previa.
9.4.1 Uso de más cifras significativas
El remedio más simple para el mal condicionamiento consiste en emplear más cifras
significativas en los cálculos. Si la computadora tiene la capacidad para usar más cifras,
esta característica reducirá enormemente el problema. No obstante, el precio que hay
que pagar en cálculo y memoria se eleva con el uso de la precisión extendida (recuerde
la sección 3.4.1).
9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 267
268 ELIMINACIÓN DE GAUSS
9.4.2 Pivoteo
Como se mencionó al inicio de la sección 9.3, ocurren problemas obvios cuando un
elemento pivote es cero, ya que el paso de normalización origina una división entre cero.
También llegan a surgir problemas cuando el elemento pivote es cercano a —o más aún
que sea exactamente igual a— cero, debido a que si la magnitud del elemento pivote es
pequeña comparada con los otros elementos, entonces se pueden introducir errores de
redondeo.
Por lo tanto, antes de normalizar cada renglón, resulta conveniente determinar el
coeficiente más grande disponible en la columna debajo del elemento pivote. Los ren-
glones se pueden intercambiar de manera que el elemento más grande sea el elemento
pivote; esto se conoce como pivoteo parcial. Al procedimiento, donde tanto en las co-
lumnas como en los renglones se busca el elemento más grande y luego se intercambian,
se le conoce como pivoteo completo, el cual se usa en muy raras ocasiones debido a que
al intercambiar columnas se cambia el orden de las x y, en consecuencia, se agrega
complejidad significativa y usualmente injustificada al programa de computadora. El
siguiente ejemplo ilustra las ventajas del pivoteo parcial. Además de evitar la división
entre cero, el pivoteo también minimiza el error de redondeo. Como tal, sirve también
para resolver parcialmente el mal condicionamiento.
EJEMPLO 9.9 Pivoteo parcial
Planteamiento del problema. Emplee la eliminación de Gauss para resolver
0.0003x1 + 3.0000x2 = 2.0001
1.0000x1 + 1.0000x2 = 1.0000
Observe que en esta forma el primer elemento pivote, a11 = 0.0003, es muy cercano a
cero. Entonces haga de nuevo el cálculo, pero ahora con pivoteo parcial, invirtiendo el
orden de las ecuaciones. La solución exacta es x1 = 1/3 y x2 = 2/3.
Solución. Multiplicando la primera ecuación por 1/(0.0003) da como resultado
x1 + 10000x2 = 6667
lo cual se utiliza para eliminar x1 de la segunda ecuación:
–9999x2 = –6666
de donde se despeja
x2
2
3
=
Este resultado se sustituye en la primera ecuación para evaluar x1:
x1
2 0001 3 2 3
0 0003
=
−
. ( / )
.
(E9.9.1)
Sin embargo, debido a la cancelación por resta, el resultado es muy sensible al número
de cifras significativas empleadas en el cálculo:
Valor absoluto
del error relativo
Cifras porcentual
significativas x2 x1 para x1
3 0.667 –3.33 1099
4 0.6667 0.0000 100
5 0.66667 0.30000 10
6 0.666667 0.330000 1
7 0.6666667 0.3330000 0.1
Observe cómo el valor de x1 depende en gran medida del número de cifras significativas.
Esto se debe a que en la ecuación (E9.9.1) se restan dos números casi iguales. Por otro
lado, si se resuelven las ecuaciones en orden inverso, se normaliza el renglón con el
elemento pivote más grande. Las ecuaciones son
1.0000x1 + 1.0000x2 = 1.0000
0.0003x1 + 3.0000x2 = 2.0001
La eliminación y la sustitución dan x2 = 2/3. Con diferentes números de cifras signifi-
cativas, x1 se puede calcular de la primera ecuación, así
x1
1 2 3
1
=
− ( / )
(E9.9.2)
Este caso es mucho menos sensible al número de cifras significativas usadas en el cálculo:
Valor absoluto
del error relativo
Cifras porcentual
significativas x2 x1 para x1
3 0.667 0.333 0.1
4 0.6667 0.3333 0.01
5 0.66667 0.33333 0.001
6 0.666667 0.333333 0.0001
7 0.6666667 0.3333333 0.00001
Por lo que la estrategia de pivoteo es mucho más satisfactoria.
Los programas computacionales de uso general deben tener una estrategia de pivoteo.
En la figura 9.5 se proporciona un algoritmo simple para llevar a cabo dicha estrategia.
Observe que el algoritmo consiste en dos grandes ciclos. Luego de guardar el elemento
pivote actual y su número de renglón como las variables big y p, el primer ciclo compa-
ra el elemento pivote con los elementos que se hallan debajo de él, para verificar si al-
gunos de ellos es mayor que el elemento pivote. Si es así, el nuevo elemento más grande
9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 269
270 ELIMINACIÓN DE GAUSS
y su número de renglón se guardan en big y p. Después, el segundo ciclo intercambia el
renglón del pivote original con el del elemento más grande, de tal forma que el último
sea el nuevo renglón pivote. Este seudocódigo puede agregarse a un programa basado
en los otros elementos de la eliminación de Gauss mostrados en la figura 9.4. La mejor
forma de hacerlo consiste en emplear un método modular y escribir la figura 9.5 como
una subrutina (o procedimiento), que pueda llamarse directamente después del inicio
del primer ciclo en la figura 9.4a.
Observe que la segunda instrucción IF/THEN de la figura 9.5 intercambia física-
mente los renglones. Con grandes matrices, esto llevaría mucho tiempo. En consecuen-
cia, de hecho, la mayoría de los códigos no intercambian renglones sino llevan un
registro de cuál es el renglón pivote, guardando los subíndices apropiados en un vector.
Este vector proporciona luego una base para especificar el orden adecuado de los ren-
glones durante la eliminación hacia adelante y las operaciones de sustitución hacia atrás.
Así, se dice que las operaciones se implementan in situ.
9.4.3 Escalamiento
En la sección 9.3.3 se mencionó que el escalamiento podía ser útil para la estandarización
del tamaño determinante. Más allá de esta aplicación, tiene utilidad en la minimización
de los errores de redondeo, en aquellos casos en los que algunas de las ecuaciones de un
sistema tienen coeficientes mucho más grandes que otros. Tales situaciones se encuentran
con frecuencia en la práctica de la ingeniería, al usar unidades muy diferentes en el
desarrollo de ecuaciones simultáneas. Por ejemplo, en problemas de circuitos eléctricos,
los voltajes desconocidos se pueden expresar en unidades que varían desde microvoltios
hasta kilovoltios. Existen ejemplos similares en todos los campos de la ingeniería. Mien-
tras cada una de las ecuaciones sea consistente, el sistema será técnicamente correcto y
susceptible de ser resuelto. Sin embargo, el uso de unidades tan diversas puede llevar a
que los coeficientes difieran ampliamente en magnitud. Esto, a su vez, puede tener un
impacto sobre el error de redondeo, ya que afecta el pivoteo, como se ilustra en el si-
guiente ejemplo.
EJEMPLO 9.10 Efecto del escalamiento sobre el pivoteo y el redondeo
Planteamiento del problema.
a) Resuelva el siguiente sistema de ecuaciones usando la eliminación de Gauss y una
estrategia de pivoteo:
2x1 + 100000x2 = 100000
x1 + x2 = 2
b) Repita el problema después de escalar las ecuaciones de tal forma que el coeficiente
máximo en cada renglón sea 1.
c) Finalmente, utilice los coeficientes escalados para determinar si el pivoteo es ne-
cesario. No obstante, resuelva las ecuaciones con los valores de los coeficientes
originales. En todos los casos, conserve sólo tres cifras significativas. Observe que
las respuestas correctas son x1 = 1.00002 y x2 = 0.99998 o, para tres cifras signifi-
cativas, x1 = x2 = 1.00.
FIGURA 9.5
Seudocódigo para
implementar el pivoteo
parcial.
p = k
big = |ak,k|
DOFOR ii = k+1, n
dummy = |aii,k|
IF (dummy  big)
big = dummy
p = ii
END IF
END DO
IF (p ≠ k)
DOFOR jj = k, n
dummy = ap,jj
ap,jj = ak,jj
ak,jj = dummy
END DO
dummy = bp
bp = bk
bk = dummy
END IF
Solución.
a) Sin escalar, se aplica la eliminación hacia adelante y se obtiene
2x1 + 100 000x2 = 100 000
–50 000x2 = –50 000
que se puede resolver por sustitución hacia atrás:
x2 = 1.00
x1 = 0.00
Aunque x2 es correcta, x1 tiene un 100% de error debido al redondeo.
b) El escalamiento transforma las ecuaciones originales en
0.00002x1 + x2 = 1
x1 + x2 = 2
Por lo tanto, se deben pivotear los renglones y colocar el valor más grande sobre
la diagonal.
x1 + x2 = 2
0.00002x1 + x2 = 1
La eliminación hacia adelante da como resultado
x1 + x2 = 2
x2 = 1.00
de donde se obtiene
x1 = x2 = 1
De esta forma, el escalamiento conduce a la respuesta correcta.
c) Los coeficientes escalados revelan que es necesario el pivoteo. Por lo tanto, se pivotea
pero se mantienen los coeficientes originales para obtener
x1 + x2 = 2
2x1 + 100 000x2 = 100 000
La eliminación hacia adelante da como resultado
x1 + x2 = 2
100 000x2 = 100 000
que al resolverse se obtiene la respuesta correcta: x1 = x2 = 1. Entonces, el escala-
miento fue útil para determinar si el pivoteo era necesario; aunque las ecuaciones
por sí mismas no requieren escalarse para llegar a un resultado correcto.
9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 271
272 ELIMINACIÓN DE GAUSS
SUB Gauss (a, b, n, x, tol, er)
DIMENSION s (n)
er = 0
DOFOR i = 1, n
si = ABS(ai,1)
DOFOR j = 2, n
IF ABS(ai,j)si THEN si = ABS(ai,j)
END DO
END DO
CALL Eliminate(a, s, n, b, tol, er)
IF er ≠ —1 THEN
CALL Substitute(a, n, b, x)
END IF
END Gauss
SUB Eliminate (a, s, n, b, tol, er)
DOFOR k = 1, n — 1
CALL Pivot (a, b, s, n, k)
IF ABS (ak,k/sk)  tol THEN
er = —1
EXIT DO
END IF
DOFOR i = k + 1, n
factor = ai,k/ak,k
DOFOR j = k + 1, n
ai,j = ai,j — factor*ak,j
END DO
bi = bi – factor * bk
END DO
END DO
IF ABS(ak,k/sk)  to1 THEN er = —1
END Eliminate
SUB Pivot (a, b, s, n, k)
p = k
big = ABS(ak,k/sk)
DOFOR ii = k + 1, n
dummy = ABS(aii,k/sii)
IF dummy  big THEN
big = dummy
p = ii
END IF
END DO
IF p ≠ k THEN
DOFOR jj = k, n
dummy = ap,jj
ap,jj = ak,jj
ak,jj = dummy
END DO
dummy = bp
bp = bk
bk = dummy
dummy = sp
sp = sk
sk = dummy
END IF
END pivot
SUB Substitute (a, n, b, x)
xn = bn/an,n
DOFOR i = n — 1, 1, —1
sum = 0
DOFOR j = i + 1, n
sum = sum + ai,j * xj
END DO
xi = (bi — sum) / ai,i
END DO
END Substitute
FIGURA 9.6
Seudocódigo para instaurar la eliminación de Gauss con pivoteo parcial.
Al igual que en el ejemplo anterior, el escalamiento es útil para minimizar los erro-
res de redondeo. Sin embargo, se debe advertir que el propio escalamiento lleva también
a errores de redondeo. Por ejemplo, dada la ecuación
2x1 + 300000x2 = 1
y usando tres cifras significativas, escalando se obtiene
0.00000667x1 + x2 = 0.00000333
De esta forma, el escalamiento introduce un error de redondeo en el primer coeficiente
y en la constante del lado derecho. Por esta razón, algunas veces se sugiere que el esca-
lamiento se emplee únicamente como en el inciso c) del ejemplo anterior. Esto es, se usa
para calcular valores escalados de los coeficientes sólo como un criterio de pivoteo; pero
los valores de los coeficientes originales se conservan para los cálculos reales de elimi-
nación y sustitución. Esto tiene ventajas y desventajas si el determinante se calcula como
parte del programa. Es decir, el determinante resultante no será escalado. Sin embargo,
como muchas aplicaciones de la eliminación de Gauss no requieren la evaluación del
determinante, es el planteamiento más común y se usará en el algoritmo de la siguiente
sección.
9.4.4 Algoritmo para la eliminación gaussiana
Los algoritmos de las figuras 9.4 y 9.5 se combinan ahora en un solo algoritmo para
implementar el algoritmo completo de la eliminación de Gauss. En la figura 9.6 se
muestra el algoritmo de una subrutina general para realizar la eliminación de Gauss.
Observe que el programa tiene módulos para las tres operaciones principales del
algoritmo de eliminación gaussiana: eliminación hacia adelante, sustitución hacia atrás
y pivoteo. Además, hay varios aspectos del código que difieren y representan un mejo-
ramiento de los seudocódigos de las figuras 9.4 y 9.5. Éstos son:
• Las ecuaciones no están escaladas, pero los valores escalados de los elementos se
usan para determinar si se debe usar el pivoteo.
• El término diagonal se vigila durante la fase del pivoteo para detectar ocurrencias
de valores cercanos a cero y con esto indicar si el sistema es singular. Si devuelve
un valor de er = –1, se ha detectado una matriz singular y el cálculo debe terminar.
El usuario da a un parámetro tol un número pequeño para detectar ocurrencias cer-
canas a cero.
EJEMPLO 9.11 Solución de ecuaciones algebraicas lineales por medio de la computadora
Planteamiento del problema. Un programa de computadora para resolver ecuaciones
algebraicas lineales, como por ejemplo el que se basa la figura 9.6, sirve para resolver
un problema relacionado con el ejemplo de la caída del paracaidista, analizado en el
capítulo 1. Suponga que un equipo de tres paracaidistas está unido por una cuerda lige-
ra mientras va en caída libre a una velocidad de 5 m/s (figura 9.7). Calcule la tensión en
cada sección de la cuerda y la aceleración del equipo, dados los siguientes datos:
9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 273
274 ELIMINACIÓN DE GAUSS
Masa, Coeficiente
Paracaidista kg de arrastre, kg/s
1 70 10
2 60 14
3 40 17
Solución. Los diagramas de cuerpo libre para cada paracaidista se muestran en la
figura 9.8. Sumando las fuerzas en la dirección vertical y utilizando la segunda ley de
Newton se obtiene un sistema de tres ecuaciones lineales simultáneas:
m1g – T – c1v = m1a
m2g + T – c2v – R = m2a
m3g – c3v + R = m3a
Estas ecuaciones tienen tres incógnitas: a, T y R. Después de sustituir los valores cono-
cidos, las ecuaciones se pueden expresar en forma matricial como (g = 9.8 m/s2
),
70 1 0
60 1 1
40 0 1
636
518
307
–
–
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
a
T
R
Este sistema se resuelve usando su propio software. El resultado es a = 8.5941 m/s2
, T =
34.4118 N y R = 36.7647 N.
R
T
1
2
3
a
T
m3g
R
T
R m2g m1g
c3v c2v c1v
3 2 1
FIGURA 9.7
Tres paracaidistas en caída
libre unidos por cuerdas sin
peso.
FIGURA 9.8
Diagramas de cuerpo libre para cada uno de los tres paracaidistas en caída.
9.5 SISTEMAS COMPLEJOS
En algunos problemas es posible obtener un sistema de ecuaciones complejas
[C]{Z} = {W} (9.27)
donde
[C] = [A] + i[B]
{Z} = {X} + i{Y}
{W} = {U} + i{V} (9.28)
donde i = –1.
El camino más directo para resolver un sistema como éste consiste en emplear uno
de los algoritmos descritos en esta parte del libro; pero sustituyendo todas las operacio-
nes reales por complejas. Claro que esto sólo es posible con aquellos lenguajes, como el
Fortran, que permiten el uso de variables complejas.
Para lenguajes que no permiten la declaración de variables complejas, es posible
escribir un código que convierta operaciones reales en complejas. Sin embargo, esto no
es una tarea trivial. Una alternativa es convertir el sistema complejo en uno equivalente
que trabaje con variables reales. Esto se logra al sustituir la ecuación (9.28) en la (9.27)
e igualar las partes real y compleja de la ecuación resultante, para obtener
[A]{X} – [B]{Y} = {U} (9.29)
y
[B]{X} + [A]{Y} = {V} (9.30)
Así, el sistema de n ecuaciones complejas se convierte en un conjunto de 2n ecua-
ciones reales. Esto significa que el tiempo de almacenamiento y de ejecución se incre-
mentará en forma significativa. En consecuencia, habrá que evaluar las ventajas y
desventajas de esta opción. Si es poco frecuente que se evalúen sistemas complejos, es
preferible usar las ecuaciones (9.29) y (9.30) por su conveniencia. Sin embargo, si se
usan con frecuencia y desea utilizar un lenguaje que no permite el uso de datos de tipo
complejo, quizá valga la pena escribir un programa que convierta operaciones reales en
complejas.
9.6 SISTEMAS DE ECUACIONES NO LINEALES
Recuerde que al final del capítulo 6 se expuso un procedimiento para resolver dos ecua-
ciones no lineales con dos incógnitas. Éste se puede extender al caso general para resol-
ver n ecuaciones no lineales simultáneas.
f1(x1, x2, …, xn) = 0
f2(x1, x2, …, xn) = 0
· ·
· · (9.31)
· ·
fn(x1, x2, …, xn) = 0
9.6 SISTEMAS DE ECUACIONES NO LINEALES 275
276 ELIMINACIÓN DE GAUSS
La solución de este sistema consiste en un conjunto de valores x que hacen todas las
ecuaciones igual a cero.
Como se describió en la sección 6.5.2, un procedimiento para resolver tales sistemas
se basa en la versión multidimensional del método de Newton-Raphson. Así, se escribe
para cada ecuación una expansión de la serie de Taylor. Por ejemplo, para la
k-ésima ecuación,
f f x x
f
x
x x
f
x
x x
f
x
k i k i i i
k i
i i
k i
n i n i
k i
n
, , , ,
,
, ,
,
, ,
,
( ) ( ) ( )
+ + + +
= + −
∂
∂
+ −
∂
∂
+ + −
∂
∂
1 1 1 1
1
2 1 2
2
1
 (9.32)
donde el primer subíndice, k, representa la ecuación o la incógnita, y el segundo subín-
dice denota si el valor de la función en cuestión es el presente (i) o el siguiente (i + 1).
Las ecuaciones de la forma (9.32) son escritas para cada una de las ecuaciones no
lineales originales. Después, como se hizo al obtener la ecuación (6.20) a partir de la
(6.19), todos los términos fk,i+1 se igualan a cero, como sería el caso en la raíz, y la ecua-
ción (9.32) se escribe como
– , ,
,
,
,
,
,
,
,
,
,
,
,
f x
f
x
x
f
x
x
f
x
x
f
x
x
f
x
x
f
x
k i i
k i
i
k i
n i
k i
n
i
k i
i
k i
n i
k i
n
+
∂
∂
+
∂
∂
+ +
∂
∂
=
∂
∂
+
∂
∂
+ +
∂
∂
+ + +
1
1
2
2
1 1
1
2 1
2
1


(9.33)
Observe que las únicas incógnitas en la ecuación (9.33) son los términos xk,i+1 del lado
derecho. Todas las otras cantidades tienen su valor presente (i) y, por lo tanto, son cono-
cidas en cualquier iteración. En consecuencia, el sistema de ecuaciones representado, en
general, por la ecuación (9.33) (es decir, con k = 1, 2, …, n) constituye un sistema de
ecuaciones lineales simultáneas que se pueden resolver con los métodos analizados en
esta parte del libro.
Se puede emplear la notación matricial para expresar la ecuación (9.33) en forma
concisa. Las derivadas parciales se expresan como
[ ]
, , ,
, , ,
, , ,
Z
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
i i i
n
i i i
n
n i n i n i
n
=
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
∂
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⋅ ⋅ ⋅
∂
∂
∂
∂
∂
∂
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
1
1
1
2
1
2
1
2
2
2
1 2



(9.34)
Los valores inicial y final se expresan en forma vectorial como
{Xi}T
= ⎣x1,i x2,i … xn,i⎦
y
{Xi+1}T
= ⎣x1,i+1 x2,i+1 … xn,i+1
⎦
Finalmente, los valores de la función en i se pueden expresar como
{Fi}T
= ⎣f1,i f2,i ··· fn,i⎦
Usando estas relaciones, la ecuación (9.33) se representa en forma concisa como
[Z]{Xi+1} = –{Fi} +[Z]{Xi} (9.35)
La ecuación (9.35) se resuelve usando una técnica como la eliminación de Gauss. Este
proceso se repite iterativamente para obtener una aproximación refinada de forma simi-
lar al caso de dos ecuaciones como en la sección 6.5.2.
Se debe notar que el procedimiento anterior tiene dos desventajas importantes.
Primero, a menudo no es fácil evaluar la ecuación (9.34). Por lo que se ha desarrollado
una variación del método de Newton-Raphson para evitar tal problema. Como podría
esperarse, tal variación se basa en el uso de aproximaciones por diferencias finitas, para
calcular las derivadas parciales que aparecen en [Z].
La segunda desventaja del método de Newton-Raphson para multiecuaciones es que
usualmente se requiere de excelentes valores iniciales para asegurar la convergencia. Ya
que con frecuencia esto es difícil de obtener, se han desarrollado métodos alternos que,
aunque son más lentos que el método de Newton-Raphson, dan un mejor comportamien-
to de convergencia. Un método común es reformular el sistema no lineal como una sola
función
F x f x x x
i i n
i
n
( ) [ ( , , , )]
=
=
∑ 2
2
1
… (9.36)
donde fi(x1, x2, …, xn) es el i-ésimo miembro del sistema original de la ecuación (9.31).
Los valores de x que minimizan esta función representan también la solución del sistema
no lineal. Como se verá en el capítulo 17, esta reformulación pertenece a una clase de
problemas llamados regresión no lineal. Como tal, se puede abordar con varias técnicas
de optimización como las que se describirán más adelante en este texto (parte cuatro,
específicamente en el capítulo 14).
9.7 GAUSS-JORDAN
El método de Gauss-Jordan es una variación de la eliminación de Gauss. La principal
diferencia consiste en que cuando una incógnita se elimina en el método de Gauss-Jordan,
ésta es eliminada de todas las otras ecuaciones, no sólo de las subsecuentes. Además,
todos los renglones se normalizan al dividirlos entre su elemento pivote. De esta forma,
el paso de eliminación genera una matriz identidad en vez de una triangular (figura 9.9).
En consecuencia, no es necesario usar la sustitución hacia atrás para obtener la solución.
El método se ilustra mejor con un ejemplo.
EJEMPLO 9.12 Método de Gauss-Jordan
Planteamiento del problema. Con la técnica de Gauss-Jordan resuelva el sistema del
ejemplo 9.5:
3x1 – 0.1x2 – 0.2x3 = 7.85
0.1x1 + 7x2 – 0.3x3 = –19.3
0.3x1 – 0.2x2 + 10x3 = 71.4
FIGURA 9.9
Representación gráfica del
método de Gauss-Jordan.
Compare con la figura 9.3
para observar la diferencia
entre esta técnica y la de
eliminación de Gauss. El
superíndice (n) significa que
los elementos del vector
del lado derecho se han
modificado n veces (en este
caso n = 3).
a
a
a
a
a
a
a
a
a
c
c
c
c
c
c
x
x
x
c
c
c
n
n
n
n
n
n
11
21
31
12
22
32
13
23
33
1
2
3
1
2
3
1
2
3
1
2
3
1
0
0
0
1
0
0
0
1
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
↓
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
↓
=
=
=
( )
( )
( )
( )
( )
( )
9.7 GAUSS-JORDAN 277
278 ELIMINACIÓN DE GAUSS
Solución. Primero, exprese los coeficientes y el lado derecho como una matriz au-
mentada:
3 0 1 0 2 7 85
0 1 7 0 3 19 3
0 3 0 2 10 71 4
– . – . .
. – . – .
. – . .
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
Luego normalice el primer renglón, dividiéndolo entre el elemento pivote, 3, para obtener
1 0 0333333 0 066667 2 61667
0 1 7 0 3 19 3
0 3 0 2 10 71 4
– . – . .
. – . – .
. – . .
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
El término x1 se elimina del segundo renglón restando 0.1 veces al primer renglón del
segundo. En forma similar, restando 0.3 veces el primer renglón del tercero, se elimina-
rá el término x1 del tercer renglón:
1 0 0333333 0 066667 2 61667
0 7 00333 0 293333 19 5617
0 0 190000 10 0200 70 6150
– . – . .
. – . – .
– . . .
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
En seguida, se normaliza el segundo renglón dividiéndolo entre 7.00333:
1 0 0333333 0 066667 2 61667
0 1 0 0418848 2 79320
0 0 190000 10 0200 70 6150
– . – . .
– . – .
– . . .
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
Al reducir los términos x2 de las ecuaciones primera y tercera se obtiene
1 0 0 0680629 2 52356
0 1 0 0418848 2 79320
0 0 10 01200 70 0843
– . .
– . – .
. .
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
El tercer renglón se normaliza después al dividirlo entre 10.0120:
1 0 0 0680629 2 52356
0 1 0 0418848 2 79320
0 0 1 7 00003
– . .
– . – .
.
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
Por último, los términos x3 se pueden eliminar de la primera y segunda ecuación para
obtener
1 0 0 3 00000
0 1 0 2 50001
0 0 1 7 00003
.
– .
.
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
De esta forma, como se muestra en la figura 9.9, la matriz de coeficientes se ha trans-
formado en la matriz identidad, y la solución se obtiene en el vector del lado derecho.
Observe que no se requiere la sustitución hacia atrás para llegar a la solución.
Aunque la técnica de Gauss-Jordan y la eliminación de Gauss podrían parecer casi
idénticas, la primera requiere más trabajo. Con el empleo de un enfoque similar al de la
sección 9.2.1, se determina que el número de flops que se involucra en la técnica de
Gauss-Jordan simple es
n n n n O n
n
3 2 3 2
+ − ⎯ →
⎯⎯⎯⎯⎯ +
conforme aumenta
( ) (9.37)
Así, la técnica de Gauss-Jordan involucra aproximadamente 50 por ciento más opera-
ciones que la eliminación de Gauss [compárese con la ecuación (9.23)]. Por tanto, la
eliminación de Gauss es el método de eliminación sencilla que se prefiere para obtener
las soluciones de ecuaciones algebraicas lineales. Sin embargo, una de las razones prin-
cipales por las que se ha introducido la técnica de Gauss-Jordan, es que aún se utiliza
tanto en la ingeniería como en ciertos algoritmos numéricos.
9.8 RESUMEN
En resumen, se ha dedicado la mayor parte de este capítulo a la eliminación de Gauss:
el método fundamental para resolver ecuaciones algebraicas lineales simultáneas. Aun-
que es una de las técnicas más antiguas concebidas para este propósito, sin embargo, es
un algoritmo efectivo en extremo para obtener las soluciones de muchos problemas en
ingeniería. Además de esta utilidad práctica, este capítulo proporciona un contexto para
el análisis de puntos generales, como el redondeo, el escalamiento y el condicionamien-
to. Se presentó también, en forma breve, material sobre el método de Gauss-Jordan, así
como sobre sistemas complejos y no lineales.
Los resultados obtenidos al usar la eliminación de Gauss se pueden verificar al
sustituirlos en las ecuaciones originales. No obstante, realizarlo no siempre representa
una prueba confiable para sistemas mal condicionados. Por ello debe efectuarse alguna
medida de la condición, como el determinante de un sistema escalado, si se tiene idea
de que haya un error de redondeo. Dos opciones para disminuir el error de redondeo son
el pivoteo parcial y el uso de un mayor número de cifras significativas en los cálculos.
En el siguiente capítulo se regresará al tema de la condición del sistema cuando se ana-
lice la matriz inversa.
PROBLEMAS
9.1
a) Escriba en forma matricial el conjunto siguiente de ecua-
ciones:
50 = 5x3 + 2x2
10 – x1 = x3
3x2 + 8x1 = 20
b) Escriba la transpuesta de la matriz de coeficientes.
9.2 Ciertas matrice están definidas como sigue
[ ] [ ]
A B
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
4 7
1 2
5 6
4 3 7
1 2 7
1 0 4
[ ] [ ]
C D
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
−
−
⎡
⎣
⎢
⎤
⎦
⎥
3
6
1
9 4 3 6
2 1 7 5
PROBLEMAS 279
280 ELIMINACIÓN DE GAUSS
[ ]
E =
1 5 8
8
7 2 3
4 0 6
3 0 1
1 7 3
7 6 4
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
=
⎡
⎣
⎢
⎤
⎦
⎥ ⎣ ⎦ = ⎢
⎣
[ ]
F G ⎥
⎥
⎦
En relación con estas matrices responda las preguntas siguientes:
a) ¿Cuáles son las dimensiones de las matrices?
b) Identifique las matrices cuadrada, columna y renglón.
c) ¿Cuáles son los valores de los elementos a12, b23, d32, e22,
f12 y g12?
d) Ejecute las operaciones siguientes:
1) [E] + [B] 7) [B] × [A]
2) [A] + [F] 8) [D]T
3) [B] – [E] 9) [A] × {C}
4) 7 × [B] 10) [I] × [B]
5) [E] × [B] 11) [E]T
[E]
6) {C}T
12) {C}T
{C}
9.3 Se definen tres matrices como sigue
[ ] [ ]
.
[ ]
A B C
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
=
⎡
⎣
⎢
⎤
⎦
⎥ =
−
1 6
3 10
7 4
1 3
0 5 2
2 2
2
3 1
−
⎡
⎣
⎢
⎤
⎦
⎥
a) Ejecute todas las multiplicaciones que sea posible calcular
entre parejas de las matrices.
b) Utilice el método del recuadro PT3.2 para justificar por qué
no se puede multiplicar a las demás parejas.
c) Emplee los resultado del inciso a) para ilustrar por qué es
importante el orden de la multiplicación.
9.4 Use el método gráfico para resolver el sistema siguiente
4x1 – 8x2 = –24
x1 + 6x2 = 34
Compruebe el resultado por medio de sustituirlo en las ecuaciones.
9.5 Dado el sistema de ecuaciones siguiente
–1.1x1 + 10x2 = 120
–2x1 + 17.4x2 = 174
a) Resuélvalo gráficamente y compruebe el resultado con la
sustitución en las ecuaciones.
b) Sobre la base de la solución gráfica, ¿qué se espera con
respecto de la condición del sistema?
c) Calcule el determinante.
d) Resuelva por medio de la eliminación de incógnitas.
9.6 Para el sistema de ecuaciones que sigue
2x2 + 5x3 = 9
2x1 + x2 + x3 = 9
3x1 + x2 = 10
a) Calcule el determinante.
b) Use la regla de Cramer para encontrar cuál es el valor de
las x.
c) Sustituya el resultado en las ecuaciones originales para
efectos de comprobación.
9.7 Dadas las ecuaciones
0.5x1 – x2 = –9.5
1.02x1 – 2x2 = –18.8
a) Resuelva en forma gráfica.
b) Calcule el determinante.
c) Con base en los incisos a) y b), ¿qué es de esperarse con
respecto de la condición del sistema?
d) Resuelva por medio de la eliminación de incógnitas.
e) Resuelva otra vez, pero modifique ligeramente el elemento
a11 a 0.52. Interprete sus resultados.
9.8 Dadas las ecuaciones siguientes
10x1 + 2x2 – x3 = 27
–3x1 – 6x2 + 2x3 = –61.5
x1 + x2 + 5x3 = –21.5
a) Resuelva por eliminación de Gauss simple. Efectúe todos
los pasos del cálculo.
b) Sustituya los resultados en las ecuaciones originales a fin
de comprobar sus respuestas.
9.9 Use la eliminación de Gauss para resolver el sistema que
sigue:
8x1 + 2x2 – 2x3 = –2
10x1 + 2x2 + 4x3 = 4
12x1 + 2x2 + 2x3 = 6
Emplee pivoteo parcial y compruebe las respuestas sustituyén-
dolas en las ecuaciones originales.
9.10 Dado el sistema siguiente de ecuaciones
–3x2 + 7x3 = 2
x1 + 2x2 – x3 = 3
5x1 – 2x2 = 2
a) Calcule el determinante.
b) Use la regla de Cramer para encontrar cuáles son los valores
de las x.
c) Emplee la eliminación de Gauss con pivoteo parcial para
obtener cuáles serían los valores de las x.
d) Sustituya sus resultados en las ecuaciones originales para
efectos de comprobación.
9.11 Dadas las ecuaciones
2x1 – 6x2 – x3 = –38
–3x1 – x2 + 7x3 = –34
–8x1 + x2 – 2x3 = –20
a) Resuelva por eliminación de Gauss con pivoteo parcial.
Efectúe todos los pasos del cálculo.
b) Sustituya los resultados en las ecuaciones originales para
comprobar sus respuestas.
9.12 Emplee la eliminación de Gauss-Jordan para resolver el
sistema siguiente:
2x1 + x2 – x3 = 1
5x1 + 2x2 + 2x3 = –4
3x1 + x2 + x3 = 5
No utilice pivoteo. Compruebe sus respuestas con la sustitución
en las ecuaciones originales.
9.13 Resuelva el sistema:
x1 + x2 – x3 = –3
6x1 + 2x2 + 2x3 = 2
–3x1 + 4x2 + x3 = 1
por medio de a) eliminación de Gauss simple, b) eliminación de
Gauss con pivoteo parcial, y c) método de Gauss-Jordan sin pi-
voteo parcial.
9.14 Lleve a cabo el mismo cálculo que en el ejemplo 9.11, pero
use cinco paracaidistas con las características siguientes:
Coeficiente
Paracaidista Masa, kg de arrastre, kg/s
1 55 10
2 75 12
3 60 15
4 75 16
5 90 10
Los paracaidistas tienen una velocidad de 9 m/s.
9.15 Resuelva el sistema
3 2 4
1
2
3
1
2
+
⎡
⎣
⎢
⎤
⎦
⎥
⎧
⎨
⎩
⎫
⎬
⎭
=
+
⎧
⎨
⎩
⎫
⎬
⎭
i
i
z
z
i
–
9.16 Desarrolle, depure y pruebe un programa en cualquier
lenguaje de alto nivel o de macros de su predilección, para mul-
tiplicar dos matrices; es decir, [X] = [Y] [Z], donde [Y] es de orden
m por n y [Z] es de n por p. Pruebe el programa con el empleo
de las matrices del problema 9.3.
9.17 Desarrolle, depure y pruebe un programa en cualquier
lenguaje de alto nivel o de macros que prefiera, para generar la
transpuesta de una matriz. Pruébelo con las matrices del proble-
ma 9.3.
9.18 Desarrolle, depure y pruebe un programa en el lenguaje de
alto nivel o de macros que prefiera, para resolver un sistema de
ecuaciones por medio de la eliminación de Gauss con pivoteo
parcial. Base su programa en el seudocódigo de la figura 9.6.
Pruébelo con el uso del sistema siguiente (cuya respuesta es x1
= x2 = x3 = 1),
x x x
x x x
x x x
1 2 3
1 2 3
1 2 3
2 2
5 2 2 9
3 5 1
+ =
+ + =
+ − =
–
–
PROBLEMAS 281
CAPÍTULO 10
Descomposición LU
e inversión de matrices
En este capítulo se estudiará una clase de métodos de eliminación llamada técnicas de
descomposición LU. El principal recurso de la descomposición LU es que el paso de la
eliminación que toma mucho tiempo se puede formular de tal manera que involucre sólo
operaciones con la matriz de coeficientes [A]. Por esto, es muy adecuado para aquellas
situaciones donde se deben evaluar muchos vectores {B} del lado derecho para un solo
valor de [A]. Aunque hay muchas formas de hacer esto, el análisis se enfocará en mostrar
cómo el método de eliminación de Gauss se implementa como una descomposición LU.
Un motivo para introducir la descomposición LU es que proporciona un medio
eficiente para calcular la matriz inversa. La inversa tiene muchas aplicaciones valiosas
en la práctica de la ingeniería. Ésta ofrece también un medio para evaluar la condición
de un sistema.
10.1 DESCOMPOSICIÓN LU
Como se describió en el capítulo anterior, la eliminación de Gauss sirve para resolver
sistemas de ecuaciones algebraicas lineales,
[A]{X} = {B} (10.1)
Aunque la eliminación Gauss representa una forma satisfactoria para resolver tales
sistemas, resulta ineficiente cuando deben resolverse ecuaciones con los mismos coefi-
cientes [A], pero con diferentes constantes del lado derecho (las b).
Recuerde que la eliminación de Gauss implica dos pasos: eliminación hacia adelan-
te y sustitución hacia atrás (figura 9.3). De ambas, el paso de eliminación hacia adelan-
te es el que representa la mayor parte del trabajo computacional (recuerde la tabla 9.1).
Esto es particularmente cierto para grandes sistemas de ecuaciones.
Los métodos de descomposición LU separan el tiempo usado en las eliminaciones
para la matriz [A] de las manipulaciones en el lado derecho {B}. Una vez que [A] se ha
“descompuesto”, los múltiples vectores del lado derecho {B} se pueden evaluar de ma-
nera eficiente.
El hecho de que la misma eliminación de Gauss se puede expresar como una des-
composición LU es muy interesante. Antes de mostrar cómo se puede realizar esto,
demos primero una demostración matemática de la estrategia de descomposición.
10.1.1 Revisión de la descomposición LU
De manera similar al caso de la eliminación de Gauss, la descomposición LU requiere
de pivoteo para evitar la división entre cero. Sin embargo, para simplificar la siguiente
descripción, abordaremos el tema del pivoteo después de que el planteamiento funda-
mental se haya elaborado. Además, la siguiente explicación se limita a un conjunto de
tres ecuaciones simultáneas. Los resultados se pueden extender en forma directa a sis-
temas n dimensionales.
La ecuación (10.1) se reordena como
[A] {X} – {B} = 0 (10.2)
Suponga que la ecuación (10.2) puede expresarse como un sistema triangular superior:
u u u
u u
u
x
x
x
d
d
d
11 12 13
22 23
33
1
2
3
1
2
3
0
0 0
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
(10.3)
Observe que esto es similar a la manipulación que ocurre en el primer paso de la elimi-
nación de Gauss. Es decir, se utiliza la eliminación para reducir el sistema a una forma
triangular superior. La ecuación (10.3) también se expresa en notación matricial y se
reordena como
[U]{X} – {D} = 0 (10.4)
Ahora, suponga que existe una matriz diagonal inferior con números 1 en la diago-
nal,
[ ]
L l
l l
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1 0 0
1 0
1
21
31 32
(10.5)
que tiene la propiedad de que cuando se premultiplica por la ecuación (10.4), el resulta-
do es la ecuación (10.2). Es decir,
[L]{[U]{X} – {D}} = [A]{X} – {B} (10.6)
Si esta ecuación se satisface, según las reglas de multiplicación entre matrices, se obten-
drá
[L][U] = [A] (10.7)
y
[L]{D} = {B} (10.8)
Una estrategia de dos pasos (véase figura 10.1) para obtener soluciones se basa en
las ecuaciones (10.4), (10.7) y (10.8):
1. Paso de descomposición LU. [A] se factoriza o “descompone” en las matrices trian-
gulares inferior [L] y superior [U].
2. Paso de la sustitución. [L] y [U] se usan para determinar una solución {X} para un
lado derecho {B}. Este paso, a su vez, se divide en dos. Primero, la ecuación (10.8)
se usa para generar un vector intermedio {D} mediante sustitución hacia adelante.
Después, el resultado se sustituye en la ecuación (10.4), la que se resuelve por sus-
titución hacia atrás para {X}.
10.1 DESCOMPOSICIÓN LU 283
284 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
Ahora se mostrará cómo se puede llevar a cabo la eliminación de Gauss en esta forma.
10.1.2 Versión de la eliminación de Gauss usando
la descomposición LU
Aunque a primera vista podría parecer que la eliminación de Gauss no está relacionada
con la eliminación LU, aquélla puede usarse para descomponer [A] en [L] y [U], lo cual
se observa fácilmente para [U], que es el resultado directo de la eliminación hacia ade-
lante. Recuerde que en el paso correspondiente a esta eliminación se pretende reducir la
matriz de coeficientes [A] a la forma
[ ]
U
a a a
a a
a
= ′ ′
′′
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
11 12 13
22 23
33
0
0 0
(10.9)
que es el formato triangular superior deseado.
Aunque quizá no sea muy clara, la matriz [L] se produce durante este paso. Lo
anterior se ilustra fácilmente con un sistema de tres ecuaciones,
a a a
a a a
a a a
x
x
x
b
b
b
11 12 13
21 22 23
31 32 33
1
2
3
1
2
3
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
El primer paso en la eliminación de Gauss consiste en multiplicar el renglón 1 por el
factor [recuerde la ecuación (9.13)]
f
a
a
21
21
11
=
A X
X
X
B
B
D
D
D
U
L
L
U
⫽
⫽
Sustitución
⫽
b) Hacia
adelante
c) Hacia
atrás
a) Decomposición
FIGURA 10.1
Pasos en la descomposición
LU.
y restar el resultado al segundo renglón para eliminar a2l. De forma similar, el renglón
1 se multiplica por
f
a
a
31
31
11
=
y el resultado se resta al tercer renglón para eliminar a31. El paso final es multiplicar el
segundo renglón modificado por
f
a
a
32
32
22
=
′
′
y restar el resultado al tercer renglón para eliminar a′
32.
Ahora suponga que realizamos todas esas operaciones sólo en la matriz [A]. Resul-
ta claro que si no se quiere modificar la ecuación, se tiene que hacer lo mismo con el
lado derecho {B}. Pero no existe ninguna razón para realizar las operaciones en forma
simultánea. Se podrían conservar las f y después manipular {B}.
¿Dónde se guardan los factores f21, f31 y f32? Recuerde que la idea principal de la
eliminación fue crear ceros en a21, a31 y a32. Entonces, se puede guardar f21 en a21, f31 en
a31, y f32 en a32. Después de la eliminación la matriz [A], por lo tanto, se describe
como
a a a
f a a
f f a
11 12 13
21 22 23
31 32 33
′ ′
′′
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
(10.10)
De hecho, esta matriz representa un almacenamiento eficiente de la descomposición LU
de [A].
[A] → [L][U] (10.11)
donde
[ ]
U
a a a
a a
a
= ′ ′
′′
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
11 12 13
22 23
33
0
0 0
y
[ ]
L f
f f
=
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1 0 0
1 0
1
21
31 32
El siguiente ejemplo confirma que [A] = [L][U].
EJEMPLO 10.1 Descomposición LU con eliminación de Gauss
Planteamiento del problema. Obtenga una descomposición LU basándose en la
eliminación de Gauss que se realizó en el ejemplo 9.5.
10.1 DESCOMPOSICIÓN LU 285
286 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
Solución. En el ejemplo 9.5, se resolvió la matriz
[ ]
. .
. .
. .
A =
− −
−
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
3 0 1 0 2
0 1 7 0 3
0 3 0 2 10
Después de la eliminación hacia adelante, se obtuvo la siguiente matriz triangular supe-
rior:
[ ]
. .
. .
.
U =
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
3 0 1 0 2
0 7 00333 0 293333
0 0 10 0120
Los factores empleados para obtener la matriz triangular superior se pueden colocar en
una matriz triangular inferior. Los elementos a21 y a31 se eliminaron al usar los factores
f f
21 31
0 1
3
0 03333333
0 3
3
0 1000000
= = = =
.
.
.
.
y el elemento a′
32 se elimina al usar el factor
f32
0 19
7 00333
0 0271300
=
−
= −
.
.
.
Así, la matriz triangular inferior es
[ ] .
. .
L =
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1 0 0
0 0333333 1 0
0 100000 0 0271300 1
En consecuencia, la descomposición LU es
[ ] [ ][ ] .
. .
. .
. .
.
A L U
= =
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1 0 0
0 0333333 1 0
0 100000 0 0271300 1
3 0 1 0 2
0 7 00333 0 293333
0 0 10 0120
Este resultado se verifica al realizar la multiplicación de [L][U] que da
[ ][ ]
. .
. .
. . .
L U =
− −
−
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
3 0 1 0 2
0 0999999 7 0 3
0 3 0 2 9 99996
donde las pequeñas diferencias son debidas a errores de redondeo.
El siguiente es el seudocódigo de una subrutina para realizar la fase de descompo-
sición:
SUB Decompose (a, n)
DOFOR k = 1, n – 1
DOFOR i = k + 1, n
factor = ai,K/ak,k
ai,k = factor
DOFOR j = k + 1, n
ai,j = ai,j - factor * ak,j
END DO
END DO
END DO
END Decompose
Observe que este algoritmo es “simple” en el sentido de que no se incluye el pivoteo.
Esta característica se agregará más tarde cuando se desarrolle el algoritmo completo
para la descomposición LU.
Después de descomponer la matriz, se puede generar una solución para un vector
particular {B}. Esto se lleva a cabo en dos pasos. Primero, se realiza un paso de sustitución
hacia adelante al resolver la ecuación (10.8) para {D}. Es importante notar que esto sólo
se refiere a la realización de las operaciones de la eliminación en {B}. De esta forma, al
final del procedimiento, el lado derecho estará en el mismo estado que si se hubiesen
realizado las operaciones hacia adelante sobre [A] y {B} en forma simultánea.
El paso de la sustitución hacia adelante se representa en forma concisa como
d d a b
i i
j
i
ij j
= −
=
−
∑
1
1
para i = 2, 3, …, n (10.12)
En el segundo paso, entonces, tan sólo se realiza la sustitución hacia atrás, como en
la ecuación (10.4). Otra vez, es importante reconocer que este paso es idéntico al de la
fase de sustitución hacia atrás, en la eliminación de Gauss convencional. Así, de mane-
ra similar a las ecuaciones (9.16) y (9.17), el paso de la sustitución hacia atrás se repre-
senta en forma concisa como
xn = dn/ann (10.13)
x
d a x
a
i
i
j i
n
ij j
ii
=
−
= +
∑1
para i = n – 1, n – 2, …, 1 (10.14)
EJEMPLO 10.2 Pasos en la sustitución
Planteamiento del problema. Termine el problema que se inició en el ejemplo 10.1
para generar la solución final con eliminación hacia adelante y sustitución hacia atrás.
10.1 DESCOMPOSICIÓN LU 287
288 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
Solución. Como se estableció antes, la intención de la sustitución hacia adelante es
aplicar las operaciones de eliminación al vector {B}, previamente aplicadas a [A]. Re-
cuerde que el sistema resuelto en el ejemplo 9.5 fue
3 0 1 0 2
0 1 7 0 3
0 3 0 2 10
7 85
19 3
71 4
1
2
3
− −
−
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
= −
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
. .
. .
. .
.
.
.
x
x
x
y que la fase de eliminación hacia adelante del método de eliminación convencional de
Gauss dio como resultado
3 0 1 0 2
0 7 00333 0 293333
0 0 10 0120
7 85
19 5617
70 0843
1
2
3
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
= −
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
. .
. .
.
.
.
.
x
x
x
(E10.2.1)
La fase de la sustitución hacia adelante se realiza aplicando la ecuación (10.7) a
nuestro problema,
1 0 0
0 0333333 1 0
0 100000 0 0271300 1
7 85
19 3
71 4
1
2
3
.
. .
.
.
.
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
= −
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
d
d
d
o realizando la multiplicación entre matrices del lado izquierdo e igualando,
d1 = 7.85
0.0333333d1 + d2 = –19.3
0.1d1 – 0.02713d2 + d3 = 71.4
Se resuelve la primera ecuación para d1,
d1 = 7.85
la cual se sustituye en la segunda ecuación y se resuelve para d2
d2 = –19.3 – 0.0333333(7.85) = –19.5617
Ambas, d1 y d2, se sustituyen en la tercera ecuación para d3
d3 = 71.4 – 0.1(7.85) + 0.02713(–19.5617) = 70.0843
Así,
{ }
.
.
.
D = −
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
7 85
19 5617
70 0843
que es idéntica al lado derecho de la ecuación (E10.2.l).
Este resultado se sustituye, entonces, en la ecuación (10.4), [U]{X} = {D}, para
obtener
3 0 1 0 2
0 7 00333 0 293333
0 0 10 0120
7 85
19 5617
70 0843
1
2
3
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
= −
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
. .
. .
.
.
.
.
x
x
x
que se resuelve por sustitución hacia atrás (véase ejemplo 9.5 para más detalles) para
obtener la solución final,
{ } .
.
X = −
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
3
2 5
7 00003
El siguiente es el seudocódigo de una subrutina para implementar ambas fases de
sustitución:
SUB Substitute (a, n, b, x)
‘sustitución hacia adelante
DOFOR i = 2, n
sum = bi
DOFOR j = 1, i – 1
sum = sum – ai,j * bj
END DO
bi = sum
END DO
‘sustitución hacia atrás
xn = bn /an,n
DOFOR i = n – 1, 1, –1
sum = 0
DOFOR j = i + 1, n
sum = sum + ai,j * xj
END DO
xi = (bi – sum)/ai,i
END D0
END Substitute
El algoritmo de descomposición LU requiere los mismos FLOP de multiplicación/
división totales que la eliminación de Gauss. La única diferencia es que se aplica un
menor trabajo en la fase de descomposición, debido a que las operaciones no se aplican
al lado derecho. De esta forma, el número de FLOP de multiplicación/división en la fase
de descomposición se calculan así:
n n n
O n
n
3
3 3 3
3
− ⎯ →
⎯⎯⎯⎯
⎯ +
conforme aumenta
( ) (10.15)
10.1 DESCOMPOSICIÓN LU 289
290 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
SUB Ludecomp (a, b, n, tol, x, er)
DIM on, sn
er = 0
CALL Decompose(a, n, tol, o, s, er)
IF er  –1 THEN
CALL Substitute(a, o, n, b, x)
END IF
END Ludecomp
SUB Decompose (a, n, tol, o, s, er)
DOFOR i = 1, n
oi = i
si = ABS(ai,1)
DOFOR j = 2, n
IF ABS(ai,j)si THEN si = ABS(ai,j)
END DO
END DO
DOFOR k = 1, n – 1
CALL Pivot(a, o, s, n, k)
IF ABS(a0(k),k /s0(k))  tol THEN
er = –1
PRINT a0(k),k/s0(k)
EXIT DO
END IF
D0FOR i = k + 1, n
factor = a0(i),k /a0(k),k
a0(i),k = factor
DOFOR j = k + 1, n
a0(i),j = a0(i),j – factor * a0(k),j
END DO
END DO
END DO
IF ABS(a0(k),k/s0(k))  tol THEN
er = –1
PRINT a0(k),k/s0(k)
END IF
END Decompose
SUB Pivot(a, o, s, n, k)
p = k
big = ABS(a0(k),k /s0(k))
DOFOR ii = k + 1, n
dummy = ABS(a0(ii),k /s0(ii))
IF dummy  big THEN
big = dummy
p = ii
END IF
END DO
dummy = op
op = ok
ok = dummy
END Pivot
SUB Substitute (a, o, n, b, x)
DOFOR i = 2, n
sum = b0(i)
DOFOR j = 1, i –1
sum = sum – a0(i),j * b0(j)
END DO
b0(i) = sum
END DO
xn = b0(n) /a0(n),n
DOFOR i = n – 1, 1, –1
sum = 0
DOFOR j = i + 1, n
sum + sum + a0(i),j * xj
END DO
xi = (bo(i) – sum)/ao(i),i
END DO
END Substitute
Por lo contrario, la fase de sustitución requiere de un mayor trabajo. Así, el número
de FLOP para la sustitución hacia adelante y hacia atrás es n2
. El trabajo total es, por lo
tanto, idéntico al de la eliminación de Gauss
n n
n
n
O n
n
3
3 3 3
2
3
2
− + ⎯ →
⎯⎯⎯⎯⎯ +
conforme aumenta
( ) (10.16)
10.1.3 Algoritmo para la descomposición LU
En la figura 10.2 se presenta un algoritmo que implementa la descomposición LU con
eliminación de Gauss. Vale la pena mencionar cuatro características de este algoritmo:
FIGURA 10.2
Seudocódigo para un algoritmo de descomposición LU.
10.1 DESCOMPOSICIÓN LU 291
• Los factores generados durante la fase de eliminación se guardan en la parte inferior
de la matriz. Esto puede hacerse debido a que de cualquier manera éstos se convier-
ten en ceros y no son necesarios en la solución final. Este almacenamiento ahorra
espacio.
• El algoritmo lleva cuenta del pivoteo al usar un vector de orden o. Esto acelera
notablemente el algoritmo, ya que sólo se pivotea el vector (y no todo el renglón).
• Las ecuaciones no están escaladas, pero se usan valores escalados de los elementos
para determinar si se va a usar el pivoteo.
• El término de la diagonal se verifica durante la fase de pivoteo para detectar ocu-
rrencias cercanas a cero con el propósito de advertir al usuario respecto de sistemas
singulares. Si baja de un valor er = –1, entonces se ha detectado una matriz singular
y se debe terminar el cálculo. El usuario le da a un parámetro tol un valor pequeño,
para detectar ocurrencias cercanas a cero.
10.1.4 Descomposición Crout
Observe que en la descomposición LU con la eliminación de Gauss, la matriz [L] tiene
números 1 en la diagonal. Formalmente, a esto se le denomina descomposición o facto-
rización de Doolittle. Un método alternativo usa una matriz [U] con números 1 sobre la
diagonal. Esto se conoce como descomposición Crout. Aunque hay algunas diferencias
entre estos métodos, su funcionamiento es comparable (Atkinson, 1978; Ralston y Ra-
binowitz, 1978).
El método de descomposición de Crout genera [U] y [L] barriendo las columnas y
los renglones de la matriz, como se ilustra en la figura 10.3. La descomposición de Crout
se puede implementar mediante la siguiente serie concisa de fórmulas:
li,1 = ai,1 para i = 1, 2, …, n (10.17)
u1j =
a
l
j
1
11
para j = 2, 3,…, n (10.18)
Para j = 2, 3, …, n – 1
lij = aij –
k
j
ik kj
l u
=
−
∑
1
1
para i = j, j + 1, …, n (10.19)
ujk = =
−
∑
a l u
l
jk
i
j
ji ik
jj
1
1
para k = j + 1, j + 2, …, n (10.20)
y
lnn = ann –
k
n
nk kn
l u
=
−
∑
1
1
(10.21)
Además de que consiste de pocos ciclos, el método anterior también tiene la ventaja
de economizar espacio de almacenamiento. No hay necesidad de guardar los números 1
a)
b)
c)
d)
FIGURA 10.3
Un esquema que muestra
las evaluaciones implicadas
en la descomposición LU de
Crout.
292 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
que están en la diagonal de [U] o los números cero de [L] o [U], ya que se dan en el
método. En consecuencia, los valores de [U] se pueden guardar en el espacio de los
ceros de [L]. Además, mediante un cuidadoso examen de lo anterior, queda claro que
después de que un elemento de [A] se emplea una vez, nunca vuelve a utilizarse. Por lo
tanto, conforme se va calculando cada elemento de [L] y [U], se puede sustituir por el
elemento correspondiente de [A] (como se designó por sus subíndices).
El seudocódigo para realizar esto se presenta en la figura 10.4. Observe que la
ecuación (10.17) no está incluida en el seudocódigo, porque la primera columna de [L]
ya se guardó en [A]. De otra forma, el algoritmo sigue, en forma directa, de las ecuacio-
nes (10.18) a la (10.2l).
10.2 LA MATRIZ INVERSA
En el estudio de las operaciones con matrices (sección PT3.2.2), vimos que si una matriz
[A] es cuadrada, existe otra matriz [A]–1
, conocida como la inversa de [A], para la cual
[ecuación (PT3.3)]
[A][A]–1
= [A]–1
[A] = [I]
Ahora se enfocará el análisis hacia el modo en que la matriz inversa se calcula numéri-
camente. Después se explorará cómo se utiliza para el diseño en ingeniería.
DOFOR j = 2, n
a1,j = a1,j/a1,1
END DO
DOFOR j = 2, n – 1
DOFOR i = j, n
sum = 0
DOFOR k = 1, j – 1
sum = sum + ai,k · ak,j
END DO
ai,j = ai,j – sum
END DO
DOFOR k = j + 1, n
sum = 0
DOFOR i = 1, j – 1
sum = sum + aj,i · ai,k
END DO
aj,k = (aj,k – sum)/aj,j
END DO
END DO
sum = 0
DOFOR k = 1, n – 1
sum = sum + an,k · ak,n
END DO
an,n = an,n – sum
FIGURA 10.4
Seudocódigo para
el algoritmo de la
descomposición LU de
Crout.
10.2.1 Cálculo de la inversa
La inversa se puede calcular en forma de columna por columna, generando soluciones
con vectores unitarios como las constantes del lado derecho. Por ejemplo, si la constan-
te del lado derecho de la ecuación tienen un número 1 en la primera posición, y ceros en
las otras,
{ }
b =
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
1
0
0
la solución resultante será la primera columna de la matriz inversa. En forma similar, si
se emplea un vector unitario que tiene un número 1 en el segundo renglón
{ }
b =
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
0
1
0
el resultado será la segunda columna de la matriz inversa.
La mejor forma de realizar un cálculo como éste es con el algoritmo de descompo-
sición LU, descrito al inicio de este capítulo. Recuerde que una de las ventajas más im-
portantes de la descomposición LU es que proporciona un medio eficiente para evaluar
diversos vectores del lado derecho. Por lo tanto, resulta ideal para evaluar los vectores
unitarios requeridos en el cálculo de la inversa.
EJEMPLO 10.3 Inversión de matrices
Planteamiento del problema. Emplee la descomposición LU para determinar la
matriz inversa del sistema del ejemplo 10.2.
[ ]
. .
. .
. .
A =
− −
−
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
3 0 1 0 2
0 1 7 0 3
0 3 0 2 10
Recuerde que la descomposición dio como resultado las siguientes matrices triangulares
inferior y superior:
[ ]
. .
. .
.
[ ] .
. .
U L
=
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
=
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
3 0 1 0 2
0 7 00333 0 293333
0 0 10 0120
1 0 0
0 0333333 1 0
0 100000 0 0271300 1
Solución. La primera columna de la matriz inversa puede determinarse al efectuar el
procedimiento de solución por sustitución hacia adelante, con un vector unitario (con
10.2 LA MATRIZ INVERSA 293
294 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
el número 1 en el primer renglón) como el vector del lado derecho. Así, de la ecuación
(10.8), el sistema diagonal inferior es
1 0 0
0 0333333 1 0
0 100000 0 0271300 1
1
0
0
1
2
3
.
. .
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
d
d
d
de donde, por sustitución hacia adelante se obtiene {D}T
= [1 –0.03333 –0.1009]. Este
vector se utiliza como el lado derecho de la ecuación (10.3),
3 0 1 0 2
0 7 00333 0 293333
0 0 10 0120
1
0 03333
0 1009
1
2
3
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
= −
−
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
. .
. .
.
.
.
x
x
x
de donde, por sustitución hacia atrás, se obtiene {X}T
= [0.33249 –0.00518 –0.01008],
que es la primera columna de la matriz,
[ ]
.
.
.
A −
= −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1
0 33249 0 0
0 00518 0 0
0 01008 0 0
Para determinar la segunda columna, la ecuación (10.8) se formula como
1 0 0
0 0333333 1 0
0 100000 0 0271300 1
0
1
0
1
2
3
.
. .
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
d
d
d
De donde se puede obtener {D}, y los resultados se usan con la ecuación (10.3) para de-
terminar {X}T
= [0.0049440.1429030.00271], que es la segunda columna de la matriz,
[ ]
. .
. .
. .
A −
= −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1
0 33249 0 004944 0
0 00518 0 142903 0
0 01008 0 00271 0
Por último, los procedimientos de sustitución hacia adelante y de sustitución hacia atrás
pueden usarse con {B}T
= ⎣0 0 1⎦, para obtener {X}T
= [0.006798 0.004183 0.09988],
que es la columna final de la matriz,
[ ]
. . .
. . .
. . .
A −
= −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1
0 33249 0 004944 0 006798
0 00518 0 142903 0 004183
0 01008 0 00271 0 09988
La validez de este resultado se comprueba al verificar que [A][A]–1
= [I].
El seudocódigo para generar la matriz inversa se muestra en la figura 10.5. Observe
cómo se llama a la subrutina de descomposición de la figura 10.2, para realizar la des-
composición, y después se genera la inversa llamando repetidamente el algoritmo de
sustitución con vectores unitarios.
El trabajo requerido para este algoritmo se calcula fácilmente como
n n
n n
n n
n
3
2
3
3 3
4
3 3
− + = −
+ ×
( )
descomposición sustituciones
(10.22)
donde, de acuerdo con la sección 10.1.2 la descomposición está definida por la ecuación
(10.15) y el trabajo necesario en cada evaluación del lado derecho requiere n2
FLOP de
multiplicación/división.
10.2.2 Cálculos estímulo-respuesta
Como se vio en la sección PT3.1.2, muchos de los sistemas de ecuaciones lineales usados
en la práctica de la ingeniería se obtienen de las leyes de la conservación. La expresión
matemática de dichas leyes es algún tipo de ecuación de balance que asegura que una
propiedad específica se conserve (masa, fuerza, calor, momentum u otra). En un balan-
ce de fuerzas de una estructura, las propiedades pueden ser los componentes horizontal
o vertical de las fuerzas que actúan sobre cada nodo de la estructura (véase la sección
12.2). En un balance de masa, las propiedades pueden ser la masa en cada reactor de un
proceso químico (véase la sección 12.1). Se tendrán ejemplos similares en otros campos
de la ingeniería.
10.2 LA MATRIZ INVERSA 295
CALL Decompose (a, n, tol, o, s, er)
IF er = 0 THEN
DOFOR i = 1, n
DOFOR j = 1, n
IF i = j THEN
b(j) = 1
ELSE
b(j) = 0
END IF
END DO
Call Substitute (a, o, n, b, x)
DOFOR j = 1, n
ai(j, i) = x(j)
END DO
END DO
salida ai, si lo desea
ELSE
PRINT “sistema mal condicionado”
END IF
FIGURA 10.5
Programa principal que usa algunos de los subprogramas de la figura 10.2 para generar
una matriz inversa.
296 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
Al tenerse una ecuación de balance para cada parte del sistema, da como resultado
un conjunto de ecuaciones que definen el comportamiento de las propiedades en todo el
sistema. Estas ecuaciones se interrelacionan, ya que cada ecuación puede tener una o
más de las variables de las otras ecuaciones. En muchos casos, estos sistemas son linea-
les y, por lo tanto, de la forma que se trata en este capítulo:
[A]{X} = {B} (10.23)
Ahora bien, para las ecuaciones de balance, los términos de la ecuación (10.23)
tienen una interpretación física definida. Por ejemplo, los elementos de {X} son los va-
lores de la propiedad que se balanceará en cada parte del sistema. En el balance de
fuerzas de una estructura, representan las fuerzas vertical y horizontal en cada miembro.
En el balance de masa, los elementos de {X} son las masas de sustancias químicas en
cada reactor. En cualquier caso, representan la respuesta o estado del sistema, que se
está tratando de determinar.
El vector del lado derecho {B} contiene los elementos del balance que son indepen-
dientes del comportamiento del sistema (es decir, son constantes). Como tales, repre-
sentan las fuerzas externas o los estímulos que rigen al sistema.
Finalmente, la matriz de coeficientes [A] contiene los parámetros que expresan cómo
interactúan las partes del sistema. En consecuencia, la ecuación (10.23) se puede expre-
sar como:
[interacciones]{respuesta} = {estímulos}
Así, la ecuación (10.23) puede verse como una expresión del modelo matemático funda-
mental que se formuló anteriormente como una sola ecuación en el capítulo 1 [recuerde
la ecuación (1.1)]. Ahora se percibe que la ecuación (10.23) representa una versión para
sistemas interrelacionados con diversas variables dependientes {X}.
Como ya hemos visto en este capítulo y en el anterior, existen varias formas de
resolver la ecuación (10.23). Sin embargo, usando la matriz inversa se obtiene un resul-
tado particularmente interesante. La solución formal se expresa como
{X} = [A]–1
{B}
o (recordando la definición de la multiplicación matricial del cuadro PT3.2)
x1 = a–1
11 b1 + a–1
12 b2 + a–1
13 b3
x2 = a–1
21 b1 + a–1
22 b2 + a–1
23 b3
x3 = a–1
31 b1 + a–1
32 b2 + a–1
33 b3
De esta forma, se ha encontrado que la misma matriz inversa, además de ofrecer una
solución, tiene propiedades extremadamente útiles. Es decir, cada uno de sus elementos
representa la respuesta de una sola parte del sistema a un estímulo unitario de cualquier
otra parte de dicho sistema.
Observe que estas formulaciones son lineales y, por lo tanto, se satisfacen la super-
posición y la proporcionalidad. La superposición significa que si un sistema está sujeto
a varios estímulos (las b), las respuestas se pueden calcular individualmente y los resul-
tados se suman para obtener la respuesta total. La proporcionalidad significa que al
multiplicar los estímulos por una cantidad el resultado es la respuesta a esos estímu-
los multiplicada por la misma cantidad. Así, el coeficiente a11
–1
es una constante de pro-
porcionalidad que da el valor de x1 correspondiente a una cantidad unitaria b1. Este
resultado es independiente de los efectos de b2 y b3 sobre x1, los cuales se reflejan en los
coeficientes a12
–1
y a13
–1
, respectivamente. Por lo tanto, se llega a la conclusión general de
que el elemento aij
–1
de la matriz inversa representa el valor de xi debido a la cantidad uni-
taria bj. Usando el ejemplo de la estructura, el elemento aij
–1
de la matriz inversa represen-
taría la fuerza en el miembro i debida a una fuerza unitaria externa en el nodo j. Incluso
para sistemas pequeños, dicho comportamiento de interacciones estímulo-respuesta indi-
viduales podría no ser intuitivamente obvio. Como tal, la matriz inversa ofrece una pode-
rosa técnica para comprender las interrelaciones entre las partes componentes de sistemas
complicados. Este poder se demostrará en las secciones 12.1 y 12.2.
10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA
Además de sus aplicaciones a la ingeniería, la inversa también proporciona un medio
para determinar si los sistemas están mal condicionados. Están disponibles tres métodos
para este propósito:
1. Escalar la matriz de coeficientes [A], de manera que el elemento más grande en cada
renglón sea 1. Se invierte la matriz escalada, y si existen elementos de [A]–1
que
sean varios órdenes de magnitud mayores que uno, es posible que el sistema esté
mal condicionado (véase el cuadro 10.1).
2. Multiplicar la inversa por la matriz de coeficientes original y estimar si el resultado
es lo suficientemente cercano a la matriz identidad. Si no es así, esto indica que el
sistema está mal condicionado.
Cuadro 10.1 Interpretación de los elementos de la matriz inversa
como una medida de mal condicionamiento
Un método para determinar la condición de un sistema consiste
en escalar [A] de tal forma que el elemento mayor en cada renglón
sea 1 y después calcular [A]–1
. Si los elementos de [A]–1
son
varios órdenes de magnitud mayores que los elementos de la
matriz escalada original, es probable que el sistema esté mal
condicionado.
Se puede obtener cierto conocimiento con este método al
recordar que una forma de verificar si una solución aproximada
{X} es aceptable, es sustituyéndola en las ecuaciones originales
y observar si resultan las constantes originales del lado derecho.
Esto equivale a
{R} = {B} – [A]{X
~
} (C10.1.1)
donde {R} es el residuo entre las constantes del lado derecho y
los valores calculados con la solución {X
~
}. Si {R} es pequeño,
se concluye que los valores de {X
~
} son adecuados. Suponiendo
que {X} es la solución exacta que da un residuo cero, entonces
{0} = {B} – [A]{X} (C10.1.2)
10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 297
Restando la ecuación (C10.1.2) de (C10.1.1) resulta
{R} = [A]{{X} – {X
~
}}
Multiplicando ambos lados de esta ecuación por [A]–1
se obtiene
{X} – {X
~
} = [A]–1
{R}
Este resultado indica por qué la verificación de una solución por
sustitución puede ser engañosa. Para casos donde los elementos
de [A]–1
son grandes, una pequeña discrepancia en el residuo {R}
del lado derecho, puede corresponder a un gran error {X} – {X
~
}
en el valor calculado de las incógnitas. En otras palabras, un
residuo pequeño no garantiza una solución exacta. Aunque,
puede concluirse que si el elemento mayor de [A]–1
es de un
orden de magnitud unitaria, se puede considerar que el sistema
está bien condicionado. De modo contrario, si [A]–1
contiene
elementos mucho más grandes que la unidad se concluye que el
sistema está mal condicionado.
298 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
3. Invertir la matriz inversa y estimar si el resultado está lo suficientemente cercano
a la matriz de coeficientes original. Si no es así, esto de nueva cuenta indica que el
sistema está mal condicionado.
Aunque estos métodos llegan a indicar un mal condicionamiento, sería preferible
obtener un solo número (al igual que el número de condición de la sección 4.2.3) que
sirviera como un indicador del problema. Los intentos que se han hecho para formular tal
número de condición matricial están basados en el concepto matemático de la norma.
10.3.1 Normas vectoriales y matriciales
Una norma es una función que toma valores reales y que proporciona una medida del
tamaño o “longitud” de entidades matemáticas multicomponentes, como los vectores y
las matrices (véase cuadro 10.2).
Un ejemplo simple es un vector en el espacio euclidiano tridimensional (figura 10.6)
que se representa como
[F] = [a b c]
donde a, b y c son las distancias a lo largo de los ejes x, y y z, respectivamente. La lon-
gitud de este vector [esto es, la distancia de la coordenada (0, 0, 0) a (a, b, c)] se calcula
simplemente como
F a b c
e
= + +
2 2 2
donde la nomenclatura⏐
⏐F⏐
⏐e indica que a esta longitud se refiere a la norma euclidiana
de [F].
En forma similar, para un vector n dimensional ⎣X⎦ = ⎣x1 x2 … xn⎦, una norma eucli-
diana se calcularía como
X x
e
i
n
i
=
=
∑
1
2
FIGURA 10.6
Representación gráfica de
un vector ⎣F⎦ = [a b c] en
el espacio euclidiano.
y
x
a
2 ⫹
b
2 ⫹
c
2
b
储F
储 =
z
c
a
Cuadro 10.2 Normas matriciales
10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 299
Como se vio en esta sección, las normas euclidianas se emplean
para cuantificar el tamaño de un vector,
X x
e
i
n
i
=
=
∑
1
2
o de una matriz,
A a
e
j
n
i
n
i j
=
=
=
∑
∑ 1
1
2
,
Para vectores, existen alternativas llamadas normas p que se
representan generalmente por
X x
p
i
n
i
p
p
=
⎛
⎝
⎜
⎞
⎠
⎟
=
∑
1
1/
Puede observarse que la norma euclidiana y la norma 2,⏐
⏐X⏐
⏐2,
son idénticas para vectores.
Otros ejemplos importantes son
X x
i
n
i
1
1
=
=
∑
que representa la norma como la suma de los valores absolutos
de los elementos. Otra es la norma magnitud-máxima o norma
vector-uniforme.
X x
i n
i
∞ ≤ ≤
= máx
1
la cual define la norma como el elemento con el mayor valor
absoluto.
Utilizando un método similar, se pueden desarrollar normas
para matrices. Por ejemplo,
A a
j n
i
n
ij
1 1
1
=
≤ ≤
=
∑
máx
Esto es, se realiza una sumatoria de los valores absolutos de los
coeficientes para cada columna, y la mayor de estas sumatorias
se toma como la norma. Esto se conoce como la norma columna-
suma.
Una determinación similar se puede hacer para los renglones,
y resulta una matriz-uniforme o norma renglón-suma,
A a
i n
j
n
ij
∞ ≤ ≤
=
= ∑
máx
1
1
Debe observarse que, en contraste con los vectores, la norma
2 y la norma euclidiana para una matriz no son lo mismo. Mien-
tras que la norma euclidiana⏐
⏐A⏐
⏐e puede ser fácilmente determi-
nada mediante la ecuación (10.24), la norma 2 para matrices⏐
⏐A
⏐
⏐2
se calcula así:
⏐
⏐A⏐
⏐2 = (µmáx)1/2
donde µmáx es el mayor eigenvalor de [A]T
[A]. En el capítulo 27
se verá más sobre eigenvalores. Mientras tanto, el punto impor-
tante es que la norma⏐
⏐A⏐
⏐2, o norma espectral, es la norma mí-
nima y, por lo tanto, proporciona la medida de tamaño más
ajustada (Ortega, 1972).
El concepto puede extenderse además a una matriz [A], de la siguiente manera
A a
e
j
n
i
n
i j
=
=
=
∑
∑ 1
1
2
, (10.24)
a la cual se le da un nombre especial (la norma de Frobenius). De la misma manera
como las normas de vectores, proporciona un valor único para cuantificar el “tamaño”
de [A].
Debe notarse que hay alternativas para las normas euclidiana y de Frobenius (véase
cuadro 10.2). Por ejemplo, la norma vector uniforme se define como
X x
i n
i
∞ ≤ ≤
= máx
1
300 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
Es decir, el elemento con el mayor valor absoluto se toma como la medida del tamaño
del vector. En forma similar, una norma matricial uniforme o norma renglón-suma se
define como
A a
i n
j
n
ij
∞ ≤ ≤
=
= ∑
máx
1
1
(10.25)
En este caso, se calcula la suma del valor absoluto de los elementos por cada renglón, y
la mayor de éstas se toma como la norma.
Aunque hay ventajas teóricas para el uso de ciertas normas, la elección algunas
veces está influenciada por consideraciones prácticas. Por ejemplo, la norma renglón-
uniforme es ampliamente usada por la facilidad con que se calcula, y por el hecho de
que usualmente proporciona una medida adecuada del tamaño de la matriz.
10.3.2 Número de condición de una matriz
Ahora que se ha presentado el concepto de norma, se puede usar para definir
Cond [A] =⏐
⏐A⏐
⏐·⏐
⏐A–1
⏐
⏐ (10.26)
donde Cond [A] se llama número de condición de una matriz. Observe que para una
matriz [A], este número será mayor o igual a 1. Se puede mostrar (Ralston y Rabinowitz,
1978; Gerald y Wheatley, 1989) que
∆ ∆
X
X
A
A
A
≤ Cond [ ]
Es decir, el error relativo de la norma de la solución calculada puede ser tan grande como
el error relativo de la norma de los coeficientes de [A], multiplicada por el número de
condición. Por ejemplo, si los coeficientes de [A] se encuentran a t dígitos de precisión
(esto es, los errores de redondeo son del orden de 10–t
) y Cond [A] = 10c
, la solución [X]
puede ser válida sólo para t – c dígitos (errores de redondeo ~ 10c–t
).
EJEMPLO 10.4 Evaluación de la condición de una matriz
Planteamiento del problema. La matriz de Hilbert, que es notoriamente mal condi-
cionada, se representa como
1 1 2 1 3 1
1 2 1 3 1 4 1 1
1 1 1 1 2 1 2
/ / /
/ / / /( )
/ /( ) /( ) /( )



n
n
n n n n
+
⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅
⋅ ⋅ ⋅ ⋅
+ +
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
Use la norma renglón-suma para estimar el número de condición de la matriz de Hilbert
de 3 × 3,
[ ]
/ /
/ / /
/ / /
A =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1 1 2 1 3
1 2 1 3 1 4
1 3 1 4 1 5
Solución. Primero, la matriz se normaliza de tal forma que el elemento máximo en
cada renglón sea 1.
[ ]
/ /
/ /
/ /
A =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
1 1 2 1 3
1 2 3 1 2
1 3 4 3 5
Sumando cada uno de los renglones el resultado es 1.833, 2.1667 y 2.35. Entonces, el
tercer renglón tiene la suma mayor y la norma renglón-suma es
A ∞
= + + =
1
3
4
3
5
2 35
.
La inversa de la matriz escalada se calcula como
[ ]–
A 1
9 18 10
36 96 60
30 90 60
=
−
− −
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
Observe que los elementos de esta matriz son mayores que los de la matriz original. Esto
también se refleja en su norma renglón-suma, la cual se calcula como
⏐
⏐A⏐
⏐∞ = –36 + 96 + –60 = 192
Entonces, el número de condición se calcula como
Cond [A] = 2.35(192) = 451.2
El hecho de que el número de condición sea considerablemente mayor que la unidad
sugiere que el sistema está mal condicionado. La importancia del mal condicionamiento
puede ser cuantificado al calcular c = log 451.2 = 2.65. Las computadoras que usan una
representación de punto flotante IEEE tienen aproximadamente t = log 2–24
= 7.2 dígitos
significativos en base 10 (recuerde la sección 3.4.1). Por lo tanto, la solución puede tener
errores de redondeo de hasta 10(2.65–7.2)
= 3 × 10–5
. Observe que una estimación como
ésta casi siempre sobrepredice el error verdadero. Sin embargo, son útiles para alertar
al usuario en el caso de que los errores de redondeo puedan resultar significativos.
10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 301
302 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
En pocas palabras, el problema al usar la ecuación (10.26) es el precio computacio-
nal requerido para obtener⏐
⏐A–1
⏐
⏐. Rice (1983) indica algunas posibles estrategias para
reducir el problema. Además, él sugiere una forma alternativa para determinar la con-
dición del sistema: ejecute la misma solución en dos diferentes compiladores. Ya que los
códigos resultantes implementan en forma diferente la aritmética, el efecto de mal con-
dicio-namiento debería ser evidente en un experimento como ése. Por último, se debe
mencionar que los paquetes de software y las bibliotecas, como MATLAB y Mathcad,
tienen la capacidad para calcular en forma conveniente la condición de una matriz.
Revisaremos estas capacidades cuando se vean esos paquetes al final del capítulo 11.
10.3.3 Refinamiento iterativo
En algunos casos, los errores de redondeo se reducen con el siguiente procedimiento.
Suponga que se está resolviendo el siguiente sistema de ecuaciones:
a11x1 + al2x2 + a13x3 = b1
a21x1 + a22x2 + a23x3 = b2 (10.27)
a31x1 + a32x2 + a33x3 = b3
Se limitará el siguiente análisis a un sistema pequeño de (3 × 3). Aunque, este método se
puede generalizar para aplicarlo a sistemas de ecuaciones lineales más grandes.
Suponga que una solución aproximada en forma vectorial es {X
~
}T
= ⎣x
~
1 x
~
2 x
~
3⎦. Esta
solución se sustituye en la ecuación (10.27) para tener
a11x
~
1 + al2x
~
2 + a13x
~
3 = b
~
1
a21x
~
1 + a22x
~
2 + a23x
~
3 = b
~
2 (10.28)
a31x
~
1 + a32x
~
2 + a33x
~
3 = b
~
3
Ahora, suponga que la solución exacta {X} está expresada como una función de la solu-
ción aproximada y de un vector de factores de corrección {∆X}, donde
x1 = x
~
1 + ∆x1
x2 = x
~
2 + ∆x2 (10.29)
x3 = x
~
3 + ∆x3
Estos resultados se sustituyen en la ecuación (10.27), para obtener el siguiente sistema:
a11(x
~
1 + ∆x1) + al2(x
~
2 + ∆x2) + a13(x
~
3 + ∆x3) = b1
a21(x
~
1 + ∆x1) + a22(x
~
2 + ∆x2) + a23(x
~
3 + ∆x3) = b2 (10.30)
a31(x
~
1 + ∆x1) + a32(x
~
2 + ∆x2) + a33(x
~
3 + ∆x3) = b3
Ahora, la ecuación (10.28) se resta de la (10.30) para dar
a11∆x1 + al2∆x2 + a13∆x3 = b1 – b
~
1 = E1
a21∆x1 + a22∆x2 + a23∆x3 = b2 – b
~
2 = E2 (10.31)
a31∆x1 + a32∆x2 + a33∆x3 = b3 – b
~
3 = E3
Así este sistema es un conjunto de ecuaciones lineales simultáneas que puede resolver-
se para obtener los factores de corrección. Dichos factores se aplican para mejorar la
solución, como lo especifica la ecuación (10.29).
Es relativamente sencillo agregar un procedimiento de refinamiento iterativo en los
programas de computadora para métodos de eliminación. Esto es especialmente efecti-
vo para los métodos de descomposición LU descritos antes, los cuales sirven para evaluar
en forma eficiente varios vectores del lado derecho. Observe que para ser efectivos en
sistemas mal condicionados, las E en la ecuación (10.31) deben expresarse en doble
precisión.
PROBLEMAS
10.1 Utilice las reglas de la multiplicación de matrices para
demostrar que las ecuaciones (10.7) y (10.8) se obtienen de la
(10.6).
10.2 a) Use la eliminación simple de Gauss para descomponer
el sistema siguiente, de acuerdo con la descripción de la sección
10.1.2.
10x1 + 2x2 – x3 = 27
–3x1 – 6x2 + 2x3 = –61.5
x1 + x2 – 5x3 = –21.5
Después, multiplique las matrices[L] y [U] resultantes para de-
mostrar que se genera [A]. b) Emplee la descomposición LU para
resolver el sistema. Realice todos los pasos del cálculo. c) Tam-
bién resuelva el sistema para un vector alternativo del lado de-
recho: {B}T
= [12 18 –6].
10.3
a) Resuelva el sistema de ecuaciones siguiente por medio de
la descomposición LU sin pivoteo.
8x1 + 4x2 – x3 = 11
–2x1 + 5x2 + x3 = 4
2x1 – x2 + 6x3 = 7
b) Determine la matriz inversa. Compruebe sus resultados por
medio de verificar que [A][A]–1
= [I].
10.4 Resuelva el sistema de ecuaciones siguiente por medio de
la descomposición LU con pivoteo parcial:
2x1 – 6x2 – x3 = –38
–3x1 – x2 + 7x3 = –34
–8x1 + x2 – 2x3 = –20
10.5 Determine los flops totales como función del número de
ecuaciones n para las fases de a) descomposición, b) sustitución
hacia adelante, y c) sustitución hacia atrás, de la versión de la
descomposición LU de la eliminación de Gauss.
PROBLEMAS 303
10.6 Utilice la descomposición LU para determinar la matriz in-
versa del sistema que sigue. No use una estrategia de pivoteo, y
compruebe su resultado con la verificación de que [A][A]–1
= [I].
10x1 + 2x2 – x3 = 27
–3x1 – 6x2 – 2x3 = –61.5
x1 + x2 + 5x3 = –21.5
10.7 Ejecute la descomposición de Crout sobre el sistema
2x1 – 6x2 + x3 = 12
–x1 + 7x2 – x3 = –8
x1 – 3x2 + 2x3 = 16
Después, multiplique las matrices [L] y [U] resultantes para
determinar que se produce [A].
10.8 El sistema de ecuaciones que sigue está diseñado para
determinar concentraciones (las c están en g/m3
) en una serie de
reactores acoplados, como función de la cantidad de masa que
entra a cada uno de ellos (los lados derechos están en g/día),
15c1 – 3c2 – c3 = 3 800
–3c1 + 18c2 – 6c3 = 1 200
–4c1 – c2 + 12c3 = 2 350
a) Determine la matriz inversa.
b) Use la inversa para encontrar la solución.
c) Determine cuánto debe incrementarse la tasa de masa de
entrada al reactor 3 para inducir un aumento de 10 g/m3
en
la concentración del reactor 1.
d) ¿Cuánto se reduciría la concentración en el reactor 3 si la
tasa de masa de entrada a los reactores 1 y 2 se redujera en
500 y 250 g/día, respectivamente?
10.9 Determine ⏐A⏐
⏐e,⏐
⏐A⏐
⏐1 y⏐
⏐A⏐
⏐∞ para
[ ]
–
–
A =
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
8 2 10
9 1 3
15 1 6
304 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES
Escale la matriz haciendo que el máximo elemento de cada
renglón sea igual a uno.
10.10 Determine las normas Euclidiana y de renglón-suma para
los sistemas de los problemas 10.3 y 10.4. Escale las matrices
por medio de hacer que el elemento más grande de cada renglón
sea igual a uno.
10.11 Una matriz [A] está definida como sigue
[ ]
. . .
. . .
.
A =
0 125 0 25 0 5 1
0 015625 0 625 0 25 1
0 00463 0.
. .
. . .
02777 0 16667 1
0 001953 0 015625 0 125 1
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎤
⎦
⎥
⎥
⎥
⎥
Con el uso de la norma renglón-suma, calcule el número de
condición y cuántos dígitos sospechosos se generarían con esta
matriz.
10.12 a) Determine el número de condición para el sistema si-
guiente por medio de la norma renglón-suma. No normalice el
sistema.
1 4 9 16 25
4 9 16 25 36
9 16 25 36 49
16 25 36 49 64
25 36 49 64 81
1
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
¿Cuántos dígitos de precisión se perderían debido a la condición
anómala? b) Repita el inciso a), pero escale la matriz por medio
de hacer el elemento más grande de cada renglón igual a uno.
10.13 Determine el número de condición con base en la norma
renglón-suma para la matriz de Hilbert normalizada de 5 × 5.
¿Cuántos dígitos significativos de precisión se perderían debido
a la condición anómala?
10.14 Además de la matriz de Hilbert, hay otras matrices que
son anómalas de modo inherente. Uno de esos casos es la matriz
de Vandermonde, que tiene la forma siguiente:
x x
x x
x x
1
2
1
2
2
2
3
2
3
1
1
1
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
a) Determine el número de condición con base en la norma
renglón-suma para el caso en que x1 = 4, x2 = 2, y x3 = 7.
b) Emplee el software de MATLAB para calcular los números
de condición espectral y de Frobenius.
10.15 Desarrolle un programa amigable para el usuario para
hacer la descomposición LU con base en el seudocódigo de la
figura 10.2.
10.16 Realice un programa amigable para el usuario para efec-
tuar la descomposición LU, que incluya la capacidad de evaluar
la matriz inversa. Fundamente el programa en las figuras 10.2 y
10.5.
10.17 Use técnicas iterativas de refinamiento para mejorar x1 =
2, x2 = –3 y x3 = 8, que son las soluciones aproximadas de
2x1 + 5x2 + x3 = –5
6x1 + 2x2 + x3 = 12
x1 + 2x2 + x3 = 3
10.18 Considere los vectores siguientes:
A a
B b
C c
= − +
= + −
= + +
2 3
4
3 2
i j k
i j k
i j k
El vector A es perpendicular al B y al C. También se sabe que
B C
⋅ = 2. Use cualquier método de los estudiados en este capí-
tulo para resolver las tres incógnitas, a, b y c.
10.19 Considere los vectores siguientes:
A a b c
B
C
= + +
= − + −
= + +
i j k
i j k
i j k
2 4
3 2
donde A es un vector desconocido. Si
( ) ( ) ( ) ( ) (
A B A C a b

 
 
 
 
 
× + × = + + − + −
5 6 3 2 4
i j c
c +1)k

use cualquier método de los que aprendió en este capítulo para
resolver para las tres incógnitas, a, b y c.
10.20 Deje que la función esté definida en el intervalo [0, 2]
como sigue:
f x
ax b x
cx d x
( )
,
,
=
+ ≤ ≤
+ ≤ ≤
⎧
⎨
⎩
0 1
1 2
Determine las constantes a, b, c y d, de modo que la función f
satisfaga lo siguiente:
• f(0) = f(2) = 1.
• f es continua en todo el intervalo.
• a + b = 4.
Obtenga y resuelva un sistema de ecuaciones algebraicas lineales
con una forma matricial idéntica a la ecuación (10.1).
10.21
a) Cree una matriz de Hilbert de 3 × 3. Ésta será la matriz [A].
Multiplique la matriz por el vector columna {x} = [1, 1, 1]T
.
La solución de [A]{x} será otro vector columna {b}. Con
el uso de cualquier paquete numérico y la eliminación de
Gauss, encuentre la solución de [A]{x} = {b} por medio del
empleo de la matriz de Hilbert y el vector {b} que calculó.
Compare el resultado con su vector {x} conocido. Utilice
precisión suficiente al mostrar los resultados con objeto de
permitir detectar imprecisiones.
b) Repita el inciso a) con el uso de una matriz de Hilbert de 7 × 7.
c) Repita el inciso a) con el uso de una matriz de Hilbert de
10 × 10.
CAPÍTULO 11
Matrices especiales y el método
de Gauss-Seidel
Ciertas matrices tienen una estructura particular que puede aprovecharse para desarro-
llar esquemas de solución eficientes. La primera parte de este capítulo se dedica a dos
de estos sistemas: matrices bandeadas y simétricas. Se describen métodos de elimina-
ción eficiente para ambas.
La segunda parte de este capítulo presenta una alternativa a los métodos de elimi-
nación, es decir, métodos iterativos. El enfoque se da con el método de Gauss-Seidel, el
cual emplea valores iniciales y después itera para obtener mejores aproximaciones a la
solución. El método de Gauss-Seidel es particularmente adecuado cuando se tiene gran
número de ecuaciones. En estos casos, los métodos de eliminación pueden estar sujetos
a errores de redondeo. Debido a que el error en el método de Gauss-Seidel es determi-
nado por el número de iteraciones, el error de redondeo no es un tema que preocupe a este
método. Aunque, existen ciertos ejemplos donde la técnica de Gauss-Seidel no conver-
gerá al resultado correcto. Éstas y algunas otras ventajas y desventajas que se tienen
entre los métodos de eliminación e iterativos se analizarán en las páginas siguientes.
11.1 MATRICES ESPECIALES
Como se mencionó en el cuadro PT3.1, una matriz bandeada es una matriz cuadrada en
la que todos sus elementos son cero, con excepción de una banda centrada sobre la dia-
gonal principal. Los sistemas bandeados se encuentran con frecuencia en la práctica
científica y de la ingeniería. Por ejemplo, tales sistemas aparecen en la solución de ecua-
ciones diferenciales. Además, otros métodos numéricos como el de los trazadores cúbicos
(sección 18.5) involucran la solución de sistemas bandeados.
Las dimensiones de un sistema bandeado se cuantifica mediante dos parámetros:
el ancho de banda (BW, por sus iniciales en inglés) y el ancho de media banda HBW
(figura 11.1). Estos dos valores se relacionan mediante BW = 2HBW + 1. En general, un
sistema bandeado es aquel para el cual aij = 0 si ⎪i – j⎪  HBW.
Aunque la eliminación de Gauss o la descomposición LU convencional se emplean
para resolver sistemas de ecuaciones bandeados, resultan ser ineficientes, debido a que
si el pivoteo no es necesario, ninguno de los elementos fuera de la banda cambiará su
valor original igual a cero. Así, será necesario utilizar tiempo y espacio en el almacena-
miento y en el manejo de estos ceros inútiles. Si se sabe de antemano que el pivoteo no
es necesario, se pueden desarrollar algoritmos muy eficientes en los que no intervengan
los ceros fuera de la banda. Como en muchos problemas con sistemas bandeados, no se
requiere el pivoteo; los algoritmos alternos, que se describirán a continuación, son los
métodos seleccionados para tal fin.
306 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
11.1.1 Sistemas tridiagonales
Un sistema tridiagonal (es decir, uno con un ancho de banda 3) se expresa en forma
general como:
f g
e f g
e f g
e f g
e f
x
x
x
x
x
r
r
r
n n n
n n
n
n
1 1
2 2 2
3 3 3
1 1 1
1
2
3
1
1
2
3
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⋅ ⋅ ⋅
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⋅
⋅
⋅
⎧
⎨
⎪
⎪
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎪
⎪
⎫
⎬
⎪
⎪
⎪
⎪
⎪
⎭
⎪
⎪
⎪
⎪
⎪
=
⋅
⋅
– – – –
⋅
⋅
⎧
⎨
⎪
⎪
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎪
⎪
⎫
⎬
⎪
⎪
⎪
⎪
⎪
⎭
⎪
⎪
⎪
⎪
⎪
r
r
n
n
– 1
(11.1)
Observe que se ha cambiado la notación para los coeficientes; en lugar de a y b usamos
e, f, g y r. Esto se hace para evitar guardar un gran número de ceros que no se utilizan
en la matriz cuadrada de las a. Esta modificación es ventajosa para ahorrar espacio, ya
que el algoritmo resultante requiere menos memoria de cómputo.
En la figura 11.2 se muestra el seudocódigo de un método eficiente, llamado algo-
ritmo de Thomas, para resolver la ecuación (11.1). Como una descomposición LU con-
vencional, el algoritmo consiste de tres pasos: descomposición, sustitución hacia
adelante y sustitución hacia atrás. Así, las ventajas de la descomposición LU, tales como
la evaluación de vectores múltiples del lado derecho y el cálculo de la matriz inversa, se
obtienen mediante una apropiada aplicación de este algoritmo.
HBW + 1
HBW
BW
Diagonal
FIGURA 11.1
Parámetros utilizados para cuantificar las dimensiones de un sistema bandeado. BW y HBW
designan el ancho de banda y el ancho de media banda, respectivamente.
a) Descomposición
DOFOR k = 2, n
ek = ek/fk–1
fk = fk – ek · gk–1
END DO
b) Sustitución hacia
adelante
DOFOR k = 2, n
rk = rk – ek · rk–1
END DO
c) Sustitución hacia atrás
xn = rn/fn
DOFOR k = n – 1, 1, –1
x
k = (rk – gk · xk +1)/fk
END DO
FIGURA 11.2
Seudocódigo para
implementar el algoritmo
de Thomas, un método de
descomposición LU para
sistemas tridiagonales.
EJEMPLO 11.1 Solución tridiagonal con el algoritmo de Thomas
Planteamiento del problema. Resuelva el siguiente sistema tridiagonal con el algo-
ritmo de Thomas.
2 04
1
1
2 04
1
1
2 04
1
1
2 04
40 8
0 8
0 8
200 8
1
2
3
4
.
.
.
.
.
.
.
.
−
−
−
−
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
T
T
T
T
Solución. Primero, la descomposición se realiza así:
e2 = –1/2.04 = –0.49
f2 = 2.04 – (–0.49)(–1) = 1.550
e3 = –1/1.550 = –0.645
f3 = 2.04 – (–0.645)(–1) = 1.395
e4 = –1/1.395 = –0.717
f4 = 2.04 – (–0.717)(–1) = 1.323
Así, la matriz se transforma en
2 04
0 49
1
1 550
0 645
1
1 395
0717
1
1 323
.
.
–
.
. .
.
−
−
−
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
y la descomposición LU es
A L U
[ ] = [ ][ ] =
−
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
1
0 49 1
0 645 1
0717 1
2 04 1
1 550 1
1 395 1
1 323
.
.
. –
.
.
.
Se puede verificar que ésta sea correcta al multiplicar [L][U] para obtener [A].
La sustitución hacia adelante se realiza de la siguiente manera:
r2 = 0.8 – (–0.49)40.8 = 20.8
r3 = 0.8 – (–0.645)20.8 = 14.221
r4 = 200.8 – (–0.717)14.221 = 210.996
De esta forma, el vector del lado derecho se modifica a
11.1 MATRICES ESPECIALES 307
308 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
40 8
20 8
14 221
210 996
.
.
.
.
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
el cual, entonces, se utiliza de manera conjunta con la matriz [U], para realizar la sus-
titución hacia atrás y obtener la solución
T4 = 210.996/1.323 = 159.480
T3 = [14.221 – (–1)159.48]/1.395 = 124.538
T2 = [20.800 – (–1)124.538]/1.550 = 93.778
T1 = [40.800 – (–1)93.778]/2.040 = 65.970
11.1.2 Descomposición de Cholesky
Recuerde del cuadro PT3.1, que una matriz simétrica es aquella donde aij = aji para toda
i y j. En otras palabras, [A] = [A]T
. Tales sistemas se presentan comúnmente en problemas
de contexto matemático y de ingeniería. Estas matrices ofrecen ventajas computaciona-
les, ya que únicamente se necesita la mitad de espacio de almacenamiento y, en la ma-
yoría de los casos, sólo se requiere la mitad del tiempo de cálculo para su solución.
Uno de los métodos más populares usa la descomposición de Cholesky. Este algo-
ritmo se basa en el hecho de que una matriz simétrica se descompone así:
[A] = [L][L]T
(11.2)
Es decir, los factores triangulares resultantes son la transpuesta uno de otro.
Los términos de la ecuación (11.2) se desarrollan al multiplicar e igualar entre sí
ambos lados (véase el problema 11.4 al final del capítulo). El resultado se expresa en
forma simple mediante relaciones de recurrencia. Para el renglón k-ésimo,
l
a l l
l
ki
ki ij kj
j
i
ii
=
−
=
−
∑
1
1
para i = 1, 2,…, k – 1 (11.3)
y
l a l
kk kk kj
j
k
=
=
−
∑
– 2
1
1
(11.4)
EJEMPLO 11.2 Descomposición de Cholesky
Planteamiento del problema. Aplique la descomposición de Cholesky a la matriz
simétrica
A
[ ] =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
6
15
55
15
55
225
55
225
979
Solución. Para el primer renglón (k = 1), no se toma en cuenta la ecuación (11.3) y se
emplea la ecuación (11.4) para calcular
l a
11 11 6 2 4495
= = = .
Para el segundo renglón (k = 2), con la ecuación (11.3) se obtiene
l
a
l
21
21
11
15
2 4495
6 1237
= = =
.
.
y con la ecuación (11.4) resulta
l a l
22 22 21
2 2
55 6 1237 4 1833
= − = − =
( . ) .
Para el tercer renglón (k = 3), la ecuación (11.3) con i = 1 da como resultado
l
a
l
31
31
11
55
2 4495
22 454
= = =
.
.
y con (i = 2)
l
a l l
l
32
32 21 31
22
225 6 1237 22 454
4 1833
20 916
=
−
=
−
=
. ( . )
.
.
en la ecuación (11.4) se obtiene
l a l l
33 33 31
2
32
2 2 2
979 22 454 20 916 6 1106
= = =
– – – ( . ) – ( . ) .
De esta forma, la descomposición de Cholesky queda como
L
[ ] =
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
2 4495
6 1237
22 454
4 1833
20 916 6 1106
.
.
.
.
. .
Se verifica la validez de esta descomposición al sustituirla junto con su transpuesta
en la ecuación (11.2) y ver que del producto resulta la matriz original [A]. Esto se deja
como ejercicio para el lector.
En la figura 11.3 se presenta el seudocódigo para el algoritmo de la descompo-
sición de Cholesky. Debe observar que el algoritmo de la figura 11.3 da un error de eje-
cución si en la evaluación de akk se obtiene la raíz cuadrada de un número negativo. Sin
DOFOR k = 1, n
DOFOR i = 1, k – 1
sum = 0.
DOFOR j = 1, i – 1
sum = sum + aij·akj
END DO
aki = (aki – sum)/aii
END DO
sum = 0.
DOFOR j = 1, k – 1
sum = sum + a2
kj
END DO
—————————
akk = √akk – sum
END DO
FIGURA 11.3
Seudocódigo para el
algoritmo de descomposi-
ción LU de Cholesky.
11.1 MATRICES ESPECIALES 309
310 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
embargo, cuando la matriz es definida positiva,1
esto nunca ocurrirá. Debido a que
muchas de las matrices simétricas que se usan en ingeniería son de hecho definidas
positivas, el algoritmo de Cholesky tiene una amplia aplicación. Otro beneficio al traba-
jar con matrices simétricas definidas positivas es que no se requiere el pivoteo para
evitar la división entre cero. Así, es posible implementar el algoritmo de la figura 11.3
sin la complicación del pivoteo.
11.2 GAUSS-SEIDEL
Los métodos iterativos constituyen una alternativa a los métodos de eliminación descri-
tos hasta ahora, para aproximar la solución. Tales métodos son similares a las técnicas
que se desarrollaron en el capítulo 6 para obtener las raíces de una sola ecuación. Aque-
llos métodos consistían en suponer un valor y luego usar un método sistemático para
obtener una aproximación mejorada de la raíz. Como esta parte del libro trata con un
problema similar (obtener los valores que simultáneamente satisfagan un conjunto de
ecuaciones). Entonces se esperaría que tales métodos aproximados fuesen útiles en este
contexto.
El método de Gauss-Seidel es el método iterativo más comúnmente usado. Supon-
ga que se da un sistema de n ecuaciones:
[A]{X} = {B}
Suponga que se limita a un conjunto de ecuaciones de 3 × 3. Si los elementos de la dia-
gonal no son todos cero, la primera ecuación se puede resolver para x1, la segunda para
x2 y la tercera para x3, para obtener
x
b a x a x
a
1
1 12 2 13 3
11
=
− −
(11.5a)
x
b a x a x
a
2
2 21 1 23 3
22
=
− −
(11.5b)
x
b a x a x
a
3
3 31 1 32 2
33
=
− −
(11.5c)
Ahora, se puede empezar el proceso de solución al escoger valores iniciales para
las x. Una forma simple para obtener los valores iniciales es suponer que todos son cero.
Estos ceros se sustituyen en la ecuación (11.5a), la cual se utiliza para calcular un nuevo
valor x1 = b1/a11. Después, se sustituye este nuevo valor de x1 junto con el valor previo
cero de x3 en la ecuación (11.5b) y se calcula el nuevo valor de x2. Este proceso se repite
con la ecuación (11.5c) para calcular un nuevo valor de x3. Después se regresa a la pri-
mera ecuación y se repite todo el procedimiento hasta que la solución converja suficien-
1
Una matriz definida positiva es aquella para la cual el producto {X}T
[A]{X} es mayor que cero, para todo
vector {X} distinto de cero.
temente cerca a los valores verdaderos. La convergencia se verifica usando el criterio
[recuerde la ecuación (3.5)]
ε ε
a i
i
j
i
j
i
j s
x x
x
, %
=
−

−1
100 (11.6)
para todas las i, donde j y j – 1 son las iteraciones actuales y previas, respectivamente.
EJEMPLO 11.3 Método de Gauss-Seidel
Planteamiento del problema. Use el método de Gauss-Seidel para obtener la solución
del sistema usado en el ejemplo 11.1:
3x1 – 0.1x2 – 0.2x3 = 7.85
0.1x1 + 7x2 – 0.3x3 = –19.3
0.3x1 – 0.2x2 + 10x3 = 71.4
Recuerde que la verdadera solución es x1 = 3, x2 = –2.5 y x3 = 7.
Solución. Primero, despeje la incógnita sobre la diagonal para cada una de las ecua-
ciones.
x
x x
1
2 3
7 85 0 1 0 2
3
=
+ +
. . .
(E11.3.1)
x
x x
2
1 3
19 3 0 1 0 3
7
=
− − +
. . .
(E11.3.2)
x
x x
3
1 2
71 4 0 3 0 2
10
=
− +
. . .
(E11.3.3)
Suponiendo que x2 y x3 son cero, se utiliza la ecuación (E11.3.1) para calcular
x1
7 85 0 0
3
2 616667
=
+ +
=
.
.
Este valor, junto con el valor de x3 = 0, se sustituye en la ecuación (E11.3.2) para calcular
x2
19 3 0 1 2 616667 0
7
2 794524
=
− − +
= −
. . ( . )
.
La primera iteración termina al sustituir los valores calculados para x1 y x2 en la ecuación
(E11.3.3) para dar
x3
71 4 0 3 2 616667 0 2 2 794524
10
7 005610
=
− + −
=
. . ( . ) . ( . )
.
En la segunda iteración, se repite el mismo proceso para calcular
11.2 GAUSS-SEIDEL 311
312 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
x1
7 85 0 1 2 794524 0 2 7 005610
3
2 990557
=
+ − +
=
. . ( . ) . ( . )
. ⎪et⎪ = 0.31%
x2
19 3 0 1 2 990557 0 3 7 005610
7
2 499625
=
− − +
= −
. . ( . ) . ( . )
. ⎪et⎪ = 0.015%
x3
71 4 0 3 2 990557 0 2 2 499625
10
7 000291
=
− + −
=
. . ( . ) . ( . )
. ⎪et⎪ = 0.0042%
El método es, por lo tanto, convergente hacia la verdadera solución. Es posible aplicar
iteraciones adicionales para mejorar los resultados. Sin embargo, en un problema real,
no se podría saber a priori el resultado correcto. En consecuencia, la ecuación (11.6) nos
da un medio para estimar el error. Por ejemplo, para x1,
εa,
. .
.
% . %
1
2 990557 2 616667
2 990557
100 12 5
=
−
=
Para x2 y x3, los errores estimados son ⎪ea,2⎪ = 11.8% y ⎪ea,3⎪ = 0.076%. Observe que,
como cuando se determinaron las raíces de una sola ecuación, las formulaciones como
la ecuación (11.6) usualmente ofrecen una valoración conservativa de la convergencia.
Así, cuando éstas se satisfacen, aseguran que el resultado se conozca con, al menos, la
tolerancia especificada por es.
Conforme un nuevo valor de x se calcula con el método de Gauss-Seidel, éste se usa
inmediatamente en la siguiente ecuación para determinar el otro valor de x. De esta
forma, si la solución es convergente, se empleará la mejor aproximación disponible. Un
método alternativo, llamado iteración de Jacobi, emplea una táctica algo diferente. Más
que usar inmediatamente el último valor disponible de x, esta técnica usa la ecuación
(11.5) para calcular un conjunto de nuevas x con base en un conjunto de x anteriores. De
esta forma, conforme se generan nuevos valores, no se usan en forma inmediata sino
que se retienen para la siguiente iteración.
La diferencia entre el método de Gauss-Seidel y la iteración de Jacobi se muestra en
la figura 11.4. Aunque hay ciertos casos donde es útil el método de Jacobi, la utilización
de Gauss-Seidel da la mejor aproximación y usualmente lo hace el método preferido.
11.2.1 Criterio de convergencia para el método de Gauss-Seidel
Observe que el método de Gauss-Seidel es similar en esencia a la técnica de iteración de
punto fijo que se usó en la sección 6.1 para obtener las raíces de una sola ecuación. Re-
cuerde que la iteración de punto fijo presenta dos problemas fundamentales: 1. en algunas
ocasiones no es convergente, y 2. cuando converge, con frecuencia lo hace en forma muy
lenta. El método de Gauss-Seidel puede también presentar estas desventajas.
El criterio de convergencia se puede desarrollar al recordar de la sección 6.5.1 que
las condiciones suficientes para la convergencia de dos ecuaciones no lineales, u(x, y) y
v(x, y), son
∂
∂
+
∂
∂

u
x x
v
1 (11.7a)
y
∂
∂
+
∂
∂

u
y y
v
1 (11.7b)
Este criterio se aplica también a las ecuaciones lineales que se resuelven con el mé-
todo de Gauss-Seidel. Por ejemplo, en el caso de dos ecuaciones simultáneas, el algorit-
mo de Gauss-Seidel [ecuación (11.5)] se expresa como
u x x
c
a
a
a
x
( , )
1 2
1
11
12
11
2
= − (11.8a)
y
v( , )
x x
c
a
a
a
x
1 2
2
22
21
22
1
= − (11.8b)
Las derivadas parciales de estas ecuaciones se evalúan con respecto a cada una de las
incógnitas así:
∂
∂
=
∂
∂
= −
u
x x
a
a
1 1
21
22
0
v
FIGURA 11.4
Ilustración gráfica de la diferencia entre los métodos de a) Gauss-Seidel y b) iterativo de
Jacobi, para resolver sistemas de ecuaciones algebraicas lineales.
Primera iteración
x1 = (c1 – a12x2 – a13x3) /a11 x1 = (c1 – a12x2 – a13x3) /a11
x2 = (c2 – a21x1 – a23x3) /a22 x2 = (c2 – a21x1 – a23x3) /a22
x3 = (c3 – a31x1 – a32x2) /a33 x3 = (c3 – a31x1– a32x2) /a33
Segunda iteración
x1 = (cj – a12x2 – a13x3) /a11 x1 = (c1 – a12x2 – a13x3) /a11
x2 = (c2 – a21x1 – a23x3) /a22 x2 = (c2 – a21x1 – a23x3) /a22
x3 = (c3 – a31x1 – a32x2) /a33 x3 = (c3 – a31x1 – a32x2) /a33
a) b)
11.2 GAUSS-SEIDEL 313
314 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
FIGURA 11.5
Representación a) de la
convergencia y b) de la
divergencia del método
de Gauss-Seidel. Observe
que las mismas funciones
son dibujadas en ambos
casos (u: 11x1 + 13x2 =
286; v: 11x1 – 9x2 = 99).
Así, el orden en el cual se
implementan las ecuaciones
(se representa por la
dirección de la primera
flecha desde el origen)
determina si el cálculo
converge.
y
∂
∂
= −
∂
∂
=
u
x
a
a x
2
12
11 2
0
v
que se sustituyen en la ecuación (11.7) para dar
a
a
21
22
1
 (11.9a)
y
a
a
12
11
1
 (11.9b)
En otras palabras, el valor absoluto de las pendientes en la ecuación (11.8) debe ser
menor que la unidad para asegurar la convergencia, lo cual se muestra gráficamente en
la figura 11.5. La ecuación (11.9) también se reformula así:
⎪a22⎪  ⎪a21⎪
y
⎪a11⎪  ⎪a12⎪
Esto es, el elemento diagonal debe ser mayor que el elemento fuera de la diagonal para
cada renglón.
La generalización de lo anterior para n ecuaciones es directa y se expresa como
a a
ii i j
j
j i
n

=
≠
∑ ,
1
(11.10)
x2
x1
v
u
a)
x2
x1
v
u
b)
Es decir, el coeficiente diagonal en cada una de las ecuaciones debe ser mayor que la
suma del valor absoluto de los otros coeficientes de la ecuación. Este criterio es suficien-
te pero no necesario para la convergencia. Es decir, el método puede funcionar aunque
no se satisfaga la ecuación (11.10), la convergencia se garantiza cuando la condición se
satisface. A los sistemas que cumplen con la ecuación (11.10) se les conoce como dia-
gonalmente dominantes. Por fortuna, en la ingeniería, muchos problemas de importan-
cia práctica satisfacen este requerimiento.
11.2.2 Mejoramiento de la convergencia usando relajación
La relajación representa una ligera modificación al método de Gauss-Seidel y ésta per-
mite mejorar la convergencia. Después de que se calcula cada nuevo valor de x por
medio de la ecuación (11.5), ese valor se modifica mediante un promedio ponderado de
los resultados de las iteraciones anterior y actual:
xi
nuevo
= lxi
nuevo
+ (l – l)xi
anterior
(11.11)
donde l es un factor ponderado que tiene un valor entre 0 y 2.
Si l = 1, (1 – l) es igual a 0 y el resultado no se modifica. Sin embargo, si a l se le
asigna un valor entre 0 y 1, el resultado es un promedio ponderado de los resultados
actuales y anteriores. Este tipo de modificación se conoce como subrelajación. Se emplea
comúnmente para hacer que un sistema no convergente, converja o apresure la conver-
gencia al amortiguar sus oscilaciones.
Para valores l de 1 a 2, se le da una ponderación extra al valor actual. En este caso,
hay una suposición implícita de que el nuevo valor se mueve en la dirección correcta
hacia la solución verdadera, pero con una velocidad demasiado lenta. Por lo tanto, se
pretende que la ponderación adicional de l mejore la aproximación al llevarla más cer-
ca de la verdadera. De aquí que este tipo de modificación, al cual se le llama sobrerre-
lajación, permite acelerar la convergencia de un sistema que ya es convergente. El
método también se conoce como sobrerrelajación simultánea o sucesiva, o SOR.
La elección de un valor adecuado de l es especificado por el problema y se deter-
mina en forma empírica. Para la solución de un solo sistema de ecuaciones, con frecuen-
cia es innecesaria. No obstante, si el sistema bajo estudio se va a resolver de manera
repetida, la eficiencia que se introduce por una prudente elección de l puede ser impor-
tante en extremo. Buenos ejemplos de lo anterior son los sistemas muy grandes de
ecuaciones diferenciales parciales, que frecuentemente se presentan cuando se modelan
variaciones continuas de variables (recuerde el sistema distribuido que se mostró en la
figura PT3.1b). Se retomará el tema en la parte ocho.
11.2.3 Algoritmo para el método de Gauss-Seidel
En la figura 11.6 se muestra un algoritmo para el método de Gauss-Seidel con relajación.
Observe que este algoritmo no garantiza la convergencia si las ecuaciones no se intro-
ducen en una forma diagonalmente dominante.
El seudocódigo tiene dos características que vale la pena mencionar. La primera es
que existe un conjunto inicial de ciclos anidados para dividir cada ecuación por su ele-
mento diagonal. Esto reduce el número total de operaciones en el algoritmo. En la segun-
da, observe que la verificación del error se designa por una variable llamada centinela
(sentinel). Si en cualquiera de las ecuaciones se tiene un error aproximado mayor que
11.2 GAUSS-SEIDEL 315
316 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
SUBROUTINE Gseid (a,b,n,x,imax,es,lambda)
DOFOR i = 1,n
dummy = ai,i
DOFOR j = 1,n
ai,j = ai,j/dummy
END DO
bi = bi/dummy
END DO
DOFOR i = 1, n
sum = bi
DOFOR j = 1, n
IF i≠j THEN sum = sum – ai,j*xj
END DO
xi=sum
END DO
iter=1
DOFOR
centinela=1
DOFOR i = 1,n
old = xi
sum = bi
DOFOR j = 1,n
IF i≠j THEN sum = sum – ai,j*xj
END DO
xi = lambda*sum +(1.–lambda)*old
IF centinela = 1 AND xi ≠ 0. THEN
ea = ABS((xi – old)/xi)*100.
IF ea  es THEN centinela = 0
END lF
END DO
iter = iter + 1
IF centinela = 1 OR (iter ≥ imax) EXIT
END DO
END Gseid
FIGURA 11.6
Seudocódigo para el método de Gauss-Seidel con relajación.
el criterio de paro (es), entonces se permite continuar con las iteraciones. El uso de la
variable centinela ayuda a evitar cálculos innecesarios de estimación de error una vez
que las ecuaciones excedan el criterio.
11.2.4 Contextos del problema en el método de Gauss-Seidel
Además de evitar el problema de redondeo, la técnica de Gauss-Seidel tiene muchas otras
ventajas que la hacen particularmente atractiva en el contexto de ciertos problemas de
ingeniería. Por ejemplo, cuando la matriz en cuestión es muy grande y esparcida (es
decir, cuando la mayoría de los elementos son cero), los métodos de eliminación desper-
dician grandes cantidades de memoria de cómputo al guardar ceros.
Al inicio de este capítulo se vio cómo esta desventaja se puede evitar si la matriz de
coeficientes es bandeada. Para sistemas que no tienen la forma de banda, generalmente
no existe una forma simple para evitar los grandes requerimientos de memoria cuando
se utilizan los métodos de eliminación. Como todas las computadoras tienen una canti-
dad de memoria finita, esta ineficiencia llega a poner una limitación al tamaño de los
sistemas, para los cuales los métodos de eliminación resultan prácticos.
Aunque un algoritmo general como el de la figura 11.6 es propenso a la misma
restricción, la estructura de las ecuaciones de Gauss-Seidel [ecuación (11.5)] permite
que se desarrollen programas concisos para sistemas específicos. Como sólo se necesi-
ta incluir coeficientes que no sean cero en la ecuación (11.5), es posible lograr grandes
ahorros en la memoria de la computadora. Aunque esto implica más inversión en el
desarrollo de software, las ventajas a largo plazo son sustanciales cuando se tiene gran-
des sistemas, en los cuales se ejecutan muchas simulaciones. Tanto sistemas de variables
localizadas como distribuidas pueden dar como resultado matrices grandes y muy es-
parcidas donde el método de Gauss-Seidel tiene utilidad.
11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS
Y PAQUETES DE SOFTWARE
Las bibliotecas y paquetes de software tienen grandes capacidades para resolver sistemas
de ecuaciones algebraicas lineales. Antes de describir dichas herramientas, se debe
mencionar que los procedimientos descritos en el capítulo 7 para resolver sistemas de
ecuaciones no lineales pueden aplicarse a sistemas lineales. Sin embargo, en esta sección
enfocaremos nuestra atención hacia procedimientos que están expresamente diseñados
para ecuaciones lineales.
11.3.1 Excel
Existen dos formas para resolver ecuaciones algebraicas lineales con Excel: 1. por medio
de la herramienta Solver o 2. usando la inversión de matrices y las funciones de mul-
tiplicación.
Recuerde que una forma para determinar la solución de ecuaciones algebraicas li-
neales es
{X} = [A]–1
{B} (11.12)
Excel tiene funciones predeterminadas para inversión y multiplicación de matrices que
sirve para implementar esta fórmula.
EJEMPLO 11.4 Uso de Excel para resolver sistemas lineales
Planteamiento del problema. Recuerde que en el capítulo 10 se presentó la matriz
de Hilbert. El siguiente sistema se basa en esta matriz. Observe que está escalado, como
se realizó antes en el ejemplo 10.3, de tal forma que el coeficiente máximo en cada
renglón es la unidad.
1
1
1
1 2
2 3
3 4
1 3
1 2
3 5
1 833333
2 166667
2 35
1
2
3
/
/
/
/
/
/
.
.
.
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
x
x
x
11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 317
318 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
La solución a este sistema es {X}T
= [1 1 1]. Use Excel para obtener esta solución.
Solución. La hoja de cálculo para resolver este problema se muestra en la figura 11.7.
Primero, la matriz [A] y las constantes del lado derecho {B} se introducen en las celdas
de la hoja de cálculo. Después, se resalta un conjunto de celdas de dimensiones apropia-
das (en este ejemplo 3 × 3), ya sea presionando y arrastrando el ratón o por medio de las
teclas direccionales mientras se presiona la tecla shift. Como se muestra en la figura
11.7, se resalta el rango: B5..D7.
Ahora, se introduce una fórmula que invoca a la función matriz inversa,
=minverse(B1..D3)
Observe que el argumento es el rango que contiene los elementos de [A]. Las teclas Ctrl
y Shift se mantienen presionadas mientras se oprime la tecla Enter. La inversa resultan-
te de [A] se calculará con Excel para desplegarse en el rango B5..D7 como se muestra
en la figura 11.7.
Un procedimiento similar se utiliza para multiplicar la inversa por el vector del lado
derecho. En este caso, el rango de F5..F7 se resalta y se introduce la siguiente fórmula
=mmult(B5..D7, F1..F3)
donde el primer rango es la primera matriz que habrá de multiplicarse, [A]–1
, y el segun-
do rango es la segunda matriz a multiplicarse, {B}. De nuevo, al usar la combinación
Ctrl-Shift-Enter, la solución {X} se calculará por Excel y desplegada en el rango F5..F7,
como se muestra en la figura 11.7. Como puede verse, se obtiene la respuesta correcta.
Observe que en forma deliberada se reformatearon los resultados en el ejemplo 11.4
para mostrar 15 dígitos. Esto se hizo debido a que Excel usa doble precisión para guar-
dar valores numéricos. De esta forma, se observa que el error de redondeo ocurre en los
últimos dos dígitos. Esto implica un número de condición del orden de 100, el cual
concuerda con el resultado de 451.2 que originalmente se calculó en el ejemplo 10.3.
Excel no tiene la capacidad para calcular un número de condición. En la mayoría de los
FIGURA 11.7
A B C D E F
1 1 0.5 0.33333333 1.83333333333333
2 [A] = 1 0.66666667 0.5 {B}= 2.16666666666667
3 1 0.75 0.6 2.35000000000000
4
5 9 –18 10 0.99999999999992
6 [A]–1 = –36 96 –60 {X}= 1.00000000000043
7 30 –90 60 0.99999999999960
=MINVERSE(B1:D3) =MMULT(B5:D7,F1:F3)
casos, debido a que Excel emplea números con doble precisión, esto no representa un
problema. Sin embargo, en casos donde se sospeche que el sistema esté mal condicio-
nado, la determinación del número de condición es útil. MATLAB e IMSL tienen la
capacidad de calcular esta cantidad.
11.3.2 MATLAB
Como su nombre lo indica, MATLAB (contracción de MATrix LABoratory) se diseñó
para facilitar el manejo de matrices. Así, como es de esperarse, sus capacidades en esta
área son excelentes. Algunas funciones de MATLAB relacionadas con las operaciones
de matrices se presentan en una lista en la tabla 11.1. El ejemplo siguiente ilustra algu-
nas de dichas capacidades.
EJEMPLO 11.5 Uso de MATLAB para manipular ecuaciones algebraicas lineales
Planteamiento del problema. Explore cómo MATLAB se puede emplear para resol-
ver y analizar ecuaciones algebraicas lineales. Use el mismo sistema que en el ejemplo
11.4.
Solución. Primero, introducimos la matriz [A] y el vector {B},
 A = [ 1 1/2 1/3 ; 1 2/3 2/4 ; 1 3/4 3/5 ]
A =
1.0000 0.5000 0.3333
1.0000 0.6667 0.5000
1.0000 0.7500 0.6000
 B=[1+1/2+1/3;1+2/3+2/4;1+3/4+3/5]
TABLA 11.1 Funciones de MATLAB para el análisis matrical y el álgebra lineal numérica.
Análisis matricial Ecuaciones lineales
Función Descripción Función Descripción
cond Número de condición de una matriz and/ Solución de una ecuación lineal; use “help slash”
norm Norma vectorial o matricial chol Factorización de Cholesky
rcond Estimador de condición recíproca LINPACK lu Factores para la eliminación de Gauss
rank Número de renglones o columnas inv Matriz inversa
linealmente independientes
det Determinante qr Descomposición ortogonal-triangular
trace Suma de los elementos en la diagonal qrdelete Suprime una columna de la
factorización QR
null Espacio nulo qrinsert Inserte una columna en la factorización QR
orth Ortogonalización nnls Mínimos cuadrados no negativos
rref Forma escalonada reducida por renglones pinv Pseudoinversa
lscov Mínimos cuadrados en la presencia
de covarianza conocida
11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 319
320 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
B =
1.8333
2.1667
2.3500
Después, se determina el número de condición para [A]
 Cond(A)
ans =
366.3503
Este resultado se basa en la norma espectral, o ||A||2, que se analizó en el cuadro 10.2.
Observe que es del mismo orden de magnitud que el número de condición = 451.2, ba-
sado en la norma renglón-suma del ejemplo 10.3. Ambos resultados implican que se
podrían perder entre 2 y 3 dígitos de precisión.
Ahora se puede resolver el sistema de ecuaciones en dos formas diferentes. La
forma más directa y eficiente consiste en emplear el símbolo , o “división izquierda”:
 X=AB
X =
1.0000
1.0000
1.0000
Como en los casos anteriores, MATLAB usa la eliminación de Gauss para resolver dichos
sistemas.
Como una alternativa, se puede resolver la ecuación (PT3.6) en forma directa, como
 X=inv(A)*B
X =
1.0000
1.0000
1.0000
Este procedimiento determina primero la matriz inversa y después ejecuta la multipli-
cación matricial. Por lo tanto, toma más tiempo que la operación de división izquierda.
11.3.3 IMSL
IMSL tiene numerosas rutinas para sistemas lineales, inversión de matrices y evaluación
de un determinante. En la tabla 11.2 se enlistan las categorías que cubre.
Como se enlista en la tabla 11.3, se dedican ocho rutinas al caso específico de matrices
generales reales. El presente análisis se concentrará en dos rutinas: LFCRG y LFIRG.
La LFCRG lleva a cabo una descomposición LU de la matriz [A] y calcula su nú-
mero de condición. LFCRG se implementa con la siguiente instrucción CALL:
CALL LFCRG(N, A, LDA, FAC, LDFAC, IPVT, RCOND)
donde
N = Orden de la matriz. (Entrada)
A = N × N matriz a descomponerse. (Entrada)
LDA = Dimensión principal de A como se especifica en la declaración de dimensión
del programa de llamado. (Entrada)
FAC = Matriz N × N que contiene la descomposición LU de A. (Salida)
LDFAC = Dimensión principal de FAC como se especifica en la declaración de
dimensión del programa de llamado. (Entrada)
TABLA 11.2 Categorías de las rutinas IMSL para la solución de sistemas lineales,
inversión de matrices y evaluación del determinante.
• Matrices generales reales
• Matrices generales complejas
• Matrices triangulares reales
• Matrices triangulares complejas
• Matrices definidas positivas reales
• Matrices simétricas reales
• Matrices definidas positivas hermitianas complejas
• Matrices hermitianas complejas
• Matrices bandeadas reales con almacenamiento de banda
• Matrices definidas positivas simétricas bandeadas reales con almacenamiento de banda
• Matrices bandeadas complejas con almacenamiento de banda
• Matrices definidas positivas bandeadas complejas con almacenamiento de banda
• Resolvedores de ecuaciones lineales reales esparcidas
• Resolvedores de ecuaciones lineales complejas esparcidas
• Resolvedores de ecuaciones lineales reales definidas positivas simétricas esparcidas
• Resolvedores de ecuaciones lineales definidas positivas de matrices hermitianas
esparcidas complejas
• Matrices Toeplitz reales en almacenamiento de Toeplitz
• Matrices Toeplitz complejas en almacenamiento de Toeplitz
• Matrices circulantes complejas con almacenamiento circulante
• Métodos iterativos
• Mínimos cuadrados lineales y factorización matricial
• Mínimos cuadrados, descomposición QR y la inversa generalizada
• Factorización de Cholesky
• Descomposición del valor singular (SVD, por sus siglas en inglés)
• Soporte matemático para estadística
TABLA 11.3 Rutinas IMSL para la solución de matrices generales reales.
Rutina Capacidad
LSARG Solución de sistemas lineales con alta exactitud
LSLRG Resuelve un sistema lineal
LFCRG Factoriza y calcula el número de condición
LFTRG Factoriza
LFSRG Resuelve después de factorizar
LFIRG Solución de sistemas lineales con alta exactitud después de factorizar
LFDRG Cálculo del determinante después de la factorización
LINRG Invierte
11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 321
322 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
IPVT = Vector de longitud N que contiene la información de pivoteo para la descom-
posición LU. (Salida)
RCOND = Escalar que contiene el recíproco del número de condición de A. (Salida)
La LFIRG utiliza la descomposición LU y un vector particular del lado derecho para
generar una solución de gran exactitud por medio de un refinamiento iterativo. LFIRG
se implementa con la siguiente instrucción CALL:
CALL LFIRG(N, A, LDA, FAC, LDFAC, IPVT, B, IPATH, X, RES)
donde
N = Orden de la matriz. (Entrada)
A = Matriz N × N a descomponer. (Entrada)
LDA = Dimensión principal de A como se especifica en la declaración dimensión
del programa de llamado. (Entrada)
FAC = Matriz N × N que contiene la descomposición LU de A. (Entrada)
LDFAC = Dimensión principal de FAC como se especifica en la declaración de
dimensión del programa de llamado. (Entrada)
IPVT = Vector de longitud N que contiene la información de pivoteo para la des-
composición LU. (Entrada)
B = Vector de longitud N que contiene el lado derecho del sistema lineal
IPATH = Indicador de trayectoria. (Entrada)
= 1 significa que se resolvió el sistema AX = B
= 2 significa que se resolvió el sistema AT
X = B
X = Vector de longitud N que contiene la solución del sistema lineal. (Salida)
RES = Vector de longitud N que contiene el vector residual de la solución mejorada.
(Salida)
Estas dos rutinas se usan en conjunto en el siguiente ejemplo. Primero, LFCRG se
llama para descomponer la matriz y regresar el número de condición. Después se llama
a LFIRG N veces con el vector B que contiene en cada columna la matriz identidad para
generar las columnas de la matriz inversa. Finalmente, LFIRG se puede llamar una vez
más para obtener la solución para un vector del lado derecho.
EJEMPLO 11.6 Uso de IMSL para analizar y resolver una matriz de Hilbert
Planteamiento del problema. Use LFCRG y LFIRG para determinar el número
de condición, la matriz inversa y la solución para el siguiente sistema con la matriz de
Hilbert,
1
1 2
1 3
1 2
1 3
1 4
1 3
1 4
1 5
1 833333
1 083333
0 783333
1
2
3
/
/
/
/
/
/
/
/
.
.
.
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
x
x
x
Solución. Un ejemplo de un programa principal en Fortran 90 que usa LFCRG y
LFIRG para resolver este problema se escribe así:
PROGRAM Lineqs
USE msimsl
IMPLICIT NONE
INTEGER::ipath,lda,n,ldfac
PARAMETER(ipath=1,lda=3,ldfac=3,n=3)
INTEGER::ipvt(n),i,j,itmax=50
REAL::A(lda,lda),Ainv(lda,lda), factor(ldfac,ldfac),Rcond,Res(n)
REAL::Rj(n),B(n),x(n)
DATA A/1.0,0.5,0.3333333,0.5,0.3333333,0.25,0.3333333,0.25,0.2/
DATA B/1.833333,1.083333,0.783333/
!Realiza la descomposición lu; determina y muestra el número de
condición
CALL LFCRG(n,A,lda,factor,ldfac,ipvt,Rcond)
PRINT *, “número de condición = “, 1.0E0/Rcond
PRINT *
!Inicializa al vector Rj a cero
DO i = 1,n
Rj(i) = 0.
END DO
!Llena las columnas de la matriz identidad a través de
LFIRG para generar la
!inversa y almacena resultados en Ainv. Despliega Ainv
DO j = 1, n
Rj(j) = 1.0
CALL LFIRG(n,A,lda,factor,ldfac,ipvt,Rj,ipath,ainv 1,j),Res)
Rj(j) = 0.0
END DO
PRINT *, “Matriz inversa:”
DO i = 1,n
PRINT *, (Ainv(i,j),j=1,n)
END DO
PRINT *
!Usa LFIRG para obtener la solución para B. Despliega resultados
PRINT *, “Solución:”
DO I = 1,n
PRINT *, x(i)
END DO
END PROGRAM
11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 323
324 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
La salida es:
Número de condición = 680.811600
Matriz inversa:
9.000033 –36.000180 30.000160
–36.000180 192.000900 –180.000800
30.000160 –180.000800 180.000800
Solución:
9.999986E–01
1.000010
9.999884E–01
Nuevamente, el número de condición es del mismo orden que el número de condición
basado en la norma renglón-suma del ejemplo 10.3 (451.2). Ambos resultados implican
que se podrían perder entre 2 y 3 dígitos de precisión. Esto se confirma en la solución,
donde se observa que el error de redondeo ocurre en los dos o tres últimos dígitos.
11.1 Ejecute los mismos cálculos que en el ejemplo 11.1, pero
para el sistema tridiagonal siguiente:
0 8
0 4
0 4
0 8
0 4
0 4
0 8
1
2
3
.
– .
.
.
.
.
.
−
−
−
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
x
x
x
⎪
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
41
25
105
11.2 Determine la matriz inversa del ejemplo 11.1 con base en
la descomposición LU y los vectores unitarios.
11.3 El sistema tridiagonal que sigue debe resolverse como
parte de un algoritmo mayor (Crank-Nicolson) para solucionar
ecuaciones diferenciales parciales:
2 01475
0 020875
0 020875
2 01475
0 020875
0
.
– .
.
.
.
−
−
− .
.
.
.
.
.
020875
2 01475
0 020875
0 020875
2 01475
−
−
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
×
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
T
T
T
T
1
2
3
4
4 175
0
0
2 0875
.
.
Utilice el algoritmo de Thomas para obtener una solución.
11.4 Confirme la validez de la descomposición de Cholesky del
ejemplo 11.2 por medio de sustituir los resultados en la ecuación
(11.2) con objeto de ver si el producto de [L] y [L]T
da como
resultado [A].
11.5 Ejecute a mano la descomposición de Cholesky del sistema
simétrico siguiente:
8
20
15
20
80
50
15
50
60
1
2
3
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
x
x
x
=
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
50
250
100
11.6 Haga los mismos cálculos que en el ejemplo 11.2, pero para
el sistema simétrico que sigue:
6
15
55
15
55
225
55
225
979
0
1
2
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
a
a
a
⎪
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
152 6
585 6
2488 8
.
.
.
Además de resolver para la descomposición de Cholesky, em-
pléela para solucionar cuál es el valor de las a.
11.7 a) Use el método de Gauss-Seidel para resolver el sistema
tridiagonal del problema 11.1 (es = 5%). b) Repita el inciso a)
pero utilice sobre relajación con l = 1.2.
11.8 Del problema 10.8, recuerde que el sistema de ecuaciones
siguiente está diseñado para determinar concentraciones (las c
están en g/m3
) en una serie de reactores acoplados como fun-
ción de la cantidad de masa de entrada a cada uno de ellos (los
lados derechos están en g/d),
15c1 – 3c2 – c3 = 3 800
–3c1 + 18c2 – 6c3 = 1 200
–4c1 – c2 + 12c3 = 2 350
PROBLEMAS
PROBLEMAS 325
Resuelva este problema con el método de Gauss-Seidel para
es = 5%.
11.9 Repita el problema 11.8, pero use la iteración de Jacobi.
11.10 Emplee el método de Gauss-Seidel para resolver el siste-
ma siguiente hasta que el error relativo porcentual esté por de-
bajo de es = 5%,
10x1 + 2x2 – x3 = 27
–3x1 – 6x2 + 2x3 = –61.5
x1 + x2 + 5x3 = –21.5
11.11 Utilice el método de Gauss-Seidel a) sin relajación, y b)
con relajación (l = 0.95), para resolver el sistema siguiente para
una tolerancia de es = 5%. Si es necesario, reacomode las ecua-
ciones para lograr convergencia.
–3x1 + x2 – 12x3 = 50
6x1 – x2 – x3 = 3
6x1 + 9x2 + x3 = 40
11.12 Use el método de Gauss-Seidel (a) sin relajación, y (b)
con relajación (l = 1.2), para resolver el sistema siguiente para
una tolerancia de es = 5%. Si es necesario, reacomode las ecua-
ciones para lograr convergencia.
2x1 – 6x2 – x3 = –38
–3x1 – x2 + 7x3 = –34
–8x1 + x2 – 2x3 = –20
11.13 Vuelva a dibujar la figura 11.5 para el caso en que las
pendientes de las ecuaciones son 1 y –1. ¿Cuál es el resultado de
aplicar el método de Gauss-Seidel a un sistema como ése?
11.14 De los tres conjuntos siguientes de ecuaciones lineales,
identifique aquel(los) que no podría resolver con el uso de un
método iterativo tal como el de Gauss-Seidel. Demuestre que su
solución no converge, utilizando cualquier número de iteraciones
que sea necesario. Enuncie con claridad su criterio de conver-
gencia (es decir, cómo se sabe que no está convergiendo).
Conjunto uno Conjunto dos Conjunto tres
9x + 3y + z = 13 x + y + 6z = 8 –3x + 4y + 5z = 6
–6x + 8z = 2 x + 5y – z = 5 –2x + 2y – 3z = –3
2x + 5y – z = 6 4x + 2y – 2z = 4 2y – z = 1
11.15 Emplee la librería o paquete de software de su preferencia
para obtener una solución, calcular la inversa y determinar el
número de condición (sin dar escala) con base en la norma de
suma de renglones, para los sistemas
a)
1
4
9
4
9
16
9
16
25
14
29
50
1
2
3
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
=
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
x
x
x
b)
1
4
9
16
4
9
16
25
9
16
25
36
16
25
36
49
30
54
86
126
1
2
3
4
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
x
x
x
x
En ambos casos, las respuestas para todas las x deben ser 1.
11.16 Dado el par siguiente de ecuaciones simultáneas no lineales:
f(x, y) = 4 – y – 2x2
g(x, y) = 8 – y2
– 4x
a) Use la herramienta Solver de Excel para determinar los dos
pares de valores de x y y que satisfacen estas ecuaciones.
b) Con el empleo de un rango de valores iniciales (x = –6 a 6,
y y = –6 a 6), determine cuáles valores iniciales producen
cada una de las soluciones.
11.17 Una compañía de electrónica produce transistores, resis-
tores y chips de computadora. Cada transistor requiere cuatro
unidades de cobre, una de zinc y dos de vidrio. Cada resistor
requiere tres, tres y una unidades de dichos materiales, respecti-
vamente, y cada chip de computadora requiere dos, una y tres
unidades de los materiales, respectivamente. En forma de tabla,
esta información queda así:
Componente Cobre Zinc Vidrio
Transistores 4 1 2
Resistores 3 3 1
Chips de computadora 2 1 3
Los suministros de estos materiales varían de una semana a la
otra, de modo que la compañía necesita determinar una corrida
de producción diferente cada semana. Por ejemplo, cierta sema-
na las cantidades disponibles de los materiales son 960 unidades
de cobre, 510 unidades de zinc y 610 unidades de vidrio. Plantee
el sistema de ecuaciones que modela la corrida de producción y
utilice Excel y la información que se da en este capítulo sobre la
solución de ecuaciones algebraicas lineales con Excel para re-
solver cuál es el número de transistores, resistores y chips de
computadora por manufacturar esta semana.
11.18 Utilice el software de MATLAB para determinar el nú-
mero de condición espectral para una matriz de Hilbert de di-
mensión 10. ¿Cuántos dígitos de precisión se espera que se
pierdan debido a la condición anómala? Determine la solución
para este sistema para el caso en que cada elemento del vector
del lado derecho {b} consiste en la suma de los coeficientes de
su renglón. En otras palabras, resuelva para el caso en que todas
las incógnitas deben ser exactamente uno. Compare los errores
resultantes con aquellos esperados con base en el número de
condición.
326 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
11.19 Repita el problema 11.8, pero para el caso de una matriz
de Vandermonde de seis dimensiones (véase el problema 10.14)
donde x1 = 4, x2 = 2, x3 = 7, x4 = 10, x5 = 3 y x6 = 5.
11.20 En la sección 9.2.1, se determinó el número de operacio-
nes que se requiere para la eliminación de Gauss sin pivoteo
parcial. Efectúe una determinación similar para el algoritmo de
Thomas (véase la figura 11.2). Desarrolle una gráfica de opera-
ciones versus n (de 2 a 20) para ambas técnicas.
11.21 Desarrolle un programa amigable para el usuario en cual-
quier lenguaje de alto nivel o de macros, de su elección, para
obtener una solución para un sistema tridiagonal con el algoritmo
de Thomas (figura 11.2). Pruebe su programa por medio de re-
petir los resultados del ejemplo 11.1.
11.22 Desarrolle un programa amigable para el usuario en cual-
quier lenguaje de alto nivel o de macros, que elija, para hacer la
descomposición de Cholesky con base en la figura 11.3. Pruebe
su programa por medio de repetir los resultados del ejemplo
11.2.
11.23 Desarrolle un programa amigable para el usuario en cual-
quier lenguaje de alto nivel o de macros, que escoja, a fin de
ejecutar el método de Gauss-Seidel con base en la figura 11.6.
Pruébelo con la repetición de los resultados del ejemplo 11.3.
CAPÍTULO 12
Estudio de casos: ecuaciones
algebraicas lineales
El propósito de este capítulo es usar los procedimientos numéricos analizados en los
capítulos 9, 10 y 11 para resolver sistemas de ecuaciones algebraicas lineales, en algunas
aplicaciones a la ingeniería. Dichas técnicas numéricas sistemáticas tienen significado
práctico, ya que los ingenieros con mucha frecuencia se enfrentan a problemas que in-
volucran sistemas de ecuaciones que son demasiado grandes para resolverse a mano. Los
algoritmos numéricos en estas aplicaciones son particularmente adecuados para imple-
mentarse en computadoras personales.
En la sección 12.1 se muestra cómo se emplea un balance de masa para modelar un
sistema de reactores. En la sección 12.2 se le da especial énfasis al uso de la matriz in-
versa para determinar las complicadas interacciones causa-efecto entre las fuerzas en los
elementos de una armadura. La sección 12.3 constituye un ejemplo del uso de las leyes
de Kirchhoff para calcular las corrientes y voltajes en un circuito con resistores. Por úl-
timo, la sección 12.4 es una ilustración de cómo se emplean las ecuaciones lineales para
determinar la configuración en estado estacionario de un sistema masa-resorte.
12.1 ANÁLISIS EN ESTADO ESTACIONARIO DE UN SISTEMA
DE REACTORES (INGENIERÍA QUÍMICA/BIOINGENIERÍA)
Antecedentes. Uno de los principios de organización más importantes en la ingenie-
ría química es la conservación de la masa (recuerde la tabla 1.1). En términos cuantita-
tivos, el principio se expresa como un balance de masa que toma en cuenta todas las
fuentes y sumideros de un fluido que entra y sale de un volumen (figura 12.1). En un
periodo finito, esto se expresa como
Acumulación = entradas – salidas (12.1)
El balance de masa representa un ejercicio de contabilidad para la sustancia en
particular que se modela. Para el periodo en que se calcula, si las entradas son mayores
que las salidas, la masa de la sustancia dentro del volumen aumenta. Si las salidas son
mayores que las entradas, la masa disminuye. Si las entradas son iguales a las salidas,
la acumulación es cero y la masa permanece constante. Para esta condición estable, o
en estado estacionario, la ecuación (12.1) se expresa como
Entradas = salidas (12.2)
Emplee la conservación de la masa para determinar las concentraciones en estado esta-
cionario de un sistema de reactores conectados.
328 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
Solución. Se puede usar el balance de masa para resolver problemas de ingeniería al
expresar las entradas y salidas en términos de variables y parámetros medibles. Por ejem-
plo, si se realiza un balance de masa para una sustancia conservativa (es decir, aquella
que no aumente ni disminuya debido a transformaciones químicas) en un reactor (figura
12.2), podríamos cuantificar la velocidad con la cual el flujo de la masa entra al reactor
a través de dos tuberías de entrada y sale de éste a través de una tubería de salida. Esto se
hace mediante el producto de la velocidad del fluido o caudal Q (en metros cúbicos por
minuto) por la concentración c (en miligramos por metro cúbico) en cada tubería.
Por ejemplo, en la tubería 1 de la figura 12.2, Q1 = 2 m3
/min y c1 = 25 mg/m3
; por lo
tanto, la velocidad con la cual la masa fluye hacia el reactor a través de la tubería 1 es
Q1c1 = (2 m3
/min)(25 mg/m3
) = 50 mg/min. Así, 50 mg de sustancias químicas fluyen
cada minuto hacia el interior del reactor a través de esta tubería. De forma similar, para
la tubería 2 la velocidad de masa que entra se calcula como Q2c2 = (1.5 m3
/min)
(10 mg/m3
) = 15 mg/min.
Observe que la concentración a la salida del reactor a través de la tubería 3 no se
especifica en la figura 12.2. Esto es así porque ya se tiene información suficiente para
calcularla con base en la conservación de la masa. Como el reactor se halla en estado
estacionario se aplica la ecuación (12.2) y las entradas deberán estar en balance con las
salidas,
Q1c1 + Q2c2 = Q3c3
Sustituyendo los valores dados en esta ecuación se obtiene
50 + 15 = 3.5c3
de la cual se despeja c3 = 18.6 mg/m3
. De esta forma, hemos determinado la concen-
tración en la tercera tubería. Sin embargo, del cálculo se obtiene algo más. Como el
reactor está bien mezclado (representado por el agitador en la figura 12.2), la concentra-
ción será uniforme, u homogénea, en todo el tanque. Por lo que, la concentración en la
tubería 3 deberá ser idéntica a la concentración en todo el reactor. En consecuencia, el
balance de masa nos ha permitido calcular tanto la concentración en el reactor como en
el tubo de salida. Esta información es de gran utilidad para los ingenieros químicos y
FIGURA 12.1
Una representación esquemática del balance de masa.
Entrada
Salida
Acumulación
Volumen
Q3 = 3.5 m3
/min
c3 = ?
Q1 = 2 m3
/min
c1 = 25 mg/m3
Q2 = 1.5 m3
/min
c2 = 10 mg/m3
Q24 = 1
Q54 = 2
Q55 = 2
Q15 = 3
Q44 = 11
Q12 = 3
Q31 = 1
Q03 = 8
c03 = 20
Q23 = 1
Q25 = 1
Q34 = 8
Q01 = 5
c01 = 10
c3
c5
c1 c2 c4
petroleros, quienes tienen que diseñar reactores que tengan mezclas de una concentración
específica.
Debido a que se utilizó álgebra simple para determinar la concentración de un solo
reactor en la figura 12.2, podría no ser obvio lo que tiene que hacer una computadora en
el cálculo de un balance de masa. En la figura 12.3 se muestra un problema donde las
computadoras no solamente son útiles, sino que son de una enorme necesidad práctica.
Debido a que hay cinco reactores interconectados o acoplados, se necesitan cinco ecua-
ciones de balance de masa para caracterizar el sistema. En el reactor 1, velocidad de la
masa que entra es
5(10) + Q31c3
y la velocidad de la masa que sale es
Q12c1 + Q15c1
FIGURA 12.3
Cinco reactores conectados
por tuberías.
FIGURA 12.2
Un reactor en estado
estacionario, completamente
mezclado, con dos tuberías
de entrada y una de salida.
Los caudales Q están en
metros cúbicos por minuto, y
las concentraciones c están
en miligramos por metro
cúbico.
12.1 ANÁLISIS EN ESTADO ESTACIONARIO DE UN SISTEMA DE REACTORES 329
330 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
Como el sistema se encuentra en estado estacionario, los flujos de entrada y de salida
deben ser iguales:
5(10) + Q31c3 = Q12c1 + Q15c1
o, sustituyendo los valores de la figura 12.3,
6c1 – c3 = 50
Ecuaciones similares se obtienen para los otros reactores:
–3c1 + 3c2 = 0
–c2 + 9c3 = 160
–c2 – 8c3 + 11c4 – 2c5 = 0
–3c1 – c2 + 4c5 = 0
Se puede utilizar un método numérico para resolver estas cinco ecuaciones con las
cinco incógnitas que son las concentraciones:
{C}T
= ⎣11.51 11.51 19.06 17.00 11.51⎦
Además, la matriz inversa se calcula como
0.16981 0.00629 0.01887 0 0
0.16981 0.33962 0.01887 0 0
[A]–1
= 0.01887 0.03774 0.11321 0 0
0.06003 0.07461 0.08748 0.09091 0.04545
0.16981 0.08962 0.01887 0 0.25000
Cada uno de los elementos aij significa el cambio en la concentración del reactor i debi-
do a un cambio unitario en la carga del reactor j. De esta forma, los ceros en la columna
4 indican que una carga en el reactor 4 no influirá sobre los reactores 1, 2, 3 y 5. Esto es
consistente con la configuración del sistema (figura 12.3), la cual indica que el flujo de
salida del reactor 4 no alimenta ningún otro reactor. En cambio, las cargas en cualquie-
ra de los tres primeros reactores afectarán al sistema completo, como se indica por la
ausencia de ceros en las primeras tres columnas. Tal información es de gran utilidad
para los ingenieros que diseñan y manejan sistemas como éste.
12.2 ANÁLISIS DE UNA ARMADURA ESTÁTICAMENTE
DETERMINADA (INGENIERÍA CIVIL/AMBIENTAL)
Antecedentes. Un problema importante en la ingeniería estructural es encontrar las
fuerzas y reacciones asociadas con una armadura estáticamente determinada. En la fi-
gura 12.4 se muestra el ejemplo de una armadura.
Las fuerzas (F) representan ya sea la tensión o la compresión sobre los componen-
tes de la armadura. Las reacciones externas (H2, V2 y V3) son fuerzas que caracterizan
cómo interactúa dicha estructura con la superficie de soporte. El apoyo fijo en el nodo
2 puede transmitir fuerzas horizontales y verticales a la superficie, mientras que el apo-
yo móvil en el nodo 3 transmite sólo fuerzas verticales. Se observa que el efecto de la
carga externa de 1000 lb se distribuye entre los componentes de la armadura.
Solución. Este tipo de estructura se puede describir como un conjunto de ecuaciones
algebraicas lineales acopladas. Los diagramas de fuerza de cuerpo libre para cada nodo
se muestran en la figura 12.5. La suma de las fuerzas en ambas direcciones, vertical y
horizontal, deben ser cero en cada nodo, ya que el sistema está en reposo. Por lo tanto,
para el nodo 1,
ΣFH = 0 = –F1 cos 30° + F3 cos 60° + F1,h (12.3)
ΣFV = 0 = –F1 sen 30° – F3 sen 60° + F1,v (12.4)
para el nodo 2,
ΣFH = 0 = F2 + F1 cos 30° + F2,h + H2 (12.5)
ΣFV = 0 = F1 sen 30° + F2,v + V2 (12.6)
1 000 lb
2
3
1
30⬚
60⬚
90⬚ F3
F1
F2
H2
V2 V3
2 F3,h
F1,v
F1,h
F2
F2,h
F1
F2,v
H2
V2
F3
F1
F3,v
F3
F2
V3
1
30⬚
30⬚
60⬚
60⬚
3
FIGURA 12.5
Diagramas de fuerza
de cuerpo libre para los
nodos de una armadura
estáticamente determinada.
FIGURA 12.4
Fuerzas en una armadura
estáticamente determinada.
12.2 ANÁLISIS DE UNA ARMADURA ESTÁTICAMENTE DETERMINADA 331
332 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
para el nodo 3,
ΣFH = 0 = –F2 – F3 cos 60° + F3,h (12.7)
ΣFV = 0 = F3 sen 60° + F3,v + V3 (12.8)
donde Fi,h es la fuerza horizontal externa aplicada sobre el nodo i (se considera que una
fuerza positiva va de izquierda a derecha) y Fi,v es la fuerza vertical externa que se apli-
ca sobre el nodo i (donde una fuerza positiva va hacia arriba). Así, en este problema, la
fuerza de 1000 lb hacia abajo en el nodo 1 corresponde a F1,v = –1000 libras. En este
caso, todas las otras Fi,v y Fi,h son cero. Observe que las direcciones de las fuerzas in-
ternas y de las reacciones son desconocidas. La aplicación correcta de las leyes de Newton
requiere sólo de suposiciones consistentes respecto a la dirección. Las soluciones son
negativas si las direcciones se asumen de manera incorrecta. También observe que en
este problema, las fuerzas en todos los componentes se suponen en tensión y actúan ti-
rando de los nodos adyacentes. Una solución negativa, por lo tanto, corresponde a com-
presión. Este problema se plantea como el siguiente sistema de seis ecuaciones con seis
incógnitas:
0.866 0 –0.5 0 0 0 F1 0
0.5 0 0.866 0 0 0 F2 –1000
–0.866 –1 0 –1 0 0 F3 = 0
(12.9)
–0.5 0 0 0 –1 0 H2 0
0 1 0.5 0 0 0 V2 0
0 0 –0.866 0 0 –1 V3 0
Observe que, como se formuló en la ecuación (12.9), se requiere de pivoteo parcial
para evitar la división entre cero de los elementos de la diagonal. Con el uso de una es-
trategia de pivote, el sistema se resuelve mediante cualquiera de las técnicas de elimi-
nación que se analizaron en los capítulos 9 y 10. Sin embargo, como este problema es
un caso de estudio ideal, para demostrar la utilidad de la matriz inversa se utiliza la
descomposición LU para calcular
F1 = –500 F2 = 433 F3 = –866
H2 = 0 V2 = 250 V3 = 750
la matriz inversa es
0.866 0.5 0 0 0
0.25 –0.433 0 0 1 0
[A]–1
= –0.5 0.866 0 0 0 0
–1 0 –1 0 –1 0
–0.433 –0.25 0 –1 0 0
0.433 –0.75 0 0 0 –1
Ahora, observe que el vector del lado derecho representa las fuerzas horizontales y
verticales aplicadas externamente sobre cada nodo,
{F}T
= ⎣F1,h F1,v F2,h F2,v F3,h F3,v⎦ (12.10)
Debido a que las fuerzas externas no tienen efecto sobre la descomposición LU, no
se necesita aplicar el método una y otra vez para estudiar el efecto de diferentes fuerzas
externas sobre la armadura. Todo lo que hay que hacer es ejecutar los pasos de sustitución
hacia adelante y hacia atrás, para cada vector del lado derecho, y así obtener de manera
eficiente soluciones alternativas. Por ejemplo, podríamos querer estudiar el efecto de
fuerzas horizontales inducidas por un viento que sopla de izquierda a derecha. Si la
fuerza del viento se puede idealizar como dos fuerzas puntuales de 1000 libras sobre
los nodos 1 y 2 (figura 12.6a), el vector del lado derecho es
{F}T
= ⎣–1000 0 1000 0 0 0⎦
que se utiliza para calcular
F1 = –866 F2 = 250 F3 = –500
H2 = –2000 V2 = –433 V3 = 433
Para un viento de la derecha (figura 12.6b), F1,h = –1000, F3,h = –1000, y todas las demás
fuerzas externas son cero, con lo cual resulta
F1 = –866 F2 = –1250 F3 = 500
H2 = 2000 V2 = 433 V3 = –433
Los resultados indican que los vientos tienen efectos marcadamente diferentes sobre la
estructura. Ambos casos se presentan en la figura 12.6.
Cada uno de los elementos de la matriz inversa tienen también utilidad directa para
aclarar las interacciones estímulo-respuesta en la estructura. Cada elemento representa
el cambio de una de las variables desconocidas a un cambio unitario de uno de los es-
tímulos externos. Por ejemplo, el elemento a–1
32 indica que la tercera incógnita (F3) cam-
biará a 0.866 debido a un cambio unitario del segundo estímulo externo (F1,v). De esta
forma, si la carga vertical en el primer nodo fuera aumentada en 1, F3 se podría aumen-
tar en 0.866. El hecho de que los elementos sean 0 indica que ciertas incógnitas no se
ven afectadas por algunos de los estímulos externos. Por ejemplo, a–1
13 = 0 significa que
F1 no se ve afectado por cambios en F2,h. Esta habilidad de aislar interacciones tiene
FIGURA 12.6
Dos casos de prueba que muestran a) vientos desde la izquierda y b) vientos desde la derecha.
a) b)
866
2 000 1 000
1 000
250
5
0
0
433 433
866
2 000 1 000
1 000
1 250
5
0
0
433 433
12.2 ANÁLISIS DE UNA ARMADURA ESTÁTICAMENTE DETERMINADA 333
334 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
diversas aplicaciones en la ingeniería; éstas comprenden la identificación de aquellos
componentes que son más sensibles a estímulos externos y, como una consecuencia, más
propensos a fallar. Además, esto sirve para determinar los componentes que son inne-
cesarios (véase el problema 12.18).
El procedimiento anterior resulta particularmente útil cuando se aplica a grandes
estructuras complejas. En la práctica de la ingeniería, en ocasiones es necesario resolver
estructuras con cientos y aun miles de elementos estructurales. Las ecuaciones lineales
proporcionan un medio poderoso para ganar cierta comprensión del comportamiento de
dichas estructuras.
12.3 CORRIENTES Y VOLTAJES EN CIRCUITOS
CON RESISTORES (INGENIERÍA ELÉCTRICA)
Antecedentes. Un problema común en ingeniería eléctrica es la determinación de
corrientes y voltajes en algunos puntos de los circuitos con resistores. Tales problemas
se resuelven utilizando las reglas para corrientes y voltajes de Kirchhoff. La regla para
las corrientes (o nodos) establece que la suma algebraica de todas las corrientes que
entran a un nodo debe ser cero (véase figura 12.7a), o
Σi = 0 (12.11)
donde todas las corrientes que entran al nodo se consideran de signo positivo. La regla
de las corrientes es una aplicación del principio de la conservación de la carga (recuerde
la tabla 1.1).
La regla para los voltajes (o mallas) especifica que la suma algebraica de las dife-
rencias de potencial (es decir, cambios de voltaje) en cualquier malla debe ser igual a
cero. Para un circuito con resistores, esto se expresa como
Σx – ΣiR = 0 (12.12)
donde x es la fem (fuerza electromotriz) de las fuentes de voltaje, y R es la resistencia
de cualquier resistor en la malla. Observe que el segundo término se obtiene de la ley de
Ohm (figura 12.7b), la cual establece que la caída de voltaje a través de un resistor ideal
es igual al producto de la corriente por la resistencia. La regla de Kirchhoff para el
voltaje es una expresión de la conservación de la energía.
FIGURA 12.7
Representaciones esquemá-
ticas de a) la regla de las co-
rrientes de Kirchhoff y b) la ley
de Ohm.
i1 i3
i2
Vi Vj
Rij
iij
a)
b)
FIGURA 12.8
Un circuito con resistores para resolverse usando ecuaciones algebraicas lineales
simultáneas.
R = 5 ⍀ R = 10 ⍀
R = 10 ⍀
3 2 1
4 5 6
R = 15 ⍀
R = 5 ⍀
V1 = 200 V
V6 = 0 V
R = 20 ⍀
Solución. La aplicación de estas reglas da como resultado un sistema de ecuaciones
algebraicas lineales simultáneas, ya que las mallas que forman un circuito están conec-
tadas. Por ejemplo, considere el circuito de la figura 12.8. Las corrientes asociadas con
este circuito son desconocidas, tanto en magnitud como en dirección. Esto no presenta
gran dificultad, ya que tan sólo se supone una dirección para cada corriente. Si la solu-
ción resultante a partir de las leyes de Kirchhoff es negativa, entonces la dirección su-
puesta fue incorrecta. Por ejemplo, la figura 12.9 muestra direcciones supuestas para las
corrientes.
Dadas estas suposiciones, la regla de la corriente de Kirchhoff se aplica a cada nodo
para obtener
i12 + i52 + i32 = 0
i65 – i52 – i54 = 0
i43 – i32 = 0
i54 – i43 = 0
La aplicación de la regla de voltajes en cada una de las mallas da
–i54R54 – i43R43 – i32R32 + i52R52 = 0
–i65R65 – i52R52 + i12R12 – 200 = 0
o, sustituyendo el valor de las resistencias de la figura 12.8 y pasando las constantes al
lado derecho,
–l5i54 – 5i43 – l0i32 + l0i52 = 0
–20i65 – 10i52 + 5i12 = 200
Por lo tanto, el problema consiste en la solución del siguiente conjunto de seis ecuaciones
con seis corrientes como incógnitas:
1 1 1 0 0 0 i12 0
0 –1 0 1 –1 0 i52 0
0 0 –1 0 0 1 i32 = 0
0 0 0 0 1 –1 i65 0
0 10 –10 0 –15 –5 i54 0
5 –10 0 –20 0 0 i43 200
3 2 1
4 5 6
i12
i65
i52
i32
i54
i43
FIGURA 12.9
Corrientes supuestas.
12.3 CORRIENTES Y VOLTAJES EN CIRCUITOS CON RESISTORES 335
336 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
Aunque no es práctico resolverlo a mano, este sistema se resuelve de manera sencilla
con un método de eliminación. Si se procede de esta forma, la solución es
i12 = 6.1538 i52 = –4.6154 i32 = –1.5385
i65 = –6.1538 i54 = –1.5385 i43 = –1.5385
Así, con una interpretación adecuada de los signos del resultado, las corrientes y volta-
jes en el circuito se muestran en la figura 12.10. Deben ser evidentes las ventajas de usar
algoritmos numéricos y computadoras para problemas de este tipo.
12.4 SISTEMAS MASA-RESORTE
(INGENIERÍA MECÁNICA/AERONÁUTICA)
Antecedentes. Los sistemas idealizados masa-resorte desempeñan un papel impor-
tante en la mecánica y en otros problemas de ingeniería. En la figura 12.11 se presenta
un sistema de este tipo. Después de liberar las masas, éstas son jaladas hacia abajo por
la fuerza de gravedad. Observe que el desplazamiento resultante en cada resorte de la
figura 12.11b se mide a lo largo de las coordenadas locales referidas a su posición inicial
en la figura 12.11a.
Como se mencionó en el capítulo 1, la segunda ley de Newton se emplea en conjun-
to con el equilibrio de fuerzas para desarrollar un modelo matemático del sistema. Para
cada masa, la segunda ley se expresa como
m
d x
dt
F F
D U
2
2
= – (12.13)
Para simplificar el análisis se supondrá que todos los resortes son idénticos y que se
comportan de acuerdo con la ley de Hooke. En la figura 12.12a se muestra un diagrama
de cuerpo libre para la primera masa. La fuerza hacia arriba es únicamente una expresión
directa de la ley de Hooke:
FU = kx1 (12.14)
Las componentes hacia abajo consisten en las dos fuerzas del resorte junto con la acción
de la gravedad sobre la masa,
FD = k(x2 – x1) + k(x2 – x1) = m1g (12.15)
Observe cómo la componente de fuerza de los dos resortes es proporcional al desplaza-
miento de la segunda masa, x2, corregida por el desplazamiento de la primera masa, x1.
FIGURA 12.10
La solución obtenida para
las corrientes y voltajes
usando un método de
eliminación.
V = 153.85 V = 169.23
i = 1.5385
V = 146.15 V = 123.08
V = 0
V = 200
i = 6.1538
Las ecuaciones (12.14) y (12.15) se sustituyen en la ecuación (12.13) para dar
m
d x
dt
k x x m g kx
1
2
1
2 2 1 1 1
2
= +
( – ) – (12.16)
De esta forma, se ha obtenido una ecuación diferencial ordinaria de segundo orden para
describir el desplazamiento de la primera masa con respecto al tiempo. Sin embargo,
advierta que la solución no se puede obtener, ya que el modelo tiene una segunda varia-
ble dependiente, x2. En consecuencia, se deben desarrollar diagramas de cuerpo libre
para la segunda y tercera masa (figuras 12.12b y c) que se emplean para obtener
m
d x
dt
k x x m g k x x
2
2
2
2 3 2 2 2 1
2
= +
( – ) – ( – ) (12.17)
FIGURA 12.12
Diagramas de cuerpo libre para las tres masas de la figura 12.11.
FIGURA 12.11
Un sistema compuesto de
tres masas suspendidas
verticalmente por una serie
de resortes. a) El sistema
antes de ser liberado,
es decir, antes de la
extensión o compresión
de los resortes. b) El
sistema después de ser
liberado. Observe que las
posiciones de las masas
están en referencia a las
coordenadas locales con
orígenes en su posición
antes de ser liberadas.
m1
m3
m2
m1
m3
0
0
0
x1
x2
x3
k
k
k
k
b)
a)
m2
m1
k(x2 – x1) m1g k(x2 – x1)
kx1 k(x2 – x1) k(x2 – x1) k(x3 – x2)
m2g k(x3 – x2) m3g
a) b) c)
m2 m3
12.4 SISTEMAS MASA-RESORTE 337
338 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
y
m
d x
dt
m g k x x
3
2
3
2 3 3 2
= – ( – ) (12.18)
Las ecuaciones (12.16), (12.17) y (12.18) forman un sistema de tres ecuaciones dife-
renciales con tres incógnitas. Con las condiciones iniciales apropiadas, estas ecuaciones
sirven para calcular los desplazamientos de las masas como una función del tiempo (es
decir, sus oscilaciones). En la parte siete estudiaremos los métodos numéricos para ob-
tener tales soluciones. Por ahora, podemos obtener los desplazamientos que ocurren cuan-
do el sistema eventualmente llega al reposo, es decir, al estado estacionario. Para esto se
igualan a cero las derivadas en las ecuaciones (12.16), (12.17) y (12.18), obteniéndose
3kx1 – 2kx2 = m1g
–2kx1 + 3kx2 – kx3 = m2g
– kx2 + kx3 = m3g
o, en forma matricial,
[K]{X} = {W}
donde [K], conocida como matriz de rigidez, es
3k –2k
[K] = –2k 3k –k
–k k
y {X} y {W} son los vectores columna de las incógnitas X y de los pesos mg, respecti-
vamente.
Solución. Aquí se emplean métodos numéricos para obtener una solución. Si m1 = 2
kg, m2 = 3 kg, m3 = 2.5 kg, y todas las k = 10 kg/s2
, use la descomposición LU con el
propósito de obtener los desplazamientos y generar la inversa de [K].
Sustituyendo los parámetros del modelo se obtiene
30 –20 19.6
[K] = –20 30 –10 {W} = 29.4
–10 10 24.5
La descomposición LU se utiliza con el objetivo de obtener x1 = 7.35, x2 = 10.045 y x3 =
12.495. Estos desplazamientos se utilizaron para construir la figura 12.11b. La inversa
de la matriz de rigidez calculada es
0.1 0.1 0.1
[K]–1
= 0.1 0.15 0.15
0.1 0.15 0.25
Cada elemento de la matriz k–1
ji nos indica el desplazamiento de la masa i debido a
una fuerza unitaria impuesta sobre la masa j. Así, los valores 0.1 en la columna 1 nos
indican que una carga unitaria hacia abajo en la primera masa desplazará todas las ma-
sas 0.1 m hacia abajo. Los otros elementos se interpretan en forma similar. Por lo tanto,
la inversa de la matriz de rigidez proporciona una síntesis de cómo los componentes del
sistema responden a fuerzas que se aplican en forma externa.
PROBLEMAS 339
Ingeniería Química/Bioingeniería
12.1 Lleve a cabo el mismo cálculo que en la sección 12.1, pero
cambie c01 a 40 y c03 a 10. También cambie los flujos siguientes:
Q01 = 6, Q12 = 4, Q24 = 2 y Q44 = 12.
12.2 Si la entrada al reactor 3 de la sección 12.1, disminuye 25
por ciento, utilice la matriz inversa para calcular el cambio por-
centual en la concentración de los reactores 1 y 4.
12.3 Debido a que el sistema que se muestra en la figura 12.3
está en estado estacionario (estable), ¿qué se puede afirmar
respecto de los cuatro flujos: Q01, Q03, Q44 y Q55?
12.4 Vuelva a calcular las concentraciones para los cinco reac-
tores que se muestran en la figura 12.3, si los flujos cambian
como sigue:
Q01 = 5 Q31 = 3 Q25 = 2 Q23 = 2
Q15 = 4 Q55 = 3 Q54 = 3 Q34 = 7
Q12 = 4 Q03 = 8 Q24 = 0 Q44 = 10
12.5 Resuelva el mismo sistema que se especifica en el proble-
ma 12.4, pero haga Q12 = Q54 = 0 y Q15 = Q34 = 3. Suponga que
las entradas (Q01, Q03) y las salidas (Q44, Q55) son las mismas.
Use la conservación del flujo para volver a calcular los valores
de los demás flujos.
12.6 En la figura P12.6 se muestran tres reactores conectados
por tubos. Como se indica, la tasa de transferencia de produc-
tos químicos a través de cada tubo es igual a la tasa de flujo (Q,
en unidades de metros cúbicos por segundo) multiplicada por la
concentración del reactor desde el que se origina el flujo (c, en
unidades de miligramos por metro cúbico). Si el sistema se
encuentra en estado estacionario (estable), la transferencia
de entrada a cada reactor balanceará la de salida. Desarrolle las
ecuaciones del balance de masa para los reactores y resuelva
las tres ecuaciones algebraicas lineales simultáneas para sus
concentraciones.
PROBLEMAS
12.7 Con el empleo del mismo enfoque que en la sección 12.1,
determine la concentración de cloruro en cada uno de los Gran-
des Lagos con el uso de la información que se muestra en la fi-
gura P12.7.
12.8 La parte baja del río Colorado consiste en una serie de
cuatro almacenamientos como se ilustra en la figura P12.8.
Puede escribirse los balances de masa para cada uno de ellos, lo
que da por resultado el conjunto siguiente de ecuaciones alge-
braicas lineales simultáneas:
13 42 0 0 0
13 422 12 252 0 0
0 12 252 12 377 0
0 0 12
.
. .
. .
−
−
− .
. .
377 11 797
1
2
3
4
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
c
c
c
c ⎭
⎭
⎪
⎪
=
⎧
⎨
⎪
⎪
⎩
⎪
⎪
⎫
⎬
⎪
⎪
⎭
⎪
⎪
750 5
300
102
30
.
donde el vector del lado derecho consiste en las cargas de cloru-
ro hacia cada uno de los cuatro lagos y c1, c2, c3 y c4 = las con-
centraciones de cloruro resultantes en los lagos Powell, Mead,
Mohave y Havasu, respectivamente.
a) Use la matriz inversa para resolver cuáles son las concen-
traciones en cada uno de los cuatro lagos.
b) ¿En cuánto debe reducirse la carga del lago Powell para que
la concentración de cloruro en el lago Havasu sea de 75?
c) Con el uso de la norma columna-suma, calcule el número de
condición y diga cuántos dígitos sospechosos se generarían
al resolver este sistema.
12.9 En la figura P12.9 se ilustra un proceso de extracción en
etapas. En tales sistemas, una corriente que contiene una fracción
de peso Yent de un producto químico ingresa por la izquierda con
una tasa de flujo de masa de F1. En forma simultánea, un solven-
te que lleva una fracción de peso Xent del mismo producto quí-
Figura P12.6
Tres reactores unidos
por tubos. La tasa de
transferencia de masa a
través de cada tubo es igual
al producto de flujo Q y la
concentración c del reactor
desde el que se origina el
flujo.
2
3
Q33 = 120
Q13 = 40
Q12 = 80
Q23 = 60
Q21 = 20
Q12c1
Q21c2
Q23c2
Q33c3
Q13c1
400 mg/s
200 mg/s
1
340 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
mico entra por la derecha con una tasa de flujo de F2. Así, para
la etapa i, el balance de masa se representa como
F1Yi–1 + F2Xi+1 = F1Yi + F2Xi (P12.9a)
En cada etapa, se supone que se establece el equilibrio entre Yi y
Xi, como en
K
X
Y
i
i
= (P12.9b)
donde K se denomina coeficiente de distribución. La ecuación
(P12.9b) puede resolverse para Xi y se sustituye en la ecua-
ción (P12.9a) para producir
Y
F
F
K Y
F
F
K Y
i i i
– –
1
2
1
2
1
1
1 0
+
⎛
⎝
⎜
⎞
⎠
⎟ +
⎛
⎝
⎜
⎞
⎠
⎟ =
+ (P12.9c)
Si F1 = 500 kg/h, Yent = 0.1, F2 = 1000 kg/h, Xent = 0 y K = 4,
determine los valores de Ysal y Xsal, si se emplea un reactor de
cinco etapas. Obsérvese que debe modificarse la ecuación
(P12.9c) para tomar en cuenta las fracciones de peso del flujo de
entrada cuando se aplique a la primera y última etapas.
12.10 Una reacción de primer orden, irreversible (véase la sec-
ción 28.1), tiene lugar en cuatro reactores bien mezclados (véa-
se la figura P12.10),
A B
k
⎯ →
⎯
Así, la tasa a la cual A se transforma en B se representa por
Rab = kV c
Los reactores tienen volúmenes diferentes, y debido a que se
operan a temperaturas diferentes, cada uno tiene distinta tasa de
reacción:
Reactor V, L k, h–1
1 25 0.075
2 75 0.15
3 100 0.4
4 25 0.1
QSH = 67
QMH = 36
QHE = 161
QEO = 182
QOO = 212
QSHcS
QMHcM
QHEcH
QEOcE
QOOcO
3850
4720
740
180
710
Superior
Michigan
Hurón
Superior
Erie
Ontario
Figura P12.7
Balance del cloro en
los Grandes Lagos. Las
flechas numeradas denotan
entradas directas.
c1
c2
c3
c4
Alto
río
Colorado
Lago
Mead
Lago
Mohave
Lago
Havasu
Lago
Powell
FIGURA P12.8
El bajo río Colorado.
PROBLEMAS 341
Determine la concentración de A y B en cada uno de los reacto-
res en estado estable.
12.11 Una bomba peristáltica envía un flujo unitario (Q1) de un
fluido muy viscoso. En la figura P12.11 se ilustra la red. Cada
sección de tubo tiene la misma longitud y diámetro. El balance
de masa y energía mecánica se simplifica para obtener los flujos
en cada tubo. Resuelva el sistema de ecuaciones siguiente a fin
de obtener el flujo en cada corriente.
Q3 + 2Q4 – 2Q2 = 0
Q5 + 2Q6 – 2Q4 = 0
3Q7 – 2Q6 = 0
Q1 = Q2 + Q3
Q3 = Q4 + Q5
Q5 = Q6 + Q7
12.12 La figura P12.12 ilustra un proceso de intercambio quí-
mico que consiste en una serie de reactores en los que un gas que
fluye de izquierda a derecha pasa por un líquido que fluye de
derecha a izquierda. La transferencia de un producto químico del
gas al líquido ocurre a una tasa proporcional a la diferencia entre
las concentraciones del gas y el líquido en cada reactor. En esta-
do estacionario (estable), el balance de masa para el primer
rector se puede escribir para el gas, así
Q c Q c D c c
G G G G L G
0 1 1 1 0
− + − =
( )
y para el líquido,
Q c Q c D c c
L L L L G L
2 1 1 1 0
− + − =
( )
donde QG y QL son las tasas de flujo del gas y el líquido, respec-
tivamente, y D = tasa de intercambio gas-líquido. Es posible
escribir otros balances similares para los demás reactores. Re-
suelva para las concentraciones con los siguientes valores dados:
QG = 2, QL = 1, D = 0.8, cG0 = 100, cL6 = 10.
Q1 Q3 Q5
Q2 Q4 Q6 Q7
Figura P12.11
1 2 3 4
Qent = 10
Q32 = 5
Q43 = 3
cA,ent = 1
Figura P12.10
Flujo = F1
Flujo = F2
x2
xsal x3 xi xi + 1 xn – 1 xn xent
y1
yent y2 yi – 1 yi yn – 2 yn – 1 ysal
1 0
2 0
n
0
i n – 1
••• •••
Figura P12.9
Una etapa del proceso de extracción.
cG1
cG0 cG2 cG3 cG4
QG
QG
QL
cG5
QL
D
cL1 cL2 cL3 cL4 cL5 cL6
Figura P12.12
342 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
Ingeniería civil/ambiental
12.13 Un ingeniero civil que trabaja en la construcción requiere
4800, 5800 y 5700 m3
de arena, grava fina, y grava gruesa,
respectivamente, para cierto proyecto constructivo. Hay tres
canteras de las que puede obtenerse dichos materiales. La com-
posición de dichas canteras es la que sigue
Arena Grava fina Grava gruesa
% % %
Cantera 1 55 30 15
Cantera 2 25 45 30
Cantera 3 25 20 55
¿Cuántos metros cúbicos deben extraerse de cada cantera a fin
de satisfacer las necesidades del ingeniero?
12.14 Ejecute el mismo cálculo que en la sección 12.2, pero para
la trabe que se ilustra en la figura P12.14.
12.15 Realice el mismo cálculo que en la sección 12.2, pero para
la trabe que se muestra en la figura P12.15.
12.16 Calcule las fuerzas y reacciones para la viga de la figura
12.4, si en el nodo 1 se aplica una fuerza hacia abajo de 2500 kg
y otra horizontal hacia la derecha de 2000 kg.
12.17 En el ejemplo de la figura 12.4, donde en el nodo 1 se
aplica una fuerza hacia debajo de 1000 libras, se calcularon las
reacciones externas V2 y V3. Pero si se hubieran dado las longi-
tudes de los miembros de las trabes habría podido calcularse V2
y V3 haciendo uso del hecho de que V2 + V3 debe ser igual a 1000,
y con la suma de momentos alrededor del nodo 2. Sin embargo,
debido a que se conocen V2 y V3, es posible trabajar a la inversa
para resolver cuáles son las longitudes de los miembros de las
trabes. Obsérvese que debido a que hay tres longitudes descono-
cidas y sólo dos ecuaciones, se puede resolver sólo para la rela-
ción entre las longitudes. Resuelva para esta relación.
12.18 Con el mismo método que se usó para analizar la figura
12.4, determine las fuerzas y reacciones para las trabes que se
ilustran en la figura P12.18.
12.19 Resuelva para las fuerzas y reacciones para las trabes que
se aprecia en la figura P12.19. Determine la matriz inversa para
el sistema. ¿Parece razonable la fuerza del miembro vertical en el
miembro de en medio? ¿Por qué?
500 1 000
45⬚ 60⬚
45⬚ 30⬚
Figura P12.15
Figura P12.14
45⬚
500
250
30⬚
30⬚
Figura P12.18
60⬚
45⬚ 45⬚
60⬚
5 000
Figura P12.19
600
1 200
30⬚
45⬚ 45⬚
PROBLEMAS 343
12.20 Como su nombre lo dice, la contaminación del aire interior
se refiere a la contaminación del aire en espacios cerrados, tales
como casas, oficinas, áreas de trabajo, etc. Suponga que usted
está diseñando el sistema de ventilación para un restaurante como
se ilustra en la figura P12.20. El área de servicio del restaurante
consiste en dos habitaciones cuadradas y otra alargada. La ha-
bitación 1 y la 3 tienen fuentes de monóxido de carbono que
proviene de los fumadores y de una parrilla defectuosa, respec-
tivamente. Es posible plantear los balances de masa en estado
estacionario para cada habitación. Por ejemplo, para la sección
de fumadores (habitación 1), el balance es el siguiente
0 = Wfumador + Qaca – Qac1 + E13(c3 – c1)
(carga) + (entrada) – (salida) + (mezcla)
o al sustituir los parámetros
225c1 – 25c3 = 1 400
Para las demás habitaciones se pueden escribir balances simi-
lares.
a) Resuelva para la concentración de monóxido de carbono en
estado estacionario en cada habitación.
b) Determine qué porcentaje del monóxido de carbono en la
sección de niños se debe a (i) los fumadores, (ii) la parrilla,
y (iii) el aire que entra por ventilación.
c) Si las cargas de los fumadores y la parrilla se incrementan
a 2 000 y 5 000 mg/hr, respectivamente, utilice la matriz
inversa para determinar el aumento en la concentración en
la sección de niños.
d) ¿Cómo cambia la concentración en el área de niños si se
construye una pantalla de modo que la mezcla entre las áreas
2 y 4 disminuya a 5 m3
/h?
Qc = 150 m3
/hr
2
(Sección de niños)
1
(Sección de fumar)
Carga por la parrilla
(2 000 mg/hr)
Carga por
fumadores
(1 000 mg/hr)
4
25 m3
/hr
25 m3
/hr
3
Qb = 50 m3
/hr
cb = 2 mg/m3
Qa = 200 m3
/hr
ca = 2 mg/m3
Qd = 100 m3
/hr
50
m
3
/hr
Figura P12.20
Vista de arriba de las
áreas en un restaurante.
Las flechas en un solo
sentido representan flujos
volumétricos de aire,
mientras que las de dos
sentidos indican mezclas
difusivas. Las cargas
debidas a los fumadores y
a la parrilla agregan masa
de monóxido de carbono al
sistema pero con un flujo de
aire despreciable.
Figura 12.21
12.21 Se aplica una fuerza hacia arriba de 20 kN en la cúspide
de un trípode como se ilustra en la figura P12.21. Determine las
fuerzas en las patas del trípode.
12.22 Se carga una trabe según se ilustra en la figura P12.22.
Con el uso del conjunto siguiente de ecuaciones, resuelva para
las 10 incógnitas: AB, BC, AD, BD, CD, DE, CE, Ax, Ay y Ey.
D
B
C
A
x
y
0.6 m
2.4 m
0.8 m
0.8
m
1 m
344 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
Ax + AD = 0 –24 – CD – (4/5)CE = 0
Ay + AB = 0 –AD + DE – (3/5)BD = 0
74 + BC + (3/5)BD = 0 CD + (4/5)BD = 0
– AB – (4/5)BD = 0 – DE – (3/5)CE = 0
– BC + (3/5)CE = 0 Ey + (4/5)CE = 0
Ingeniería eléctrica
12.23 Efectúe el mismo cálculo que en la sección 12.3, pero para
el circuito que se ilustra en la figura P12.23.
12.24 Realice el mismo cálculo que en la sección 12.3, pero para
el circuito que se muestra en la figura P12.24.
12.25 Resuelva el circuito que aparece en la figura P12.25, para
las corrientes en cada conductor. Utilice la eliminación de Gauss
con pivoteo.
12.26 Un ingeniero eléctrico supervisa la producción de tres tipos
de componentes eléctricos. Para ello se requieren tres clases de
material: metal, plástico y caucho. A continuación se presentan
las cantidades necesarias para producir cada componente.
Metal, Plástico, Hule
Componente g/componente g/componente g/componente
1 15 0.30 1.0
2 17 0.40 1.2
3 19 0.55 1.5
Si cada día se dispone de un total de 3.89, 0.095 y 0.282 kg de
metal, plástico y caucho, respectivamente, ¿cuántos componen-
tes puede producirse por día?
12.27 Determine las corrientes para el circuito de la figura
P12.27:
12.28 Calcule las corrientes en el circuito que aparece en la fi-
gura P12.28:
12.29 El sistema de ecuaciones que sigue se generó por medio
de aplicar la ley de malla de corrientes al circuito de la figura
P12.29:
55I1 – 25I4 = –200
–37I3 – 4I4 = –250
–25I1 – 4I3 + 29I4 = 100
Encuentre I1, I3 e I4.
3 m 3 m
4 m
D
A E
C
B
74 kN
24 kN
Figura P12.22
R = 2 ⍀ R = 5 ⍀
R = 15 ⍀
3 2 1
4 5 6
R = 5 ⍀
R = 10 ⍀
V1 = 200 voltios
V6 = 0 voltios
R = 25 ⍀
Figura P12.23
R
= 7 ⍀
R = 8 ⍀ R = 10 ⍀
R = 30 ⍀
3 2 1
4 5 6
R = 15 ⍀
R = 35 ⍀
V1 = 10 voltios
V6 = 150 voltios
R = 5 ⍀
Figura P12.24
20 ⍀
5 ⍀
20 ⍀
10 ⍀
20 ⍀
5 ⍀
5 ⍀
50 ⍀
0 ⍀
4 7 9
2
1
8
3 6 15 ⍀
5
V2 = 40
V1 = 120
Figura P12.25
PROBLEMAS 345
12.30 El sistema de ecuaciones siguiente se generó con la apli-
cación de la ley de malla de corrientes al circuito de la figura
P12.30:
60I1 – 40I2 = 200
–40I1 + 150I2 – 100I3 = 0
–100I2 + 130I3 = 230
Encuentre I1, I2 e I3.
Ingeniería mecánica/aerospacial
12.31 Lleve a cabo el mismo cálculo que en la sección 12.4, pero
agregue un tercer resorte entre las masas 1 y 2, y triplique el
valor de k para todos los resortes.
12.32 Realice el mismo cálculo que en la sección 12.4, pero
cambie las masas de 2, 3 y 2.5 kg por otras de 10, 3.5 y 2 kg,
respectivamente.
12.33 Los sistemas idealizados de masa-resorte tienen aplicacio-
nes numerosas en la ingeniería. La figura P12.33 muestra un
arreglo de cuatro resortes en serie comprimidos por una fuerza de
1500 kg. En el equilibrio, es posible desarrollar ecuaciones de
balance de fuerza si se definen las relaciones entre los resortes.
k2(x2 – x1) = k1x1
k3(x3 – x2) = k2(x2 – x1)
k4(x4 – x3) = k3(x3 – x2)
F = k4(x4 – x3)
donde las k son constantes de los resortes. Si de k1 a k4 son 100,
50, 80 y 200 N/m, respectivamente, calcule el valor de las x.
12.34 Se conectan tres bloques por medio de cuerdas carentes
de peso y se dejan en reposo en un plano inclinado (véase la fi-
gura P12.34a). Con el empleo de un procedimiento similar al que
se usó en el análisis del paracaidista en descenso del ejemplo
100 V
25 ⍀
25 ⍀
8 ⍀
4 ⍀
+
–
10 A
10 ⍀
20 ⍀ I2
I3
I4
I1
Figura P12.29
15 ⍀ 25 ⍀ 50 V
80 V
5 ⍀ 10 ⍀ 20 ⍀
+
–
+
–
Figura P12.27
20 V
8 ⍀
4 ⍀
5 ⍀
2 ⍀
+
–
6 ⍀
i3
i1
j2
Figura P12.28
200 V
80 V
10 A
20 ⍀
40 ⍀
10 ⍀
100 ⍀ 30 ⍀
+
–
+
–
I1 I2 I3 I4
Figura P12.30
346 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
9.11 se llega al conjunto siguiente de ecuaciones simultáneas (en
la figura P12.34b se muestran los diagramas de cuerpo libre):
100a + T = 519.72
50a – T + R = 216.55
25a – R = 108.27
Resuelva para la aceleración a y las tensiones T y R en las dos
cuerdas.
12.35 Efectúe un cálculo similar al que se utilizó en el problema
P12.34, pero para el sistema que se ilustra en la figura P12.35.
12.36 Realice el mismo cálculo que en el problema 12.34, pero
para el sistema que se muestra en la figura P12.36 (los ángulos
son de 45º).
12.37 Considere el sistema de tres masas y cuatro resortes que
aparece en la figura P12.37. Al determinar las ecuaciones de
movimiento a partir de ∑ Fx = ma, para cada masa con el empleo
de su diagrama de cuerpo libre, se llega a las ecuaciones diferen-
ciales siguientes:
˙˙ –
˙˙ – –
˙˙ –
x
k k
m
x
k
m
x
x
k
m
x
k k
m
x
k
m
x
x
k
m
x
k k
m
x
1
1 2
1
1
2
1
2
2
2
2
1
2 3
2
2
3
2
3
3
3
3
2
3 4
3
3
0
0
+
+
⎛
⎝
⎜
⎞
⎠
⎟
⎛
⎝
⎜
⎞
⎠
⎟ =
⎛
⎝
⎜
⎞
⎠
⎟ +
+
⎛
⎝
⎜
⎞
⎠
⎟
⎛
⎝
⎜
⎞
⎠
⎟ =
⎛
⎝
⎜
⎞
⎠
⎟ +
+
⎛
⎝
⎜
⎞
⎠
⎟ = 0
0
F
k4
x4
x
x3
x2
x1
0
k3
k2
k1
Figura P12.33
b)
a)
1
0
0
k
g
5
0
k
g
a
,
a
c
e
l
e
r
a
c
i
ó
n
2
5
k
g
45⬚
R
T
R
T
6
9
2
.
9
6
692.96
100 ⫻ 9.8 = 980
6
9
2
.
9
6
⫻
0
.
2
5
=
1
7
3
.
2
4
3
4
6
.
4
8
346.48
50 ⫻ 9.8 = 490
3
4
6
.
4
8
⫻
0
.
3
7
5
=
1
2
9
.
9
3
1
7
3
.
2
4
173.24
25 ⫻ 9.8 = 245
1
7
3
.
2
4
⫻
0
.
3
7
5
=
6
4
.
9
7
Figura P12.34
PROBLEMAS 347
donde k1 = k4 = 10 N/m, k2 = k3 = 30 N/m, y m1 = m2 = m3 = m4
= 2 kg. Escriba las tres ecuaciones en forma matricial:
0 = [vector de aceleración] + [matriz k/m] [vector de
desplazamiento x]
En un momento específico en el que x1 = 0.05 m, x2 = 0.04 m, y
x3 = 0.03 m, se forma una matriz tridiagonal. Resuelva cuál es la
aceleración de cada masa.
12.38 Las ecuaciones algebraicas lineales pueden surgir al re-
solver ecuaciones diferenciales. Por ejemplo, la ecuación dife-
rencial siguiente proviene de un balance de calor para una barra
larga y delgada (véase la figura P12.38):
d T
dx
h T T
a
2
2
0
+ − =
′( ) (P12.38)
donde T = temperatura (ºC), x = distancia a lo largo de la barra
(m), h′ = coeficiente de transferencia de calor entre la barra y el
aire del ambiente (m–2
), y Ta = temperatura del aire circundante
(ºC). Esta ecuación se transforma en un conjunto de ecuaciones
algebraicas lineales por medio del uso de una aproximación en
diferencias finitas divididas para la segunda derivada (recuerde
la sección 4.1.3),
d T
dx
T T T
x
i i i
2
2
1 1
2
2
=
− +
∆
+ −
donde Ti denota la temperatura en el nodo i. Esta aproximación
se sustituye en la ecuación (P12.38) y se obtiene
− + + ∆ − = ∆
− +
T h x T T h x T
i i i a
1
2
1
2
2
( )
′ ′
Se puede plantear esta ecuación para cada uno de los nodos in-
teriores de la barra, lo que resulta en un sistema tridiagonal de
ecuaciones. Los nodos primero y último en los extremos de la
barra están fijos por las condiciones de frontera.
a) Desarrolle la solución analítica para la ecuación (P12.38)
para una barra de 10 m con Ta = 20, T(x = 0) = 40, T(x = 10)
= 200 y h′ = 0.02.
b) Desarrolle una solución numérica para los mismos valores de
los parámetros que se emplearon en el inciso a), con el uso
de una solución en diferencias finitas con cuatro nodos in-
teriores según se muestra en la figura P12.38 (∆x = 2 m).
12.39 La distribución de temperatura de estado estable en una
placa caliente está modelada por la ecuación de Laplace:
0
2
2
2
2
=
∂
∂
+
∂
∂
T
x
T
y
Si se representa la placa por una serie de nodos (véase la figura
P12.39), las diferencias finitas divididas se pueden sustituir por
las segundas derivadas, lo que da como resultado un sistema de
ecuaciones algebraicas lineales. Utilice el método de Gauss-
Seidel para resolver cuáles son las temperaturas de los nodos que
se aprecian en la figura P12.39.
40 kg
5
0
k
g
10 kg
30⬚
60⬚
Fricción = 0.5
Fricción = 0.3
Fricción = 0.2
Figura P12.35
m1 m2 m3
x1
k2 k3 k4
k1
x2 x3
Figura P12.37
Fricción = 0.8
Fricción
= 0.2
8 kg
1
0
k
g
1
5
k
g
5 kg
Figura P12.36
⌬x
T0 = 40 T5 = 200
Ta = 10
Ta = 10
x = 0 x = 10
Figura P12.38
Una barra uniforme sin aislamiento colocada entre dos pare-
des de temperatura constante pero diferente. La representa-
ción en diferencias finitas emplea cuatro nodos interiores.
348 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES
12.40 Una barra sobre una bola y una junta tipo socket está su-
jeta a los cables A y B como se observa en la figura P12.40.
a) Si se ejerce una fuerza de 50 N sobre la barra sin masa en
G, ¿cuál es la fuerza de la tensión en los cables A y B?
b) Resuelva cuáles son las fuerzas de reacción en la base de la
barra. Denomine al punto de la base como P.
Bola y socket
y
x
z
50 N
2 m
2 m
2 m
1 m
B
2 m
1 m
A
T12
T11
T22
T21
100⬚C
100⬚C
0⬚C
0⬚C
75⬚C 75⬚C
25⬚C 25⬚C
Figura P12.39
Figura P12.40
EPÍLOGO: PARTE TRES
PT3.4 ALTERNATIVAS
La tabla PT3.2 ofrece un resumen de las ventajas y desventajas en la solución de ecua-
ciones algebraicas lineales simultáneas. Dos métodos (el gráfico y la regla de Cramer)
están limitados a pocas ecuaciones (≤ 3), de modo que tienen escasa utilidad para resolver
problemas prácticos. Sin embargo, dichas técnicas son herramientas didácticas útiles para
entender el comportamiento de los sistemas lineales en general.
Los métodos numéricos se dividen en dos categorías generales: métodos exactos y
aproximados. Los primeros, como su nombre lo indica, buscan dar resultados exactos.
No obstante, como están afectados por errores de redondeo, algunas veces dan resultados
imprecisos. La magnitud del error de redondeo varía en cada sistema y depende de varios
factores, tales como las dimensiones del sistema, su condición y el hecho de si la matriz
de coeficientes es dispersa o densa. Además, la precisión de la computadora afectará el
error de redondeo.
Se recomienda una estrategia de pivoteo en todo programa de computadora que realice
métodos de eliminación exactos. Esa estrategia minimiza el error de redondeo y evita
problemas como el de la división entre cero. Los algoritmos basados en la descomposición
LU son los métodos que se eligen debido a su eficiencia y flexibilidad.
TABLA PT3.2 Comparación de las características de diversos métodos alternativos para encontrar soluciones
de ecuaciones algebraicas lineales simultáneas.
Rango de Complejidad de
Método Estabilidad Precisión aplicación programación Comentarios
Gráfico — Pobre Limitado — Puede tomar más tiempo
que el método numérico
Regla de Cramer — Afectada por errores Limitado — Excesiva complejidad
de redondeo de cálculo
para más de tres
ecuaciones
Eliminación de Gauss — Afectada por errores General Moderada
(con pivoteo parcial) de redondeo
Descomposición LU — Afectada por errores General Moderada Método de eliminación
de redondeo preferido; permite el
cálculo de la matriz
inversa
Gauss-Seidel Puede no Excelente Apropiada Fácil
converger sólo para
si no es sistemas
diagonalmente diagonalmente
dominante dominantes
Aunque los métodos de eliminación tienen gran utilidad, el uso de toda la matriz de
los coeficientes puede ser limitante cuando se trate con sistemas dispersos muy grandes.
Esto se debe a que gran parte de la memoria de la computadora se dedicaría a guardar ceros
que no tienen significado. Para sistemas bandeados, hay técnicas para realizar métodos
de eliminación sin tener que guardar todos los coeficientes de la matriz.
LatécnicaaproximadadescritaenestelibroseconocecomométododeGauss-Seidel,
el cual difiere de las técnicas exactas porque emplea un esquema iterativo para obtener,
progresivamente, estimaciones más cercanas a la solución. El efecto del error de redon-
deo es un punto discutible en el método de Gauss-Seidel, ya que se pueden continuar las
iteraciones hasta que se obtenga la precisión deseada. Además, se pueden desarrollar
versionesdelmétododeGauss-Seidelparautilizardemaneraeficientelosrequerimientos
de almacenaje en computadora con sistemas dispersos. En consecuencia, la técnica de
Gauss-Seidel es útil para grandes sistemas de ecuaciones, donde los requerimientos
de almacenaje podrían llevar a problemas significativos con las técnicas exactas.
La desventaja del método de Gauss-Seidel es que no siempre converge o algunas
veces converge de manera lenta a la solución verdadera. Es confiable sólo para aquellos
sistemas que son diagonalmente dominantes. Sin embargo, hay métodos de relajación
que algunas veces contrarrestan tales desventajas. Además, como muchos sistemas de
ecuaciones algebraicas lineales surgen de sistemas físicos que presentan dominancia
diagonal, el método de Gauss-Seidel tiene gran utilidad para resolver problemas de
ingeniería.
En resumen, varios factores serán relevantes en la elección de una técnica para un
problema en particular que involucre ecuaciones algebraicas lineales. No obstante, como
se mencionó antes, el tamaño y la densidad del sistema son factores particularmente
importantes en la determinación de su elección.
PT3.5 RELACIONES Y FÓRMULAS IMPORTANTES
Cada una de las partes de este libro incluye una sección que resume fórmulas importantes.
Aunque la parte tres no trata en realidad sólo con fórmulas, la tabla PT3.3 se emplea para
resumir los algoritmos expuestos. La tabla proporciona una visión general, que será de
gran ayuda para revisar y aclarar las principales diferencias entre los métodos.
PT3.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES
Se pueden encontrar referencias generales acerca de la solución de ecuaciones lineales
simultáneas en Faddeev y Faddeeva (1963), Stewart (1973), Varga (1962) yYoung (1971).
Ralston y Rabinowitz (1978) proporcionan un resumen general.
Hay muchas técnicas avanzadas para aumentar el ahorro de tiempo y/o espacio
en la solución de ecuaciones algebraicas lineales. La mayoría de éstas se enfocan al
aprovechamiento de las propiedades de las ecuaciones, como simetría y bandeado. En
particular se dispone de algoritmos que operan sobre matrices dispersas para convertirlas
a un formato bandeado mínimo. Jacobs (1977) y Tewarson (1973) incluyen información
sobre este tema. Una vez que se encuentran en un formato bandeado mínimo, existen
diversas estrategias de solución eficientes: tal como el método de almacenamiento en
una columna activa de Bathe y Wilson (1976).
350 EPÍLOGO: PARTE TRES
Además de los conjuntos de ecuaciones n ⫻ n, hay otros tipos de sistemas donde el
número de ecuaciones, m, y el número de incógnitas, n, no son iguales. A los sistemas
donde m  n se les conoce como subdeterminados. En tales casos quizá no haya solución
o tal vez haya más de una. Los sistemas donde m  n se denominan sobredeterminados.
En tales situaciones no hay, en general, solución exacta. Sin embargo, a menudo es posible
desarrollar una solución que intente determinar soluciones que estén “lo más cercanas”,
para satisfacer todas las ecuaciones de manera simultánea. Un procedimiento común
consiste en resolver la ecuación en un sentido de “mínimos cuadrados” (Lawson y Han-
son, 1974; Wilkinson y Reinsch, 1971).Alternativamente, se pueden utilizar métodos de
programación lineal, con los cuales las ecuaciones se resuelven en un sentido “optimal”,
minimizando alguna función objetivo (Dantzig, 1963; Luenberger, 1973 y Rabinowitz,
1968). En el capítulo 15 se describe con mayor detalle este procedimiento.
a11
a21
a31
a12
a22
a32
a13
a23
a33
c1
c2
c3
|
|
|
⇒
a11 a12
a22
a13
a23
a33
c1
c2
c3
|
|
|
⇒
x3 = c3/a33
x2 = (c2 – a23x3)/a22
x1 = (c1 – a12x1 – a13x3)/a11
Problemas:
Mal condicionamiento
Redondeo
División entre cero
Soluciones:
Alta precisión
Pivoteo parcial
Eliminación
de Gauss
a11
a21
a31
a12
a22
a32
a13
a23
a33
⇒
1
I21
I31
Problemas:
Mal condicionamiento
Redondeo
División entre cero
Soluciones:
Alta precisión
Pivoteo parcial
Descomposición
LU
0
1
I32
0
0
1
d1
d2
d3
=
c1
c2
c3
⇒
u11
0
0
u12
u22
0
u13
u23
u33
x1
x2
x3
=
d1
d2
d3
⇒
x1
x2
x3
'' ''
''
' ' '
'
'
'
x1 = (c1 – a12x2 – a13x3 )/a11
Método de
Gauss-Seidel
Problemas:
Divergente o
converge lentamente
Soluciones:
Dominancia
diagonal
Relajación
x3 = (c3 – a31x1 – a32x2) /a33
x2 = (c2 – a21x1 – a23x3 )/a22
i–1 i–1
i i–1
i i
xi – xi
———— 100%  εs
xi
Continúa iterativamente hasta
para todas las xi
i i–1
''
Descomposición
Sustitución
hacia atrás
Sustitución hacia adelante
i
i
i
i
TABLA PT3.3 Resumen de información importante que se presenta en la parte tres.
Problemas
y soluciones
Método Procedimiento potenciales
PT3.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES 351
PARTE CUATRO
PARTE CUATRO
OPTIMIZACIÓN
PT4.1 MOTIVACIÓN
La localización de raíces (parte dos) y la optimización están relacionadas, en el sentido
de que ambas involucran valores iniciales y la búsqueda de un punto en una función. La
diferencia fundamental entre ambos tipos de problemas se ilustra en la figura PT4.1.
La localización de raíces es la búsqueda de los ceros de una función o funciones. En
cambio, la optimización es la búsqueda ya sea del mínimo o del máximo.
El óptimo es el punto donde la curva es plana. En términos matemáticos, esto co-
rresponde al valor de x donde la derivada ƒ′(x) es igual a cero. Además, la segunda de-
rivada, ƒ″(x), indica si el óptimo es un mínimo o un máximo: si ƒ″(x)  0, el punto es
un máximo; si ƒ″(x)  0, el punto es un mínimo.
Si comprendemos ahora la relación entre las raíces y el óptimo, es posible sugerir
una estrategia para determinar este último; es decir, se puede derivar a la función y lo-
calizar la raíz (el cero) de la nueva función. De hecho, algunos métodos de optimización
tratan de encontrar un óptimo resolviendo el problema de encontrar la raíz: ƒ′(x) = 0.
Deberá observarse que tales búsquedas con frecuencia se complican porque ƒ′(x) no se
puede obtener analíticamente. Por lo tanto, es necesario usar aproximaciones por dife-
rencia finita para estimar la derivada.
Más allá de ver la optimización como un problema de raíces, deberá observarse que
la tarea de localizar el óptimo está reforzada por una estructura matemática extra que no
es parte del encontrar una raíz simple. Esto tiende a hacer de la optimización una tarea
más fácil de realizar, en particular con casos multidimensionales.
PT4.1.1 Métodos sin computadora e historia
Como se mencionó antes, los métodos de cálculo diferencial aún se utilizan para deter-
minar soluciones óptimas. Todos los estudiantes de ciencias e ingeniería recuerdan haber
resuelto problemas de máximos y mínimos mediante la determinación de las primeras
FIGURA PT4.1
Una función de una sola variable ilustra la diferencia entre las raíces y el óptimo.
Máximo
Mínimo
0
Raíz
Raíz
Raíz
f(x)
x
f⬘(x) = 0
f⬙(x) ⬎ 0
f⬘(x) = 0
f⬙(x) ⬍ 0
f(x) = 0
354 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
derivadas de las funciones en sus cursos sobre cálculo. Bernoulli, Euler, Lagrange y
otros establecieron los fundamentos del cálculo de variaciones, el cual trata con la mi-
nimización de funciones. El método de los multiplicadores de Lagrange se desarrolló
para optimizar problemas con restricciones, es decir, problemas de optimización donde
las variables están limitadas en alguna forma.
El primer avance de importancia en los procedimientos numéricos ocurrió con el
desarrollodelascomputadorasdigitalesdespuésdelaSegundaGuerraMundial.Koopmans,
en el Reino Unido, y Kantorovich, en la ex Unión Soviética, trabajaron en forma indepen-
diente sobre el problema general de distribución a bajo costo de artículos y productos. En
1947, un alumno de Koopman, Dantzig, inventó el método simplex para resolver problemas
de programación lineal. Este método abrió el camino a muchos investigadores hacia otros
métodos de optimización con restricciones; entre los más notables se encuentran Charnes
y sus colegas. Los métodos de optimización restringida también se desarrollaron en forma
rápida debido a la disponibilidad tan amplia de computadoras.
PT4.1.2 Optimización y la práctica en ingeniería
La mayoría de los modelos matemáticos con que hemos tratado hasta ahora han sido
descriptivos. Es decir, se han obtenido para simular el comportamiento de un dispositi-
vo o sistema en ingeniería. En cambio, la optimización tiene que ver con la determinación
del “mejor resultado”, o solución óptima, de un problema. Así, en el contexto del mode-
lado, se les llama con frecuencia modelos prescriptivos, puesto que sirven para señalar
un curso de acción o el mejor diseño.
Los ingenieros continuamente tienen que diseñar dispositivos y productos que rea-
licen tareas de manera eficiente. Al hacerlo de esta manera, están restringidos por las
limitaciones del mundo físico. Además, deben mantener costos bajos. Así, los ingenieros
siempre se enfrentan a problemas de optimización que equilibren el funcionamiento y las
limitaciones. Algunos ejemplos comunes se mencionan en la tabla PT4.1. El siguien-
TABLA PT4.1 Algunos ejemplos comunes de problemas de optimización en ingeniería.
• Diseño de un avión con peso mínimo y resistencia máxima.
• Trayectorias óptimas de vehículos espaciales.
• Diseño de estructuras en la ingeniería civil con un mínimo costo.
• Planeación de obras para el abastecimiento de agua, como presas, que permitan disminuir daños
por inundación, mientras se obtiene máxima potencia hidráulica.
• Predicción del comportamiento estructural minimizando la energía potencial.
• Determinación del corte de materiales con un mínimo costo.
• Diseño de bombas y equipos de transferencia de calor con una máxima eficiencia.
• Maximización de la potencia de salida de circuitos eléctricos y de maquinaria, mientras se minimiza
la generación de calor.
• Ruta más corta de un vendedor que recorre varias ciudades durante un viaje de negocios.
• Planeación y programación óptimas.
• Análisis estadístico y modelado con un mínimo error.
• Redes de tubería óptimas.
• Control de inventario.
• Planeación del mantenimiento para minimizar costos.
• Minimización de tiempos de espera.
• Diseño de sistemas de tratamiento de residuos para cumplir con estándares de calidad del agua a
bajo costo.
te ejemplo fue desarrollado para ayudarlo a obtener una visión de la manera en que se
pueden formular tales problemas.
EJEMPLO PT.4.1 Optimización del costo de un paracaídas
Planteamiento del problema. A lo largo de este libro, hemos utilizado la caída de un
paracaidista para ilustrar diversos temas básicos para la solución de problemas con
métodos numéricos. Usted puede haber notado que ninguno de tales ejemplos se ocupó
de lo que pasa después de que el paracaídas se abre. En este ejemplo examinaremos un
caso donde el paracaídas se abre, y nos interesa predecir la velocidad de impacto con el
suelo.
Usted es un ingeniero que trabaja para una institución que lleva abastecimientos a
los refugiados en una zona de guerra. Los abastecimientos se arrojarán a baja altitud
(500 m), de tal forma que la caída no sea detectada y que los abastecimientos caigan tan
cerca como sea posible del campo de refugiados. Los paracaídas se abren en forma in-
mediata al salir del aeroplano. Para reducir daños, la velocidad vertical de impacto debe
ser menor a un valor crítico vc = 20 m/s.
El paracaídas que se usa para la caída se ilustra en la figura PT4.2. El área de la
sección transversal del paracaídas es la de una semiesfera,
A = 2πr2
(PT4.1)
La longitud de cada una de las 16 cuerdas, que unen al paracaídas con la masa, está
relacionada con el radio del paracaídas mediante
 = 2r (PT4.2)
Usted sabe que la fuerza de arrastre del paracaídas es una función lineal del área de su
sección transversal descrita con la siguiente fórmula:
c = kcA (PT4.3)
donde c = coeficiente de arrastre (kg/s) y kc = una constante de proporcionalidad que
parametriza el efecto del área sobre el arrastre [kg/(s · m2
)].
También, se puede dividir la carga completa en tantos paquetes como se quiera. Es
decir, la masa de cada paquete se calcula así
m
M
n
t
=
FIGURA PT4.2
Un paracaídas abierto.
m
r
ᐉ
PT4.1 MOTIVACIÓN 355
356 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
donde m = masa de cada paquete (kg), Mt = carga total que habrá de arrojarse (kg) y n =
número total de paquetes.
Por último, el costo de cada paracaídas está relacionado con su tamaño en una
forma no lineal,
Costo por paracaídas = c0 + c1ᐉ + c2A2
(PT4.4)
donde c0, c1 y c2 son coeficientes de costo. El término constante, c0, es el costo base de los
paracaídas. La relación no lineal entre costo y área se debe a que la fabricación de
los paracaídas de gran tamaño es más complicada que la de los paracaídas pequeños.
Determine el tamaño (r) y el número de paracaídas (n) que se obtienen a un mínimo
costo y que, al mismo tiempo, satisfacen el requerimiento de lograr una velocidad de
impacto suficientemente pequeña.
Solución. El objetivo aquí consiste en determinar la cantidad y el tamaño de los pa-
racaídas que minimicen el costo de la operación. El problema tiene restricciones, ya que
los paquetes deben tener una velocidad de impacto menor al valor crítico.
El costo se calcula al multiplicar el valor de un solo paracaídas [ecuación (PT4.4)]
por el número de paracaídas (n). Así, la función que usted debe minimizar, llamada
formalmente función objetivo, se escribe como
Minimizar C = n(c0 + c1ᐉ + c2A2
) (PT4.5)
donde C = costo ($) y A y ᐉ se calculan con las ecuaciones (PT4.1) y (PT4.2), respecti-
vamente.
A continuación, se deben especificar las restricciones. En este problema existen dos
restricciones. Primera, la velocidad de impacto debe ser igual o menor que la velocidad
crítica.
v ≤ vc (PT4.6)
Segunda, el número de paquetes debe ser un entero mayor o igual a 1,
n ≥ 1 (PT4.7)
donde n es un entero.
En este momento, ya se ha formulado el problema de optimización. Como se obser-
va, es un problema con restricciones no lineal.
Aunque el problema se ha formulado completamente, se debe tener en cuenta algo
más: ¿cómo se determina la velocidad de impacto v? Recuerde del capítulo 1 que la
velocidad de un objeto que cae se calcula así:
v =
gm
c
e c m t
( – )
–( / )
1 (1.10)
donde v = velocidad (m/s), g = aceleración de la gravedad (m/s2
), m = masa (kg) y t =
tiempo (s).
Aunque la ecuación (1.10) proporciona una relación entre v y t, lo que se necesita
saber en cuánto tiempo cae la masa. Por lo tanto, es necesaria una relación entre la dis-
tancia de caída z y el tiempo de caída t. La distancia de caída se calcula a partir de la
velocidad en la ecuación (1.10) mediante la integración
z
gm
c
e dt
t
c m t
= ∫0
1
( – )
–( / )
(PT4.8)
Esta integral se evalúa para obtener
z z
gm
c
t
gm
c
e c m t
= + −
0
2
2
1
– ( – )
( / )
(PT4.9)
donde z0 = altura inicial (m). Esta función, como muestra la gráfica de la figura PT4.3,
ofrece una manera de predecir z conociendo t.
Sin embargo, no se necesita z como función de t para resolver este problema. Lo que
necesitamos es el tiempo requerido por el paquete, al caer, la distancia z0. Así, se reco-
noce que tenemos que reformular la ecuación (PT4.9) como un problema de determina-
ción de raíces. Esto es, se debe encontrar el tiempo en el que z toma el valor de cero,
f t z
gm
c
t
gm
c
e c m t
( ) ( )
( / )
= = − + − −
0 1
0
2
2
(PT4.10)
Una vez que se calcula el tiempo de impacto, se sustituye en la ecuación (1.10) con la
finalidad de obtener la velocidad de impacto.
El planteamiento del problema sería entonces
Minimizar C = n(c0 + c1ᐉ + c2A2
) (PT4.11)
sujeta a
v ≤ vc (PT4.12)
n ≥ 1 (PT4.13)
5 10
t (s)
v (m/s)
z (m)
15
Impacto
0
0
200
400
600
FIGURA PT4.3
La altura z y la velocidad v de un paracaídas abierto conforme cae al suelo (z = 0).
PT4.1 MOTIVACIÓN 357
358 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
donde
A = 2πr2
(PT4.14)
 = 2r (PT4.15)
c = kcA (PT4.16)
m
M
n
t
= (PT4.17)
t z
gm
c
t
gm
c
e c m t
= − + −
⎡
⎣
⎢
⎤
⎦
⎥
−
raíz 0
2
2
1
( )
( / )
(PT4.18)
v = − −
gm
c
e c m t
( )
( / )
1 (PT4.19)
Resolveremos este problema en el ejemplo 15.4 al final del capítulo 15. Por ahora re-
conozca que este problema tiene la mayoría de los elementos fundamentales de otros pro-
blemas de optimización, que usted enfrentará en la práctica de la ingeniería. Éstos son
• El problema involucrará una función objetivo que se optimizará.
• Tendrá también un número de variables de diseño. Éstas pueden ser números reales
o enteros. En nuestro ejemplo, dichas variables son r (real) y n (entero).
• El problema incluye restricciones que consideran las limitaciones bajo las cuales se
trabaja.
Plantearemos una reflexión más antes de proceder. Aunque la función objetivo y las
restricciones quizá, en forma superficial, parezcan ecuaciones simples [por ejemplo, la
ecuación (PT4.12)], de hecho, pueden ser sólo la “punta del iceberg”. Es decir, pueden
basarse en modelos y dependencias complicadas. Por ejemplo, como en este caso, llegan
a involucrar otros métodos numéricos [ecuación (PT4.18)], lo cual significa que las rela-
ciones funcionales que usted estará usando podrían representar cálculos largos y compli-
cados. Por lo que, las técnicas que permitan encontrar la solución óptima, y que al mismo
tiempo simplifiquen las evaluaciones de las funciones, serán valiosas en extremo.
PT4.2 ANTECEDENTES MATEMÁTICOS
Existen bastantes conceptos matemáticos que son la base de la optimización. Como
creemos que para usted éstos serán más relevantes en su forma contextual, se dejará el
análisis de los prerrequisitos matemáticos específicos hasta que se ocupen. Por ejemplo,
se analizarán los importantes conceptos del gradiente y el hessiano al inicio del capítulo
14, que trata sobre optimización sin restricciones multivariada. Mientras tanto, ahora nos
limitaremos al tema más general de cómo se clasifican los problemas de optimización.
Un problema de programación matemática u optimización generalmente se puede
establecer como
Determine x, que minimiza o maximiza f(x)
sujeto a
di(x) ≤ ai i = 1, 2,..., m (PT4.20)
ei(x) = bi i = 1, 2,..., p (PT4.21)
donde x es un vector de diseño n-dimensional; f(x) es la función objetivo; di(x) son las
restricciones de desigualdad; ei(x) son las restricciones de igualdad, y ai y bi son cons-
tantes.
Los problemas de optimización se clasifican considerando la forma de f(x):
• Si f(x) y las restricciones son lineales, tenemos un problema de programación li-
neal.
• Si f(x) es cuadrática y las restricciones son lineales, tenemos un problema de pro-
gramación cuadrática.
• Si f(x) no es lineal ni cuadrática y/o las restricciones no son lineales, tenemos un
problema de programación no lineal.
Se dice también que, cuando las ecuaciones (PT4.20) y (PT4.21) se incluyen, se tiene un
problema de optimización restringido; de otra forma, se trata de un problema de opti-
mización no restringido.
Observe que en problemas restringidos, los grados de libertad están dados por n-p-
m. Generalmente, para obtener una solución, p + m debe ser ≤ n. Si p + m  n, se dice
que el problema está sobrerrestringido.
FIGURA PT4.4
a) Optimización unidimensional. Esta figura también ilustra cómo la minimización de f(x) es
equivalente a la maximización de –f(x). b) Optimización bidimensional. Observe que esta
figura puede tomarse para representar ya sea una maximización (los contornos aumentan
de elevación hasta un máximo como en una montaña), o una minimización (los contornos
disminuyen de elevación hasta un mínimo como un valle).
x*
x*
x
x
b)
a)
Óptimo f (x*, y*)
Mínimo f (x)
f (x)
– f (x)
Máximo – f (x)
f (x, y)
f (x)
y*
y
PT4.2 ANTECEDENTES MATEMÁTICOS 359
360 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
Otra forma de clasificar los problemas de optimización es según su dimensionalidad.
En general se dividen en unidimensionales y multidimensionales. Como su nombre lo
indica, los primeros involucran funciones que dependen de una sola variable indepen-
diente. Como en la figura PT4.4a, la búsqueda consiste, entonces, en ascender o descen-
der picos y valles unidimensionales. Los problemas multidimensionales implican
funciones que dependen de dos o más variables independientes. En el mismo sentido, la
optimización bidimensional, de nuevo, se visualiza como una búsqueda de picos y valles
(PT4.4b). Sin embargo, justo como en un paseo campestre, no estamos limitados a ca-
minar en una sola dirección; en lugar de esto se examina la topografía para alcanzar el
objetivo en forma eficiente.
Finalmente, el proceso de encontrar un máximo o de encontrar un mínimo es, en
esencia, idéntico, ya que un mismo valor, por ejemplo x*, minimiza f(x) y maximiza
–f(x). Esta equivalencia se ilustra en forma gráfica, para una función unidimensional,
en la figura PT4.4a.
PT4.3 ORIENTACIÓN
Resulta útil alguna orientación antes de desarrollar los métodos numéricos para la op-
timización. Lo siguiente lleva la intención de dar una visión general del material en la
parte cuatro. Además, se presentan algunos objetivos para ayudarlo a enfocar sus esfuer-
zos cuando se estudie el material.
PT4.3.1 Alcance y presentación preliminar
La figura PT4.5 es una representación esquemática de la organización de la parte cuatro.
Examine esta figura con cuidado, comenzando desde arriba y después yendo en sentido
de las manecillas del reloj.
Después de la presente introducción, el capítulo 13 se dedica a la optimización
unidimensional no restringida. Se presentan métodos para determinar el mínimo o el
máximo de una función con una sola variable. Se examinan tres métodos: búsqueda de
la sección dorada, interpolación cuadrática y el método de Newton. Tales métodos
tienen también relevancia en la optimización multidimensional.
El capítulo 14 cubre dos tipos generales de métodos para resolver problemas de opti-
mización multidimensional no restringida. Los métodos directos, tales como búsquedas
aleatorias, búsquedas univariadas y búsquedas de patrones, no requieren la evaluación
de las derivadas de la función. Por otro lado, los métodos de gradiente utilizan la primera
o la segunda derivada para encontrar el óptimo. En este capítulo se introduce el gradiente
y el hessiano, que son las representaciones multidimensionales de la primera y la segunda
derivada. El método de paso ascendente/descendente se estudia después con detalle. A
esto le siguen descripciones de algunos métodos avanzados: el gradiente conjugado, el
método de Newton, el método de Marquardt y los métodos cuasi-Newton.
En el capítulo 15 se dedica a la optimización restringida. La programación lineal
se describe con detalle usando tanto la representación gráfica como el método simplex.
El análisis detallado de optimización restringida no lineal está fuera del alcance de este
texto; no obstante, se ofrece una visión general de los principales métodos. Además, se
ilustra cómo tales problemas (junto con los estudiados en los capítulos 13 y 14) se re-
suelven con bibliotecas y paquetes de software, como Excel, MATLAB e IMSL.
PT4.3 ORIENTACIÓN 361
CAPÍTULO 13
Optimización
unidimensional
no restringida
PARTE 4
Optimización
CAPÍTULO 14
Optimización
multidimensional
no restringida
CAPÍTULO 15
Optimización
restringida
CAPÍTULO 16
Aplicaciones en
ingeniería:
optimización
EPÍLOGO
14.2
Métodos de
gradiente
14.1
Métodos
directos
PT4.2
Antecedentes
matemáticos
PT4.5
Referencias
adicionales
16.4
Ingeniería
mecánica
16.3
Ingeniería
eléctrica
16.2
Ingeniería
civil
16.1
Ingeniería
química
15.1
Programación
lineal
15.3
Bibliotecas y
paquetes 15.2
Optimización
restringida
no lineal
PT4.4
Alternativas
PT4.3
Orientación
PT4.1
Motivación
13.2
Interpolación
cuadrática
13.3
Método de
Newton
13.1
Búsqueda de la
sección dorada
FIGURA PT4.5
Representación de la organización del material en la parte cuatro: Optimización.
En el capítulo 16 se extienden los conceptos anteriores a problemas que se presen-
tan en la ingeniería. Se utilizan las aplicaciones en ingeniería para ilustrar cómo se
formulan los problemas de optimización, y para dar una visión sobre la aplicación de las
técnicas de solución en la práctica profesional.
Se incluye un epílogo al final de la parte cuatro. Éste contiene un repaso de los
métodos analizados en los capítulos 13, 14 y 15. Dicho repaso da una descripción de las
362 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
ventajas y desventajas relacionadas con el uso apropiado de cada técnica. Esta sección
también presenta referencias acerca de algunos métodos numéricos que van más allá del
alcance de este libro.
PT4.3.2 Metas y objetivos
Objetivos de estudio. Después de estudiar la parte cuatro, usted tendrá suficiente
información para abordar con éxito una amplia variedad de problemas que se presentan
en la ingeniería, relacionados con la optimización. En general, usted deberá dominar las
técnicas, habrá aprendido a evaluar su confiabilidad y será capaz de analizar métodos
alternativos para un problema específico. Además, de estas metas generales, deberán
asimilarse los conceptos específicos dados en la tabla PT4.2 para un aprendizaje com-
pleto del material de la parte cuatro.
Objetivos de cómputo. Usted deberá ser capaz de escribir un subprograma que lleve
a cabo una búsqueda simple unidimensional (como la búsqueda de la sección dorada o
la interpolación cuadrática) y multidimensional (como el método de búsqueda aleatoria).
Además, como las bibliotecas de programas IMSL y los paquetes de software Excel o
MATLAB tienen varias capacidades para optimización. Usted puede usar esta parte del
libro para familiarizarse con todas estas capacidades.
TABLA PT4.2 Objetivos específicos de estudio de la parte cuatro.
1. Entender por qué y dónde se presenta la optimización al resolver problemas de ingeniería.
2. Comprender los principales elementos del problema de optimización general: función objetivo,
variables de decisión y restricciones.
3. Ser capaz de distinguir entre la optimización lineal y la no lineal, y entre problemas con
restricciones y sin restricciones.
4. Poder definir la razón dorada y comprender cómo hace que la optimización unidimensional sea
eficiente.
5. Localizar el óptimo de una función en una sola variable mediante la búsqueda de la sección
dorada, la interpolación cuadrática y el método de Newton. También, reconocer las ventajas
y desventajas de tales métodos, especialmente en relación con los valores iniciales y la
convergencia.
6. Escribir un programa y encontrar el óptimo de una función multivariada usando la búsqueda
aleatoria.
7. Comprender las ideas de los patrones de búsqueda, las direcciones conjugadas y el método de
Powell.
8. Definir y evaluar el gradiente y el hessiano de una función multivariada, tanto en forma analítica
como numérica.
9. Calcular a mano el óptimo de una función con dos variables, usando el método de paso
ascendente-descendente.
10. Comprender las ideas básicas de los métodos del gradiente conjugado, de Newton, de
Marquardt y de cuasi-Newton. En particular, entender las ventajas y las desventajas de los
diferentes métodos, y reconocer cómo cada uno mejora el de paso ascendente-descendente.
11. Reconocer y plantear un problema de programación lineal para representar problemas aplicables
a la ingeniería.
12. Resolver un problema de programación lineal bidimensional con ambos métodos: el gráfico y el
simplex.
13. Comprender los cuatro posibles resultados de un problema de programación lineal.
14. Plantear y resolver problemas de optimización restringidos no lineales utilizando un paquete de
software.
CAPÍTULO 13
Optimización unidimensional
no restringida
Esta sección describirá técnicas para encontrar el mínimo o el máximo de una función
de una sola variable, f(x). Una imagen útil que muestra lo anterior es la consideración
unidimensional a la “montaña rusa”, como la función representada en la figura 13.1.
Recuerde que en la parte dos, la localización de una raíz fue complicada por el hecho
de que una sola función puede tener varias raíces. De manera similar, los valores óptimos
tanto locales como globales pueden presentarse en problemas de optimización. A tales
casos se les llama multimodales. En casi todos los ejemplos, estaremos interesados en
encontrar el valor máximo o mínimo absoluto de una función. Así, debemos cuidar de
no confundir un óptimo local con un óptimo global.
Distinguir un extremo global de un extremo local puede ser generalmente un proble-
ma difícil. Existen tres formas comunes de resolver este problema. Primero, una idea del
comportamiento de las funciones unidimensionales algunas veces llega a obtenerse en
forma gráfica. Segundo, determinar el valor óptimo con base en valores iniciales, los
cuales varían ampliamente y son generados quizá en forma aleatoria, para después se-
leccionar el mayor de éstos como el global. Por último, cambiar el punto de inicio aso-
ciado con un óptimo local y observar si la rutina empleada da un mejor punto, o siempre
regresa al mismo punto. Aunque estos métodos tienen su utilidad, el hecho es que en
algunos problemas (usualmente los más grandes) no existe una forma práctica de asegu-
rarse de que se ha localizado un valor óptimo global. Sin embargo, aunque debe tenerse
cuidado se tiene la fortuna de que en muchos problemas de la ingeniería se localiza el
óptimo global en forma no ambigua.
FIGURA 13.1
Una función que se aproxima asintóticamente a cero en más y menos ∞ y que tiene dos
puntos máximos y dos puntos mínimos en la vecindad del origen. Los dos puntos a la
derecha son los óptimos locales; mientras que los dos de la izquierda son globales.
Máximo
local
Mínimo
local
Mínimo
global
Máximo
global
f(x)
x
364 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
Como en la localización de raíces, los problemas de optimización unidimensionales
se pueden dividir en métodos cerrados y métodos abiertos. Como se describirá en la
próxima sección, la búsqueda por sección dorada es un ejemplo de un método cerrado
que depende de los valores iniciales que encierran un solo valor óptimo. Éste es seguido
por un procedimiento cerrado algo más sofisticado (la interpolación cuadrática).
El método final descrito en este capítulo es un método abierto que está basado en
la idea del cálculo para encontrar el mínimo o máximo al resolver ƒ′(x) = 0. Esto reduce
el problema de optimización al encontrar la raíz de ƒ′(x) mediante las técnicas que se
describen en la parte dos. Se mostrará una versión del método de Newton.
13.1 BÚSQUEDA DE LA SECCIÓN DORADA
En la búsqueda de la raíz de una ecuación no lineal, el objetivo era encontrar el valor de x
quedieraceroalsustituirenlafunciónf(x).Laoptimizaciónenunasolavariabletienecomo
objetivo encontrar el valor de x que da un extremo, ya sea un máximo o un mínimo de f(x).
La búsqueda de la sección dorada es una técnica, de búsqueda para una sola varia-
ble, sencilla y de propósito general. Es igual en esencia al método de la bisección para
localizar raíces (capítulo 5). Recuerde que la bisección depende de la definición de un
intervalo, especificado por los valores iniciales inferior (xl) y superior (xu), que encierran
una sola raíz. La presencia de una raíz entre estos límites se verificó determinando que
f(xl) y f(xu) tuvieran signos diferentes. La raíz se estima entonces como el punto medio
de este intervalo,
x
x x
r
l u
=
+
2
Cualquier paso en una iteración por bisección permite determinar un intervalo más
pequeño. Esto se logra al reemplazar cualquiera de los límites, xl o xu, que tuvieran un
valor de la función con el mismo signo que f(xr). Un efecto útil de este método es que el
nuevo valor xr reemplazará a uno de los límites anteriores.
Es posible desarrollar un procedimiento similar para localizar el valor óptimo de
una función unidimensional. Por simplicidad, nos concentraremos en el problema
de encontrar un máximo. Cuando se analice el algoritmo de cómputo, se describirán las
pequeñas modificaciones necesarias para determinar un mínimo.
Como en el método de la bisección, se puede comenzar por definir un intervalo que
contenga una sola respuesta. Es decir, el intervalo deberá contener un solo máximo, y
por esto se llama unimodal. Podemos adoptar la misma nomenclatura que para la bisec-
ción, donde xl y xu definen los límites inferior y superior, respectivamente, del intervalo.
Sin embargo, a diferencia de la bisección se necesita una nueva estrategia para encontrar
un máximo dentro del intervalo. En vez de usar solamente dos valores de la función (los
cuales son suficientes para detectar un cambio de signo y, por lo tanto, un cero), se ne-
cesitarán tres valores de la función para detectar si hay un máximo. Así, hay que escoger
un punto más dentro del intervalo. Después, hay que tomar un cuarto punto. La prueba
para el máximo podrá aplicarse para determinar si el máximo se encuentra dentro de
los primeros tres o de los últimos tres puntos.
La clave para hacer eficiente este procedimiento es la adecuada elección de los pun-
tos intermedios. Como en la bisección, la meta es minimizar las evaluaciones de la
función reemplazando los valores anteriores con los nuevos. Esta meta se puede alcanzar
especificando que las siguientes dos condiciones se satisfagan (figura 13.2):
  
0 1 2
= + (13.1)




1
0
2
1
= (13.2)
La primera condición especifica que la suma de las dos sublongitudes l,1 y l,2 debe ser
igual a la longitud original del intervalo. La segunda indica que el cociente o razón entre
las longitudes debe ser igual. La ecuación (13.1) se sustituye en la (13.2),

 


1
1 2
2
1
+
= (13.3)
Si se toma el recíproco y R = l2/l1, se llega a
1
1
+ =
R
R
(13.4)
o
R2
+ R – 1 = 0 (13.5)
de la cual se obtiene la raíz positiva
R =
− + − −
=
−
= …
1 1 4 1
2
5 1
2
0 61803
( )
. (13.6)
Este valor, que se conoce desde la antigüedad, se llama razón dorada o razón áurea
(véase el cuadro 13.l). Como permite encontrar el valor óptimo en forma eficiente, es el
Máximo
Primera
iteración
Segunda
iteración
f (x)
x
xu
xl
ᐉ0
ᐉ1
ᐉ2
ᐉ2
FIGURA 13.2
El paso inicial en el algoritmo de búsqueda de la sección dorada consiste en elegir dos
puntos interiores de acuerdo con la razón dorada.
13.1 BÚSQUEDA DE LA SECCIÓN DORADA 365
366 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
elemento clave del método de la sección dorada que hemos estado desarrollando. Ahora
construyamos un algoritmo para implementar este procedimiento en la computadora.
Como se mencionó antes y se ilustra en la figura 13.4, el método comienza con dos
valores iniciales, xl y xu, que contienen un extremo local de f(x). Después, se eligen
dos puntos interiores x1 y x2 de acuerdo con la razón dorada,
d x x
u l
=
−
−
5 1
2
( )
x1 = xl + d
x2 = xu – d
La función se evalúa en estos dos puntos interiores. Dos casos pueden presentarse:
1. Si, como es el caso en la figura 13.4, f(x1)  f(x2), entonces el dominio de x a la iz-
quierda de x2, de xl a x2, se puede eliminar, ya que no contiene el máximo. En este
caso, x2 será el nuevo xl en la siguiente vuelta.
2. Si f(x2)  f(x1), entonces el dominio de x a la derecha de x1, de x1 a xu podrá elimi-
narse. En este caso, x1 será el nuevo xu en la siguiente iteración.
En muchas culturas, a ciertos números se les otorgan algunas
cualidades. Por ejemplo, en Occidente se suele decir “el 7 de la
suerte” y “el funesto viernes 13”. Los antiguos griegos llamaron
al siguiente número la “razón dorada” o áurea:
5 1
2
0 61803
−
= . ...
Esta razón fue empleada con un gran número de propósitos, in-
cluyendo el desarrollo del rectángulo de la figura 13.3. Tales
proporciones fueron consideradas por los griegos como estética-
mente agradables. Entre otras cosas, muchos de los templos si-
guieron esta forma.
La razón dorada se relaciona con una importante sucesión
matemática conocida como los números de Fibonacci, que son
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...
Cada número después de los dos primeros representa la suma
de los dos precedentes. Esta secuencia aparece en diversas áreas
de la ciencia y la ingeniería. En el contexto del presente análisis,
una interesante propiedad de la sucesión de Fibonacci relaciona
la razón entre números consecutivos de la serie; es decir, 0/1 =
0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.667, 3/5 = 0.6, 5/8 = 0.625, 8/13 =
0.615, y así sucesivamente. La razón entre números consecutivos
se va aproximando a la razón dorada.
Cuadro 13.1 La razón dorada y los números de Fibonacci
0.61803
1
FIGURA 13.3
El Partenón de Atenas, Grecia, fue construido en el siglo V
antes de Cristo. Sus dimensiones frontales se ajustan casi
exactamente a un rectángulo dorado.
Ahora, ésta es la ventaja real del uso de la razón dorada. Debido a que los x1 y x2
originales se han escogido mediante la razón dorada, no se tienen que recalcular todos
los valores de la función en la siguiente iteración. Por ejemplo, en el caso ilustrado en la
figura 13.4, el anterior x1 será el nuevo x2. Esto significa que ya se tiene el valor para el
nuevo f(x2), puesto que es el mismo valor de la función en el anterior x1.
Para completar el algoritmo, ahora sólo se necesita determinar el nuevo x1. Esto se
realiza usando la misma proporcionalidad que antes,
x x x x
l u l
1
5 1
2
= +
−
−
( )
Un procedimiento similar podría usarse en el caso en que el óptimo caiga del lado iz-
quierdo del subintervalo.
Conforme las iteraciones se repiten, el intervalo que contiene el extremo se reduce
rápidamente. De hecho, en cada iteración el intervalo se reduce en un factor de la razón
dorada (aproximadamente 61.8%). Esto significa que después de 10 iteraciones, el in-
tervalo se acorta aproximadamente en 0.61810
o 0.008 o 0.8% de su longitud inicial.
Después de 20 iteraciones, se encuentra en 0.0066%. Esta reducción no es tan buena
como la que se alcanza con la bisección; aunque éste es un problema más difícil.
Extremo
(máximo)
Eliminar
f (x)
x
x1
xl d
xu
x2 d
a)
f (x)
x
x2 x1
xl
x1 anterior
x2 anterior
xu
b)
FIGURA 13.4
a) El paso inicial del algoritmo de búsqueda de la sección dorada involucra escoger dos
puntos interiores de acuerdo con la razón dorada. b) El segundo paso implica definir un
nuevo intervalo que incluya el valor óptimo.
13.1 BÚSQUEDA DE LA SECCIÓN DORADA 367
368 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
EJEMPLO 13.1 Búsqueda de la sección dorada
Planteamiento del problema. Use la búsqueda de la sección dorada para encontrar
el máximo de
f x x
x
( ) –
= 2
10
2
sen
dentro del intervalo xl = 0 y xu = 4.
Solución. Primero, se utiliza la razón dorada para crear los dos puntos interiores
d =
−
− =
5 1
2
4 0 2 472
( ) .
x1 = 0 + 2.472 = 2.472
x2 = 4 – 2.472 = 1.528
Se evalúa la función en los puntos interiores
f x f
( ) ( . ) ( . )
.
.
2
2
1 528 2 1 528
1 528
10
1 765
= = − =
sen
f(x1) = f(2.472) = 0.63
Debido a que f(x2)  f(x1), el máximo está en el intervalo definido por xl, x2 y x1.
Así, para el nuevo intervalo, el límite inferior sigue siendo xl = 0, y x1 será el límite su-
perior; esto es, xu = 2.472. Además, el primer valor x2 pasa a ser el nuevo x1; es decir,
x1 = 1.528. Asimismo, no se tiene que recalcular f(x1) ya que se determinó en la iteración
previa como f(1.528) = 1.765.
Todo lo que falta es calcular la nueva razón dorada y x2,
d =
−
− =
5 1
2
2 472 0 1 528
( . ) .
x2 = 2.4721 – 1.528 = 0.944
La evaluación de la función en x2 es f(0.994) = 1.531. Como este valor es menor que
el valor de la función en x1, el máximo está en el intervalo dado por x2, x1 y xu.
Si el proceso se repite, se obtienen los resultados tabulados a continuación:
i xl f(xl) x2 f(x2) x1 f(x1) xu f(xu) d
1 0 0 1.5279 1.7647 2.4721 0.6300 4.0000 –3.1136 2.4721
2 0 0 0.9443 1.5310 1.5279 1.7647 2.4721 0.6300 1.5279
3 0.9443 1.5310 1.5279 1.7647 1.8885 1.5432 2.4721 0.6300 0.9443
4 0.9443 1.5310 1.3050 1.7595 1.5279 1.7647 1.8885 1.5432 0.5836
5 1.3050 1.7595 1.5279 1.7647 1.6656 1.7136 1.8885 1.5432 0.3607
6 1.3050 1.7595 1.4427 1.7755 1.5279 1.7647 1.6656 1.7136 0.2229
7 1.3050 1.7595 1.3901 1.7742 1.4427 1.7755 1.5279 1.7647 0.1378
8 1.3901 1.7742 1.4427 1.7755 1.4752 1.7732 1.5279 1.7647 0.0851
Observe que el máximo está resaltado en cada iteración. Después de ocho iteracio-
nes, el máximo se encuentra en x = 1.4427 con un valor de la función 1.7755. Así, el
resultado converge al valor verdadero, 1.7757, en x = 1.4276.
Recuerde que en la bisección (sección 5.2.1), se puede calcular un límite superior
exacto para el error en cada iteración. Usando un razonamiento similar, un límite supe-
rior para la búsqueda de la sección dorada se obtiene como sigue. Una vez que se termi-
na una iteración, el valor óptimo estará en uno de los dos intervalos. Si x2 es el valor
óptimo de la función, estará en el intervalo inferior (xl, x2, x1). Si x1 es el valor óptimo
de la función, estará en el intervalo superior (x2, x1, xu). Debido a que los puntos interio-
res son simétricos, se utiliza cualquiera de los casos para definir el error.
Observando el intervalo superior, si el valor verdadero estuviera en el extremo iz-
quierdo, la máxima distancia al valor estimado sería
∆xa = xl – x2
= xl + R(xu – xl) – xu + R(xu – xl)
= (xl – xu) + 2R(xu – xl)
= (2R – 1)(xu – xl)
o 0.236(xu – xl)
Si el valor verdadero estuviera en el extremo derecho, la máxima distancia al valor
estimado sería
∆xb = xu – x1
= xu – xl – R(xu – xl)
= (1 – R)(xu – xl)
o 0.382(xu – xl). Por lo tanto, este caso podría representar el error máximo. Este resulta-
do después se normaliza al valor óptimo de esa iteración, xópt, para dar
εa
u l
R
x x
x
= −
−
( ) %
1 100
ópt
Esta estimación proporciona una base para terminar las iteraciones.
En la figura 13.5a se presenta el seudocódigo del algoritmo para la búsqueda de la
sección dorada en la maximización. En la figura 13.5b se muestran las pequeñas modi-
ficaciones para convertir el algoritmo en una minimización. En ambas versiones el valor
x para el óptimo se regresa como el valor de la función (dorado). Además, el valor de
f(x) óptimo se regresa como la variable f(x).
Usted se preguntará por qué hemos hecho énfasis en reducir las evaluaciones de la
función para la búsqueda de la sección dorada. Por supuesto, para resolver una sola
optimización, la velocidad ahorrada podría ser insignificante. Sin embargo, existen dos
importantes casos donde minimizar el número de evaluaciones de la función llega a
ser importante. Éstos son:
13.1 BÚSQUEDA DE LA SECCIÓN DORADA 369
370 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
FIGURA 13.5
Algoritmo para la búsqueda
de la sección dorada.
1. Muchas evaluaciones. Hay casos donde el algoritmo de búsqueda de la sección
dorada puede ser parte de otros cálculos. Entonces, éste podría ser llamado muchas
veces. Por lo tanto, mantener el número de evaluaciones de la función en un mínimo
ofrecería dar grandes ventajas en tales casos.
FUNCTION Gold (xlow, xhigh, maxit, es, fx)
R = (50.5
– 1)/2
xᐉ = xlow; xu = xhigh
iter = 1
d = R * (xu – xᐉ)
x1 = xᐉ + d; x2 = xu – d
f1 = f(x1)
f2 = f(x2)
IF f1  f2 THEN IF f1  f2 THEN
xopt = x1
fx = f1
ELSE
xopt = x2
fx = f2
END IF
DO
d = R*d
IF f1  f2 THEN IF f1  f2 THEN
xᐉ = x2
x2 = x1
x1 = xᐉ+d
f2 = f1
f1 = f(x1)
ELSE
xu = x1
x1 = x2
x2 = xu–d
f1 = f2
f2 = f(x2)
END IF
iter = iter+1
IF f1  f2 THEN IF f1  f2 THEN
xopt = x1
fx = f1
ELSE
xopt = x2
fx = f2
END IF
IF xopt ≠ 0. THEN
ea = (1.
–R) *ABS((xu – xᐉ)/xopt) * 100.
END IF
IF ea ≤ es OR iter ≥ maxit EXIT
END DO
Gold = xopt
END Gold
a) Maximización b) Minimización
2. Evaluaciones que toman mucho tiempo. Por razones didácticas, se usan funciones
simples en la mayoría de nuestros ejemplos. Usted deberá tener en cuenta que una
función puede ser muy compleja y consumir mucho tiempo en su evaluación. Por
ejemplo, en una parte posterior de este libro, se describirá cómo se utiliza la opti-
mización para estimar los parámetros de un modelo que consiste de un sistema de
ecuaciones diferenciales. En tales casos, la “función” comprende la integración del
modelo que tomarían mucho tiempo. Cualquier método que minimice tales evalua-
ciones resultará provechoso.
13.2 INTERPOLACIÓN CUADRÁTICA
La interpolación cuadrática aprovecha la ventaja de que un polinomio de segundo grado
con frecuencia proporciona una buena aproximación a la forma de f(x) en las cercanías
de un valor óptimo (figura 13.6).
Así como existe sólo una línea recta que pasa por dos puntos, hay únicamente una
ecuación cuadrática o parábola que pasa por tres puntos. De esta forma, si se tiene tres
puntos que contienen un punto óptimo, se ajusta una parábola a los puntos. Después se
puede derivar e igualar el resultado a cero, y así obtener una estimación de la x óptima.
Es posible demostrar mediante algunas operaciones algebraicas que el resultado es
x
f x x x f x x x f x x x
f x x x f x x x f x x x
3
0 1
2
2
2
1 2
2
0
2
2 0
2
1
2
0 1 2 1 2 0 2 0 1
2 2 2
=
− + − + −
− + − + −
( )( ) ( )( ) ( )( )
( )( ) ( )( ) ( )( )
(13.7)
donde x0, x1 y x2 son los valores iniciales, y x3 es el valor de x que corresponde al valor
máximo del ajuste cuadrático para los valores iniciales.
FIGURA 13.6
Descripción gráfica de la interpolación cuadrática.
Aproximación
cuadrática del
máximo
Función
cuadrática
Máximo real
Función real
f (x)
x
x0 x1 x3 x2
13.2 INTERPOLACIÓN CUADRÁTICA 371
372 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
EJEMPLO 13.2 Interpolación cuadrática
Planteamiento del problema. Use la interpolación cuadrática para aproximar el
máximo de
f x x
x
( ) = −
2
10
2
sen
con los valores iniciales x0 = 0, x1 = 1 y x2 = 4.
Solución. Se evalúa la función en los tres valores iniciales,
x0 = 0 f(x0) = 0
x1 = 1 f(x1) = 1.5829
x2 = 4 f(x2) = –3.1136
y sustituyendo en la ecuación (13.7) se obtiene,
x3
2 2 2 2 2 2
0 1 4 1 5829 4 0 3 1136 0 1
2 0 1 4 2 1 5829 4 0 2 3 1136 0 1
1 5055
=
− + − + − −
− + − + − −
=
( ) . ( ) ( . )( )
( )( ) ( . )( ) ( . )( )
.
para la cual el valor de la función es f(1.5055) = 1.7691.
Después, se emplea una estrategia similar a la de la búsqueda de la sección dorada
para determinar qué punto se descartará. Ya que el valor de la función en el nuevo pun-
to es mayor que en el punto intermedio (x1) y el nuevo valor de x está a la derecha del
punto intermedio, se descarta el valor inicial inferior (x0). Por lo tanto, para la próxima
iteración,
x0 = 1 f(x0) = 1.5829
x1 = 1.5055 f(x1) = 1.7691
x2 = 4 f(x2) = –3.1136
los valores se sustituyen en la ecuación (13.7) para obtener
x3
2 2 2 2 2 2
1 5829 1 5055 4 1 7691 4 1 3 1136 1 1 5055
2 1 5829 1 5055 4 2 1 7691 4 1 2 3 1136 1 1 5055
=
− + − + − −
− + − + −
. ( . ) . ( ) ( . )( . )
( . )( . ) ( . )( ) ( . )( – . )
= 1.4903
para el cual el valor de la función es f(1.4903) = 1.7714.
El proceso se puede repetir, dando los resultados tabulados abajo:
i x0 f(x0) x1 f(x1) x2 f(x2) x3 f(x3)
1 0.0000 0.0000 1.0000 1.5829 4.0000 –3.1136 1.5055 1.7691
2 1.0000 1.5829 1.5055 1.7691 4.0000 –3.1136 1.4903 1.7714
3 1.0000 1.5829 1.4903 1.7714 1.5055 1.7691 1.4256 1.7757
4 1.0000 1.5829 1.4256 1.7757 1.4903 1.7714 1.4266 1.7757
5 1.4256 1.7757 1.4266 1.7757 1.4903 1.7714 1.4275 1.7757
Así, con cinco iteraciones, el resultado converge rápidamente al valor verdadero: 1.7757
en x = 1.4276.
Debemos mencionar que como en el método de la falsa posición, en la interpolación
cuadrática puede ocurrir que sólo se retenga un extremo del intervalo. Así, la conver-
gencia puede ser lenta. Como prueba de lo anterior, observe que en nuestro ejemplo,
1.0000 fue un punto extremo en la mayoría de las iteraciones.
Este método, así como otros que usan polinomios de tercer grado, se pueden formu-
lar como parte de los algoritmos que contienen tanto pruebas de convergencia, como
cuidadosas estrategias de selección para los puntos que habrán de retenerse en cada
iteración y formas para minimizar la acumulación del error de redondeo. En particular,
consulte el método de Brent en Press y colaboradores (1992).
13.3 MÉTODO DE NEWTON
Recuerde que el método de Newton-Raphson del capítulo 6 es un método abierto que
permite encontrar la raíz x de una función de tal manera que f(x) = 0. El método se re-
sume como
x x
f x
f x
i i
i
i
+ = −
′
1
( )
( )
Se utiliza un método abierto similar para encontrar un valor óptimo de f(x) al defi-
nir una nueva función, g(x) = ƒ′(x). Así, como el mismo valor óptimo x* satisface ambas
funciones
ƒ′(x*) = g(x*) = 0
se emplea lo siguiente
x x
f x
f x
i i
i
i
+ = −
′
′′
1
( )
( )
(13.8)
como una técnica para encontrar el mínimo o máximo de f(x). Se deberá observar que
esta ecuación también se obtiene escribiendo una serie de Taylor de segundo orden para
f(x) e igualando la derivada de la serie a cero. El método de Newton es abierto y similar
al de Newton-Raphson, pues no requiere de valores iniciales que contengan al óptimo.
Además, también tiene la desventaja de que llega a ser divergente. Por último, usualmen-
te es una buena idea verificar que la segunda derivada tenga el signo correcto para
confirmar que la técnica converge al resultado deseado.
EJEMPLO 13.3 Método de Newton
Planteamiento del problema. Con el método de Newton encuentre el máximo de
f x x
x
( ) = −
2
10
2
sen
con un valor inicial de x0 = 2.5.
13.3 MÉTODO DE NEWTON 373
374 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
Solución. La primera y segunda derivadas de la función se calculan para obtener
′ = −
f x x
x
( ) cos
2
5
′′ = − −
f x x
( ) 2
1
5
sen
las cuales se sustituyen en la ecuación (13.8) para llegar a
x x
x x
x
i i
i i
i
+ = −
−
−
1
2 5
2 1 5
cos /
– /
sen
Al sustituir el valor inicial se obtiene
x1 2 5
2 2 5 2 5 5
2 2 5 1 5
0 99508
= −
−
− −
=
.
cos . . /
. /
.
sen
para la cual el valor de la función es 1.57859. La segunda iteración da
x1 0 995
2 0 995 0 995 5
2 0 995 1 5
1 46901
= −
−
− −
=
.
cos . . /
. /
.
sen
que tiene como valor de la función 1.77385.
El proceso se repite, dando los resultados abajo tabulados:
i x f(x) f’(x) f”(x)
0 2.5 0.57194 –2.10229 –1.39694
1 0.99508 1.57859 0.88985 –1.87761
2 1.46901 1.77385 –0.09058 –2.18965
3 1.42764 1.77573 –0.00020 –2.17954
4 1.42755 1.77573 0.00000 –2.17952
Así, después de cuatro iteraciones, el resultado converge en forma rápida al valor verda-
dero.
Aunque el método de Newton funciona bien en algunos casos, no es práctico en
otros donde las derivadas no se pueden calcular fácilmente. En tales casos, hay otros
procedimientos que no implican la evaluación de la derivada. Por ejemplo, usando una
versión semejante al método de la secante, se pueden desarrollar aproximaciones en
diferencias finitas para las evaluaciones de la derivada.
Una desventaja importante de este método es que llega a diverger según sea la na-
turaleza de la función y la calidad del valor inicial. Así, usualmente se emplea sólo
cuando se está cerca del valor óptimo. Las técnicas híbridas que usan métodos cerrados
lejos del óptimo y los métodos abiertos cercanos al óptimo intentan aprovechar las
fortalezas de ambos procedimientos.
Esto concluye nuestro tratamiento de los métodos para encontrar el valor óptimo de
funciones en una sola variable. Algunos ejemplos de la ingeniería se presentan en el
capítulo 16. Por otra parte, las técnicas descritas aquí son un importante elemento
de algunos procedimientos para optimizar funciones multivariables, como se verá
en el siguiente capítulo.
13.1 Dada la fórmula
f(x) = –x2
+ 8x – 12
a) Determine en forma analítica (esto es, por medio de deriva-
ción) el valor máximo y el correspondiente de x para esta
función.
b) Verifique que la ecuación (13.7) produce los mismos resul-
tados con base en los valores iniciales de x0 = 0, x1 = 2 y
x2 = 6.
13.2 Dada la función
f(x) = –1.5x6
– 2x4
+ 12x
a) Grafique la función.
b) Utilice métodos analíticos para probar que la función es
cóncava para todos los valores de x.
c) Derive la función y después use algún método de localiza-
ción de raíces para resolver cuál es el máximo f(x) y el valor
correspondiente de x.
13.3 Encuentre el valor de x que maximiza f(x) en el problema
13.2 con el uso de la búsqueda de la sección dorada. Emplee
valores iniciales de xl = 0 y xu = 2 y realice tres iteraciones.
13.4 Repita el problema 13.3, pero utilice interpolación cuadrá-
tica. Emplee valores iniciales de x0 = 0, x1 = 1 y x2 = 2 y ejecute
tres iteraciones.
13.5 Repita el problema 13.3 pero use el método de Newton.
Utilice un valor inicial de x0 = 2 y lleve a cabo tres iteraciones.
13.6 Analice las ventajas y desventajas de la búsqueda de la
sección dorada, interpolación cuadrática y el método de Newton,
para localizar un valor óptimo en una dimensión.
13.7 Emplee los métodos siguientes para encontrar el máximo
de
f(x) = 4x – 1.8x2
+ 1.2x3
– 0.3x4
a) Búsqueda de la sección dorada (xl = –2, xu = 4, es = 1%).
b) Interpolación cuadrática (x0 = 1.75, x1 = 2, x2 = 2.5, itera-
ciones = 4).
c) Método de Newton (x0 = 3, es = 1%).
13.8 Considere la función siguiente:
f(x) = –x4
– 2x3
– 8x2
– 5x
Use los métodos analítico y gráfico para demostrar que la función
tiene un máximo para algún valor de x en el rango –2 ≤ x ≤ 1.
13.9 Emplee los métodos siguientes para encontrar el máximo
de la función del problema 13.8:
a) Búsqueda de la sección dorada (xl = –2, xu = 1, es = 1%).
b) Interpolación cuadrática (x0 = –2, x1 = –1, x2 = 1, iteraciones
= 4).
c) Método de Newton (x0 = –1, es = 1%).
13.10 Considere la función siguiente:
f x x
x
( ) = +
2
3
Ejecute 10 iteraciones de interpolación cuadrática para localizar
el mínimo. Haga comentarios acerca de la convergencia de sus
resultados. (x0 = 0.1, x1 = 0.5, x2 = 5).
13.11 Considere la función que sigue:
f(x) = 3 + 6x + 5x2
+ 3x3
+ 4x4
Localice el mínimo por medio de encontrar la raíz de la derivada
de dicha función. Utilice el método de bisección con valores
iniciales de xl = –2 y xu = 1.
13.12 Determine el mínimo de la función del problema 13.11
con los métodos siguientes:
a) Método de Newton (x0 = –1, es = 1%).
b) Método de Newton, pero con el uso de una aproximación en
diferencias finitas para las estimaciones de las derivadas:
′ =
+ − −
f x
f x x f x x
x
i
i i i i
i
( )
( ) ( )
δ δ
δ
2
′′ =
+ − − −
f x
f x x f x f x x
x
i
i i i i i
i
( )
( ) ( ) ( )
δ δ
δ
2
2
donde d = fracción de perturbación (= 0.01). Use un valor inicial
de x0 = –1 y haga iteraciones hasta que es = 1%.
13.13 Desarrolle un programa con el empleo de un lenguaje de
programación o de macros, para implantar el algoritmo de la
PROBLEMAS
PROBLEMAS 375
376 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA
búsqueda de la sección dorada. Diseñe el programa expresamen-
te para que localice un máximo. La subrutina debe tener las ca-
racterísticas siguientes:
• Iterar hasta que el error relativo esté por debajo de un criterio
de detención o exceda un número máximo de iteraciones.
• Dar los valores óptimos tanto de x como de f(x).
• Minimice el número de evaluaciones de la función.
Pruebe su programa con el mismo problema del ejemplo 13.1.
13.14 Desarrolle un programa como el que se describe en el
problema 13.13, pero haga que ejecute una minimización o una
maximización en función de la preferencia del usuario.
13.15 Desarrolle un programa por medio de un lenguaje de
programación o de macros, para implantar el algoritmo de la
interpolación cuadrática. Diseñe el programa de tal forma que
esté expresamente orientado para localizar un máximo. La su-
brutina debe tener las características siguientes:
• Estar basada en dos valores iniciales, y hacer que el pro-
grama genere el tercer valor inicial en el punto medio del
intervalo.
• Comprobar si los valores iniciales comprenden un máximo.
Si no fuera así, la subrutina no debe ejecutar el algoritmo,
sino enviar un mensaje de error.
• Iterar hasta que el error relativo esté por debajo de un
criterio de terminación o exceda un número máximo de
iteraciones.
• Dar los valores óptimos tanto de x como de f(x).
• Minimizar el número de evaluaciones de la función.
Pruebe su programa con el mismo problema del ejemplo 13.2.
13.16 Desarrolle un programa por medio de un lenguaje de
programación o de macros para implantar el método de Newton.
La subrutina debe tener las características siguientes:
• Iterar hasta que el error relativo esté por debajo de un
criterio de terminación o supere un número máximo de
iteraciones.
• Obtener los valores óptimos tanto de x como de f(x).
Pruebe su programa con el mismo problema del ejemplo 13.3.
13.17 En ciertos puntos atrás de un aeroplano se hacen medicio-
nes de la presión. Los datos tienen el mejor ajuste con la curva
y = 6 cos x – 1.5 sen x, desde x = 0 hasta 6 s. Utilice cuatro ite-
raciones del método de la búsqueda de la sección dorada para
encontrar la presión mínima. Elija xl = 2 y xu = 4.
13.18 La trayectoria de una pelota se calcula por medio de la
ecuación
y x
g
x y
= − +
(tan )
cos
θ
θ
0
0
2 2
0
2
0
2v
donde y = altura (m), q0 = ángulo inicial (radianes), v0 = veloci-
dad inicial (m/s), g = constante gravitacional = 9.81 m/s2, y y0 =
altura inicial (m). Use el método de la búsqueda de la sección
dorada para determinar la altura máxima dado que y0 = 1 m, v0
= 25 m/s y q0 = 50º. Haga iteraciones hasta que el error aproxi-
mado esté por debajo de es = 1%, con el uso de valores iniciales
de xl = 0 y xu = 60 m.
13.19 La deflexión de una trabe uniforme sujeta a una carga con
distribución creciente en forma lineal, se calcula con
y
EIL
x L x L x
= +
w0 5 2 3 4
120
2
(– – )
Dado que L = 600 cm, E = 50000 kN/cm2
, I = 30000 cm4
, y w0
= 2.5 kN/cm, determine el punto de deflexión máximo con los
métodos a) gráfico, b) de la búsqueda de la sección dorada has-
ta que el error aproximado esté por debajo de es = 1% con valo-
res iniciales de xl = 0 y xu = L.
13.20 Desde la superficie de la tierra, se lanza hacia arriba un
objeto con masa de 100 kg a una velocidad de 50 m/s. Si el ob-
jeto está sujeto a un arrastre lineal (c = 15 kg/s), use el método
de la búsqueda de la sección dorada para determinar la altura
máxima que alcanza el objeto. Recomendación: repase la sección
PT4.1.2.
13.21 La distribución normal es una curva con forma de cam-
pana definida por la ecuación
y e x
= − 2
Utilice el método de la búsqueda de la sección dorada para de-
terminar la ubicación del punto de deflexión de esta curva para
un valor positivo de x.
CAPÍTULO 14
Optimización multidimensional
no restringida
Este capítulo describe las técnicas para encontrar el mínimo o el máximo de una función
en varias variables. Recuerde que en el capítulo 13 nuestra imagen visual de una bús-
queda unidimensional fue como una montaña rusa. En el caso de dos dimensiones, la
imagen es como de montañas y valles (figura 14.1). Para problemas de más dimensiones,
no es posible implementar imágenes.
Se ha optado por limitar este capítulo al caso de dos dimensiones. Esto se debe a
que las características esenciales de las búsquedas multidimensionales se comunican
mejor de forma visual.
Las técnicas para la optimización multidimensional no restringida se clasifican de
varias formas. Para propósitos del presente análisis, se dividirán dependiendo de si se
requiere la evaluación de la derivada. Los procedimientos que no requieren dicha eva-
luación se llaman métodos sin gradiente o directos. Aquellos que requieren derivadas
se conocen como métodos de gradientes o métodos de descenso (o ascenso).
Líneas de f igual a una constante
x
x
y
f
y
a) b)
FIGURA 14.1
La forma más fácil de visualizar las búsquedas en dos dimensiones es en el contexto del
ascenso de una montaña (maximización) o del descenso a un valle (minimización). a) Mapa
topográfico bidimensional (2-D) de la montaña que corresponde a la gráfica tridimensional
(3-D) de la montaña en el inciso b).
378 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
14.1 MÉTODOS DIRECTOS
Estos métodos van desde procedimientos muy burdos hasta técnicas más elegantes que
intentan aprovechar la naturaleza de la función. Se empezará el análisis con un método
burdo.
14.1.1 Búsqueda aleatoria
Un simple ejemplo de los métodos burdos es el método de la búsqueda aleatoria. Como
su nombre lo indica, dicho método evalúa en forma repetida la función con los valores
seleccionados aleatoriamente de la variable independiente. Si el método se lleva a cabo
con un número suficiente de muestras, el óptimo eventualmente se localizará.
EJEMPLO 14.1 Método de la búsqueda aleatoria
Planteamiento del problema. Utilice un generador de números aleatorios para loca-
lizar el máximo de
f(x, y) = y – x – 2x2
– 2xy – y2
(E14.1.1)
en el dominio acotado por x = –2 a 2, y y = 1 a 3. El dominio se muestra en la figura
14.2. Observe que un solo máximo de 1.5 se encuentra en x = –1 y y = 1.5.
Solución. Por lo común, los generadores de números aleatorios proporcionan valores
entre 0 y 1. Si se designa a tal número como r, la siguiente fórmula se usa para generar
valores de x aleatorios en un rango entre xl y xu:
x = xl + (xu – xl)r
En el presente ejemplo, xl = –2 y xu = 2, y la fórmula es
x = –2 + (2 – (–2))r = –2 + 4r
FIGURA 14.2
Ecuación (E14.1.1) que muestra el máximo en x = –1 y y = 1.5.
2
1
0
0
0
–10
–20
Máximo
–1
–2
1
2
3
y
x
Esto se prueba al sustituir 0 y 1 para obtener –2 y 2, respectivamente.
De manera similar para y, una fórmula para el mismo ejemplo se desarrolla como
y = yl + (yu – yl)r = 1 + (3 – 1)r = 1 + 2r
El siguiente macrocódigo VBA de Excel utiliza la función número aleatorio Rnd
de VBA, para generar un par de valores (x, y) que se sustituyen en la ecuación (E.14.1.1).
El valor máximo obtenido en estos ensayos aleatorios se guarda en la variable maxf, y
los valores correspondientes de x y y en maxx y maxy, respectivamente.
maxf = –1E9
For j = 1 To n
x = –2 + 4 * Rnd
y = 1 + 2 * Rnd
fn = y – x – 2 * x ^ 2 – 2 * x * y – y ^ 2
If fn  maxf Then
maxf = fn
maxx = x
maxy = y
End If
Next j
Después de varias iteraciones se obtiene
Iteraciones x y f(x, y)
1000 –0.9886 1.4282 1.2462
2000 –1.0040 1.4724 1.2490
3000 –1.0040 1.4724 1.2490
4000 –1.0040 1.4724 1.2490
5000 –1.0040 1.4724 1.2490
6000 –0.9837 1.4936 1.2496
7000 –0.9960 1.5079 1.2498
8000 –0.9960 1.5079 1.2498
9000 –0.9960 1.5079 1.2498
10000 –0.9978 1.5039 1.2500
Los resultados indican que la técnica permite encontrar rápidamente el máximo verdadero.
Este simple procedimiento burdo funciona aun en discontinuidades y funciones no
diferenciables. Además, siempre encuentra el óptimo global más que el local. Su prin-
cipal deficiencia es que como crece el número de variables independientes, la implemen-
tación requerida llega a ser costosa. Además, no es eficiente, ya que no toma en cuenta
el comportamiento de la función. Los procedimientos siguientes descritos en este capí-
tulo sí toman en cuenta el comportamiento de la función, así como los resultados de las
iteraciones previas para mejorar la velocidad de convergencia. En consecuencia, aunque
la búsqueda aleatoria puede probar ser útil en un contexto de problemas específico, los
siguientes métodos tienen una utilidad más general y casi siempre tienen la ventaja de
lograr una convergencia más eficiente.
14.1 MÉTODOS DIRECTOS 379
380 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
Debemos hacer notar que se dispone de técnicas de búsqueda más sofisticadas.
Éstas constituyen procedimientos heurísticos que fueron desarrollados para resolver
problemas no lineales y/o discontinuos, que la optimización clásica usualmente no ma-
neja bien. La simulación de recocido, la búsqueda tabú, las redes neuronales artificiales
y los algoritmos genéticos son unos pocos ejemplos. El más ampliamente utilizado es el
algoritmo genético, en un número considerable de paquetes comerciales. En Holland
(1975), iniciador del procedimiento del algoritmo genético, y Davis (1991) y Goldberg
(1989) se encuentra un buen repaso de la teoría y la aplicación del método.
14.1.2 Búsquedas univariadas y búsquedas patrón
Es muy agradable tener un procedimiento de optimización eficiente que no requiera
evaluar las derivadas. El método de búsqueda aleatoria, previamente descrito, no requie-
re la evaluación de la derivada, pero no es muy eficiente. En esta sección se describe un
procedimiento, el método de búsqueda univariada, que es más eficiente y además no
requiere la evaluación de la derivada.
La estrategia básica del método de búsqueda univariada consiste en trabajar sólo
con una variable a la vez, para mejorar la aproximación, mientras las otras se mantienen
constantes. Puesto que únicamente cambia una variable, el problema se reduce a una
secuencia de búsquedas en una dimensión, que se resuelven con una diversidad de mé-
todos (dentro de ellos, los descritos en el capítulo 13).
Realicemos una búsqueda univariada por medio de una gráfica, como se muestra
en la figura 14.3. Se comienza en el punto 1, y se mueve a lo largo del eje x con y cons-
tante hacia el máximo en el punto 2. Se puede ver que el punto 2 es un máximo, al ob-
servar que la trayectoria a lo largo del eje x toca justo una línea de contorno en ese
punto. Luego, muévase a lo largo del eje y con x constante hacia el punto 3. Continúa
este proceso generándose los puntos 4, 5, 6, etcétera.
FIGURA 14.3
Descripción gráfica de cómo se presenta una búsqueda univariada.
6
4
5
3
1
2
y
x
Aunque se está moviendo en forma gradual hacia el máximo, la búsqueda comien-
za a ser menos eficiente al moverse a lo largo de una cresta angosta hacia el máximo. Sin
embargo, también observe que las líneas unen puntos alternados tales como 1-3, 3-5 o
2-4; 4-6 que van en la dirección general del máximo. Esas trayectorias presentan una
oportunidad para llegar directamente a lo largo de la cresta hacia el máximo. Dichas
trayectorias se denominan direcciones patrón.
Hay algoritmos formales que capitalizan la idea de las direcciones patrón para en-
contrar los valores óptimos de manera eficiente. El más conocido de tales algoritmos es
el método de Powell, el cual se basa en la observación (véase la figura 14.4) de que si los
puntos 1 y 2 se obtienen por búsquedas en una dimensión en la misma dirección, pero
con diferentes puntos de partida, entonces la línea formada por 1 y 2 estará dirigida
hacia el máximo. Tales líneas se llaman direcciones conjugadas.
En efecto, se puede demostrar que si f(x, y) es una función cuadrática, las búsquedas
secuenciales a lo largo de las direcciones conjugadas convergerán exactamente en un
número finito de pasos, sin importar el punto de partida. Puesto que una función no lineal
a menudo llega a ser razonablemente aproximada por una función cuadrática, los méto-
dos basados en direcciones conjugadas son, por lo común, bastante eficientes y de hecho
son convergentes en forma cuadrática conforme se aproximan al óptimo.
Se implementará en forma gráfica una versión simplificada del método de Powell
para encontrar el máximo de
f(x, y) = c – (x – a)2
– (y – b)2
donde a, b y c son constantes positivas. Esta ecuación representa contornos circulares
en el plano x, y, como se muestra en la figura 14.5.
Se inicia la búsqueda en el punto cero con las direcciones iniciales h1 y h2. Observe
que h1 y h2 no son necesariamente direcciones conjugadas. Desde cero, se mueve a lo
FIGURA 14.4
Direcciones conjugadas.
2
1
y
x
14.1 MÉTODOS DIRECTOS 381
382 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
largo de la dirección h1 hasta un máximo que se localiza en el punto 1. Después se bus-
ca el punto 1 a lo largo de la dirección h2 para encontrar el punto 2. Luego, se forma una
nueva dirección de búsqueda h3 a través de los puntos 0 y 2. Se busca a lo largo de esta
dirección hasta que se localice el máximo en el punto 3. Después la búsqueda va del
punto tres en la dirección h2 hasta que se localice el máximo en el punto 4. Del punto 4
se llega al punto 5, buscando de nuevo h3. Ahora, observe que ambos puntos, 5 y 3, se
ha localizado por búsqueda en la dirección h3, desde dos puntos diferentes. Powell ha
demostrado que h4 (formado por los puntos 3 y 5) y h3 son direcciones conjugadas. Así,
buscando desde el punto 5 a lo largo de h4, nos llevará directamente al máximo.
El método de Powell se puede refinar para volverse más eficiente; pero los algorit-
mos formales van más allá del alcance de este texto. Sin embargo, es un método eficien-
te que converge en forma cuadrática sin requerir evaluación de la derivada.
14.2 MÉTODOS CON GRADIENTE
Como su nombre lo indica, los métodos con gradiente utilizan en forma explícita infor-
mación de la derivada para generar algoritmos eficientes que localicen el óptimo. Antes
de describir los procedimientos específicos, primero se repasarán algunos conceptos y
operaciones matemáticos clave.
14.2.1 Gradientes y hessianos
Recuerde del cálculo que la primera derivada de una función unidimensional proporcio-
na la pendiente de la recta tangente a la función que se analiza. Desde el punto de vista
de la optimización, ésta es una información útil. Por ejemplo, si la pendiente es positiva,
FIGURA 14.5
Método de Powell.
2
3
0
1
4
5
h3
h2
h1
h2
h2 h3
h4
y
x
nos indica que al incrementar el valor de la variable independiente nos conducirá a un
valor más alto de la función que se está analizando.
Del cálculo, también recuerde que la primera derivada puede indicarnos cuándo se
ha encontrado un valor óptimo, puesto que éste es el punto donde la derivada toma el
valor de cero. Además, el signo de la segunda derivada puede indicarnos si se ha alcan-
zado un mínimo (positivo en la segunda derivada) o un máximo (negativo en la segunda
derivada).
Esas ideas fueron útiles en los algoritmos de búsqueda en una dimensión que se
estudiaron en el capítulo anterior. No obstante, para entender por completo las búsquedas
multidimensionales, se debe primero entender cómo se expresan la primera y la segun-
da derivada en un contexto multidimensional.
El gradiente. Suponga que se tiene una función en dos dimensiones f(x, y). Un ejem-
plo podría ser su altura sobre una montaña como una función de su posición. Suponga
que usted está en un lugar específico sobre la montaña (a, b) y quiere conocer la pen-
diente en una dirección arbitraria. Una forma de definir la dirección es a lo largo de un
nuevo eje h que forma un ángulo q con el eje x (figura 14.6). La elevación a lo largo de
un nuevo eje puede entenderse como una nueva función g(h). Si usted define su posición
como el origen de este eje (es decir, h = 0), la pendiente en esta dirección podría desig-
narse como g′(0). Esta pendiente, que se llama derivada direccional, se puede calcular
a partir de las derivadas parciales a lo largo de los ejes x y y mediante
′ =
∂
∂
∂
∂
g
f
x
f
y
( )
0 cos + sen
θ θ (14.1)
donde las derivadas parciales son evaluadas en x = a y y = b.
Suponiendo que su objetivo es obtener la mayor elevación con el siguiente paso,
ahora la pregunta lógica sería: ¿En qué dirección está el mayor paso de ascenso? La
FIGURA 14.6
El gradiente direccional se define a lo largo de un eje h que forma un ángulo q con el eje x.
x = a
y = b
h = 0
h
␪
y
x
14.2 MÉTODOS CON GRADIENTE 383
384 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
respuesta a esta pregunta es proporcionada mediante lo que matemáticamente se conoce
como el gradiente, el cual se define así:
∇ =
∂
∂
+
∂
∂
f
f
x
f
y
i j (14.2)
Este vector también se conoce como “nabla f ”, el cual se relaciona con la derivada di-
reccional de f(x, y) en el punto x = a y y = b.
La notación vectorial ofrece un medio conciso para generalizar el gradiente a n
dimensiones,
∇ƒ =
∂ƒ
∂
∂ƒ
∂
⋅
⋅
⋅
∂ƒ
∂
⎧
⎨
⎪
⎪
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎪
⎪
⎫
⎬
⎪
⎪
⎪
⎪
⎪
⎭
⎪
⎪
⎪
⎪
⎪
( )
( )
( )
( )
x
x
x
x
x
x
xn
1
2
¿Cómo se usa el gradiente? Para el problema de subir la montaña, si lo que interesa
es ganar elevación tan rápidamente como sea posible, el gradiente nos indica, de mane-
ra local, qué dirección tomar y cuánto ganaremos al hacerlo. Observe, sin embargo, que
dicha estrategia ¡no necesariamente nos lleva en una trayectoria directa a la cima! Más
tarde, en este capítulo, se analizarán estas ideas con mayor profundidad.
EJEMPLO 14.2 Utilización del gradiente para evaluar la trayectoria de máxima pendiente
Planteamiento del problema. Con el gradiente evalúe la dirección de máxima pen-
diente para la función
f(x, y) = xy2
en el punto (2, 2). Se considera que la x positiva está dirigida hacia el este y la y positiva
hacia el norte.
Solución. Primero, la elevación se determina así
f(4, 2) = 2(2)2
= 8
Ahora, se evalúan las derivadas parciales,
∂ƒ
∂
= = =
∂ƒ
∂
= = =
x
y
y
xy
2 2
2 4
2 2 2 2 8
( )( )
las cuales se usan para determinar el gradiente como
∇f = 4i + 8j
Este vector puede bosquejarse en un mapa topográfico de la función, como en la figura
14.7. Esto inmediatamente nos indica que la dirección que debe tomarse es
θ = ⎛
⎝
⎞
⎠
= °
tan radianes (= 63.4 )
–1 8
4
1 107
.
respecto al eje x. La pendiente en esta dirección, que es la magnitud de ∇f, se calcula así
4 8 8 944
2 2
+ = .
Así, durante el primer paso, inicialmente se ha ganado 8.944 unidades de aumento de
elevación por unidad de distancia recorrida a lo largo de esta trayectoria con la mayor
pendiente. Observe que la ecuación (14.1) da el mismo resultado,
g′(0) = 4 cos(1.107) + 8 sen(1.107) = 8.944
Observe que para cualquier otra dirección, digamos q = 1.107/2 = 0.5235, g′(0) = 4 cos
(0.5235) + 8 sen (0.5235) = 7.608, que es menor.
Conforme se mueve hacia adelante, cambiarán tanto la dirección como la magnitud
de la trayectoria de mayor pendiente. Estos cambios se pueden cuantificar a cada paso
mediante el gradiente y la dirección del ascenso se modificará de acuerdo con ello.
FIGURA 14.7
La flecha sigue la dirección del ascenso de mayor pendiente calculado con el gradiente.
0
0
1
2
3
4
1 2 3 4
y
x
8 24 40
14.2 MÉTODOS CON GRADIENTE 385
386 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
Se puede obtener una mejor comprensión al inspeccionar la figura 14.7. Como se
indica, la dirección de ascenso con mayor pendiente es perpendicular, u ortogonal, al
contorno en la elevación en la coordenada (2, 2). Ésta es una propiedad del gradiente.
Además de definir la trayectoria de mayor pendiente, también se utiliza la primera
derivada para determinar si se ha alcanzado un óptimo. Como en el caso para una función
de una dimensión, si las derivadas parciales con respecto a x y y son cero, se ha alcan-
zado el óptimo en dos dimensiones.
El hessiano. En problemas de una dimensión, tanto la primera como la segunda deri-
vada ofrecen información valiosa en la búsqueda del óptimo. La primera derivada
a) proporciona una trayectoria de máxima inclinación de la función y b) indica que se
ha alcanzado el óptimo. Una vez en el óptimo, la segunda derivada indicará si es un
máximo [f″(x) negativo] o un mínimo [f″(x) positivo]. En los párrafos anteriores, se
ilustró cómo el gradiente proporciona la mejor trayectoria en problemas multidimensio-
nales. Ahora, se examinará cómo se usa la segunda derivada en este contexto.
Puede esperarse que si las segundas derivadas parciales respecto de x y y son nega-
tivas ambas, entonces se ha alcanzado un máximo. La figura 14.8 muestra una función
en la que esto no es cierto. El punto (a, b) de esta gráfica parece ser un mínimo cuando
se observa a lo largo ya sea de la dimensión x o de la y. En ambos casos, las segundas
derivadas parciales son positivas. Sin embargo, si la función se observa a lo largo de la
FIGURA 14.8
Un punto silla (x = a y y = b). Observe que al ser vista la curva a lo largo de las direcciones
x y y, parece que la función pasa por un mínimo (la segunda derivada es positiva); mientras
que al verse a lo largo del eje x = y, es cóncava hacia abajo (la segunda derivada es
negativa).
f (x, y)
(a, b)
x
y
y = x
línea y = x, puede verse que se presenta un máximo en el mismo punto. Éste se conoce
como punto silla y, claramente, no se presentan ni un máximo ni un mínimo en ese
punto.
Ya sea que ocurra un máximo o un mínimo, esto involucra no sólo a las primeras
derivadas parciales con respecto a x y y, sino también a la segunda derivada parcial
respecto a x y y. Suponiendo que las derivadas parciales sean continuas en y cerca del
punto que se habrá de evaluar, se puede calcular la siguiente cantidad:
⏐ ⏐=
2
Η
∂
∂
∂
∂
∂
∂ ∂
⎛
⎝
⎜
⎞
⎠
⎟
f
x
f
y
f
x y
2
2
2
2 2
– (14.3)
Pueden presentarse tres casos:
• Si |H|  0 y ∂2
ƒ/∂x2
 0, entonces ƒ(x, y) tiene un mínimo local.
• Si |H|  0 y ∂2
ƒ/∂x2
 0, entonces ƒ(x, y) tiene un máximo local.
• Si |H|  0, entonces ƒ(x, y) tiene un punto silla.
La cantidad |H| es igual al determinante de una matriz formada con las segundas
derivadas,1
H
x x y
y x y
=
∂ ƒ
∂
∂ ƒ
∂ ∂
∂ ƒ
∂ ∂
∂ ƒ
∂
⎡
⎣
⎢
⎢
⎢
⎢
⎤
⎦
⎥
⎥
⎥
⎥
2
2
2
2 2
2
(14.4)
donde a esta matriz se le conoce formalmente como la hessiana de f.
Además de proporcionar un medio para discriminar si una función multidimensio-
nal ha alcanzado el óptimo, el hessiano tiene otros usos en optimización (por ejemplo,
en la forma multidimensional del método de Newton). En particular, permite búsquedas
que incluyen curvatura de segundo orden para obtener mejores resultados.
Aproximaciones por diferencias finitas. Se debe mencionar que en los casos donde
es difícil o inconveniente calcular analíticamente tanto el gradiente como el determi-
nante hessiano, éstos se pueden evaluar numéricamente. En la mayoría de los casos se
emplea el método que se presentó en la sección 6.3.3 para el método de la secante mo-
dificado. Es decir, las variables independientes se modifican ligeramente para generar
las derivadas parciales requeridas. Por ejemplo, si se adopta el procedimiento de dife-
rencias centrales, éstas se calculan así
∂ƒ
∂
=
ƒ + ƒ −
x
x x y x x y
x
( , ) – ( , )
δ δ
δ
2
(14.5)
∂ƒ
∂
=
ƒ + ƒ
y
x y y x y y
y
( , ) – ( , – )
δ δ
δ
2
(14.6)
14.2 MÉTODOS CON GRADIENTE 387
1
Observe que ∂2
f/(∂x∂y) = ∂2
f/(∂y ∂x).
388 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
∂ ƒ
∂
=
ƒ + ƒ + ƒ
2
2 2
2
x
x x y x y x x y
x
( , ) – ( , ) ( – , )
δ δ
δ
(14.7)
∂ ƒ
∂
=
ƒ + ƒ + ƒ
2
2 2
2
y
x y y x y x y y
y
( , ) – ( , ) ( , – )
δ δ
δ
(14.8)
∂ ƒ
∂ ∂
=
ƒ + + ƒ + ƒ + + ƒ
2
4
x y
x x y y x x y y x x y y x x y y
x y
( , ) – ( , – ) – ( – , ) ( – , – )
δ δ δ δ δ δ δ δ
δ δ
(14.9)
donde d es un valor fraccional muy pequeño.
Observe que los métodos empleados en paquetes de software comerciales también
usan diferencias hacia adelante. Además, son usualmente más complicados que las
aproximaciones enlistadas en las ecuaciones (14.5) a la (14.9). Por ejemplo, la biblioteca
IMSL basa la perturbación en el épsilon de la máquina. Dennis y Schnabel (1996) dan
más detalles sobre este método.
Sin importar cómo se implemente la aproximación, la cuestión importante es que
se pueda tener la opción de evaluar el gradiente y/o el hessiano en forma analítica. Esto
algunas veces puede resultar una tarea ardua; pero el comportamiento del algoritmo
puede ser benéfico para que el esfuerzo valga la pena. Las derivadas de forma cerrada
serán exactas; pero lo más importante es que se reduce el número de evaluaciones de la
función. Este último detalle tiene un impacto significativo en el tiempo de ejecución.
Por otro lado, usted practicará con frecuencia la opción de calcular estas cantidades
internamente mediante procedimientos numéricos. En muchos casos, el comportamien-
to será el adecuado y se evitará el problema de numerosas derivaciones parciales. Tal
podría ser el caso de los optimizadores utilizados en ciertas hojas de cálculo y paquetes
de software matemático (por ejemplo, Excel). En dichos casos, quizá no se le dé la op-
ción de introducir un gradiente y un hessiano derivados en forma analítica. Sin embargo,
para problemas de tamaño pequeño o moderado esto no representa un gran inconveniente.
14.2.2 Método de máxima inclinación
Una estrategia obvia para subir una colina sería determinar la pendiente máxima en la
posición inicial y después comenzar a caminar en esa dirección. Pero claramente surge
otro problema casi de inmediato. A menos que usted realmente tenga suerte y empiece
sobre una cuesta que apunte directamente a la cima, tan pronto como se mueva su ca-
mino diverge en la dirección de ascenso con máxima inclinación.
Al darse cuenta de este hecho, usted podría adoptar la siguiente estrategia. Avance
una distancia corta a lo largo de la dirección del gradiente. Luego deténgase, reevalúe
el gradiente y camine otra distancia corta. Mediante la repetición de este proceso podrá
llegar a la punta de la colina.
Aunque tal estrategia parece ser superficialmente buena, no es muy práctica. En
particular, la evaluación continua del gradiente demanda mucho tiempo en términos de
cálculo. Se prefiere un método que consista en moverse por un camino fijo, a lo largo
del gradiente inicial hasta que ƒ(x, y) deje de aumentar; es decir, tienda a nivelarse en
su dirección de viaje. Este punto se convierte en el punto inicial donde se reevalúa ∇f y
se sigue una nueva dirección. El proceso se repite hasta que se alcance la cima. Este
procedimiento se conoce como método de máxima inclinación.2
Es la más directa de
las técnicas de búsqueda con gradiente. La idea básica detrás del procedimiento se des-
cribe en la figura 14.9.
Comenzaremos en un punto inicial (x0, y0) etiquetado como “0” en la figura. En este
punto, se determina la dirección de ascenso con máxima inclinación; es decir, el gra-
diente. Entonces se busca a lo largo de la dirección del gradiente, h0, hasta que se en-
cuentra un máximo, que se marca como “1” en la figura. Después el proceso se repite.
Así, el problema se divide en dos partes: 1. se determina la “mejor” dirección para
la búsqueda y 2. se determina “el mejor valor” a lo largo de esa dirección de búsqueda.
Como se verá, la efectividad de los diversos algoritmos descritos en las siguientes pági-
nas depende de qué tan hábiles seamos en ambas partes.
Por ahora, el método del ascenso con máxima inclinación usa el gradiente como su
elección para la “mejor” dirección. Se ha mostrado ya cómo se evalúa el gradiente en el
ejemplo 14.1. Ahora, antes de examinar cómo se construye el algoritmo para locali-
zar el máximo a lo largo de la dirección de máxima inclinación, se debe hacer una
pausa para explorar el modo de transformar una función de x y y en una función de h a
lo largo de la dirección del gradiente.
Comenzando en x0 y y0 las coordenadas de cualquier punto en la dirección del gra-
diente se expresan como
FIGURA 14.9
Descripción gráfica del método de máxima inclinación.
2
1
0
h0
h2
h1
y
x
2
Debido a nuestro énfasis sobre maximización, aquí se utiliza la terminología de ascenso de máxima inclina-
ción. El mismo enfoque se puede utilizar también para la minimización; en este caso se usará la terminología
de descenso de máxima inclinación.
14.2 MÉTODOS CON GRADIENTE 389
390 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
x x
f
x
h
= +
∂
∂
0 (14.10)
y y
f
y
h
= +
∂
∂
0 (14.11)
donde h es la distancia a lo largo del eje h. Por ejemplo, suponga que x0 = 1 y y0 = 2 y
∇f = 3i + 4j, como se muestra en la figura 14.10. Las coordenadas de cualquier punto a
lo largo del eje h están dadas por
x = 1 + 3h (14.12)
y = 2 + 4h (14.13)
El siguiente ejemplo ilustra la forma en que se emplean tales transformaciones para
convertir una función bidimensional de x y y en una función unidimensional de h.
EJEMPLO 14.3 Desarrollo de una función 1-D a lo largo de la dirección del gradiente
Planteamiento del problema. Suponga que se tiene la siguiente función en dos di-
mensiones:
ƒ(x, y) = 2xy + 2x – x2
– 2y2
Desarrolle una versión unidimensional de esta ecuación a lo largo de la dirección del
gradiente en el punto donde x = –1 y y = 1.
Solución. Las derivadas parciales se evalúan en (–1, 1),
∂ƒ
∂
= + = + − =
∂ƒ
∂
= = =
x
y x
y
x y
2 2 2 2 1 2 2 1 6
2 4 2 1 4 1 6
– ( ) – ( )
– (– ) – ( ) –
10
y
x
6
2
7
4
1
ⵜf = 3i + 4j
h
=
2
h
=
1
h
=
0
FIGURA 14.10
Relación entre una dirección arbitraria h y las coordenadas x y y.
Por lo tanto, el vector gradiente es
∇f = 6i – 6j
Para encontrar el máximo, se busca en la dirección del gradiente; es decir, a lo largo de
un eje h que corre en la dirección de este vector. La función se expresa a lo largo de este
eje como
ƒ +
∂ƒ
∂
+
∂
∂
⎛
⎝
⎜
⎞
⎠
⎟ = ƒ +
= + + − + +
x
x
h y
f
y
h h h
h h h h h
0 0
2 2
1 6 1 6
2 1 6 1 6 2 1 6 1 6 2 1 6
, (– , – )
(– )( – ) ( ) – (– ) – ( – )
donde las derivadas parciales se evalúan en x = –1 y y = 1.
Al combinar términos, se obtiene una función unidimensional g(h) que transforma
f(x, y) a lo largo del eje h,
g(h) = –180h2
+ 72h – 7
Ahora que se ha obtenido una función a lo largo de la trayectoria de ascenso de
máxima inclinación, es posible explorar cómo contestar la segunda pregunta. Esto es,
¿qué tan lejos se llega a lo largo de este camino? Un procedimiento sería moverse a lo
largo de este camino hasta encontrar el máximo de la función. Identificaremos la loca-
lización de este máximo como h*. Éste es el valor del paso que maximiza g (y, por lo
tanto, ƒ) en la dirección del gradiente. Este problema es equivalente a encontrar el máxi-
mo de una función de una sola variable h. Lo cual se realiza mediante diferentes técni-
cas de búsqueda unidimensional como las analizadas en el capítulo 13. Así, se pasa de
encontrar el óptimo de una función de dos dimensiones a realizar una búsqueda unidi-
mensional a lo largo de la dirección del gradiente.
Este método se llama ascenso de máxima inclinación cuando se utiliza un tamaño
de paso arbitrario h. Si se encuentra que un valor de un solo paso h* nos lleva directa-
mente al máximo a lo largo de la dirección del gradiente, el método se llama ascenso
optimal de máxima inclinación.
EJEMPLO 14.4 Ascenso optimal de máxima inclinación
Planteamiento del problema. Maximice la siguiente función:
ƒ(x, y) = 2xy + 2x – x2
– 2y2
usando los valores iniciales, x = –1 y y = 1.
Solución. Debido a que esta función es muy simple, se obtiene primero una solución
analítica. Para hacerlo, se evalúan las derivadas parciales
∂ƒ
∂
= + =
∂ƒ
∂
= =
x
y x
y
x y
2 2 2 0
2 4 0
–
–
14.2 MÉTODOS CON GRADIENTE 391
392 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
De este par de ecuaciones se puede encontrar el valor óptimo, en x = 2 y y = 1. Las se-
gundas derivadas parciales también se determinan y evalúan en el óptimo,
∂ ƒ
∂
=
∂ ƒ
∂
=
∂ ƒ
∂ ∂
=
∂ ƒ
∂ ∂
=
2
2
2
2
2 2
2
4
2
x
y
x y y x
–
–
y el determinante de la matriz hessiana se calcula [ecuación (14.3)],
⏐H⏐ = –2(–4) – 22
= 4
Por lo tanto, debido a que ⏐H⏐  0 y ∂2
f/∂x2
 0, el valor de la función ƒ(2, 1) es un
máximo.
Ahora se usará el método del ascenso de máxima inclinación. Recuerde que al final
del ejemplo 14.3 ya se habían realizado los pasos iniciales del problema al generar
g(h) = –180h2
+ 72h – 7
Ahora, ya que ésta es una simple parábola, se puede localizar, de manera directa, el
máximo (es decir, h = h*) resolviendo el problema,
g′(h*) = 0
–360h* + 72 = 0
h* = 0.2
Esto significa que si se viaja a lo largo del eje h, g(h) alcanza un valor mínimo cuando
h = h* = 0.2. Este resultado se sustituye en las ecuaciones (14.10) y (14.11) para obtener
las coordenadas (x, y) correspondientes a este punto,
x = –1 + 6(0.2) = 0.2
y = 1 – 6(0.2) = –0.2
Este paso se describe en la figura 14.11 conforme el movimiento va del punto 0 al 1.
El segundo paso se implementa tan sólo al repetir el procedimiento. Primero, las
derivadas parciales se evalúan en el nuevo punto inicial (0.2, –0.2) para obtener
∂ƒ
∂
= + =
∂ƒ
∂
= =
x
y
2 0 2 2 2 0 2 1 2
2 0 2 4 0 2 1 2
(– . ) – ( . ) .
( . ) – (– . ) .
Por lo tanto, el vector gradiente es
∇f = 1.2i + 1.2j
Esto significa que la dirección de máxima inclinación está ahora dirigida hacia arriba y
hacia la derecha en un ángulo de 45º con el eje x (véase la figura 14.11). Las coordenadas
a lo largo de este nuevo eje h se expresan ahora como
x = 0.2 + 1.2h
y = –0.2 + 1.2h
Al sustituir estos valores en la función se obtiene
ƒ(0.2 + 1.2h, –0.2 + 1.2h) = g(h) = –1.44h2
+ 2.88h + 0.2
El paso h* que nos lleva al máximo a lo largo de la dirección marcada ahora se calcula
directamente como
g′(h*) = –2.88h* + 2.88 = 0
h* = 1
Este resultado se sustituye en las ecuaciones (14.10) y (14.11) para obtener las coordena-
das (x, y) correspondientes a este nuevo punto,
x = 0.2 + 1.2(1) = 1.4
y = –0.2 + 1.2(1) = 1
Como se describe en la figura 14.11, nos movemos a las nuevas coordenadas, marcadas
como punto 2 en la gráfica, y al hacer esto nos acercamos al máximo. El procedimiento
se puede repetir y se obtiene un resultado final que converge a la solución analítica, x =
2 y y = 1.
Es posible demostrar que el método del descenso de máxima inclinación es lineal-
mente convergente. Además, tiende a moverse de manera muy lenta, a lo largo de cres-
tas largas y angostas. Esto porque el nuevo gradiente en cada punto máximo será
FIGURA 14.11
El método del ascenso optimal de máxima inclinación.
2
2
1
0
Máximo
0
– 2
– 1
0
2
1
3
y
x
4
14.2 MÉTODOS CON GRADIENTE 393
394 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
perpendicular a la dirección original. Así, la técnica da muchos pasos pequeños cruzan-
do la ruta directa hacia la cima. Por lo tanto, aunque es confiable, existen otros métodos
que convergen mucho más rápido, particularmente en la vecindad de un valor óptimo.
En el resto de la sección se examinan esos métodos.
14.2.3 Métodos avanzados del gradiente
Método de gradientes conjugados (Fletcher-Reeves). En la sección 14.1.2, se ha
visto cómo en el método de Powell las direcciones conjugadas mejoran mucho la efi-
ciencia de la búsqueda univariada. De manera similar, se puede también mejorar el as-
censo de máxima inclinación linealmente convergente usando gradientes conjugados.
En efecto, se puede demostrar que un método de optimización, que usa gradientes con-
jugados para definir la dirección de búsqueda, es cuadráticamente convergente. Esto
también asegura que el método optimizará una función cuadrática exactamente en un
número finito de pasos sin importar el punto de inicio. Puesto que la mayoría de las
funciones que tienen buen comportamiento llegan a aproximarse en forma razonable
bien mediante una función cuadrática en la vecindad de un óptimo, los métodos de
convergencia cuadrática a menudo resultan muy eficientes cerca de un valor óptimo.
Se ha visto cómo, empezando con dos direcciones de búsqueda arbitrarias, el méto-
do de Powell produce nuevas direcciones de búsqueda conjugadas. Este método es cua-
dráticamente convergente y no requiere la información del gradiente. Por otro lado, si la
evaluación de las derivadas es práctica, se pueden buscar algoritmos que combinen las
ideas del descenso de máxima inclinación con las direcciones conjugadas, para lograr un
comportamiento inicial más sólido y de convergencia rápida conforme la técnica conduz-
ca hacia el óptimo. El algoritmo del gradiente conjugado de Fletcher-Reeves modifica
el método de ascenso de máxima inclinación al imponer la condición de que sucesivas
direcciones de búsqueda del gradiente sean mutuamente conjugadas. La prueba y el al-
goritmo están más allá del alcance del texto, pero se describen en Rao (1996).
Método de Newton. El método de Newton para una sola variable (recuerde la sección
13.3) se puede extender a los casos multivariados. Escriba una serie de Taylor de segun-
do orden para f(x) cerca de x = xi,
ƒ = ƒ + ∇ƒ − + − −
( ) ( ) ( )( ) ( ) ( )
x x x x x x x x x
i
T
i i i
T
i i
H
1
2
donde Hi es la matriz hessiana. En el mínimo,
∂ƒ
∂
= =
( )
, , ,
x
xj
j n
0 1 2
para …
Así,
∇f = ∇f(xi) + Hi(x – xi) = 0
Si H es no singular,
xi+l = xi – Hi
–1
∇f (14.14)
la cual, se puede demostrar, converge en forma cuadrática cerca del óptimo. Este método,
de nuevo, se comporta mejor que el método del ascenso de máxima inclinación (véase la
figura 14.12). Sin embargo, observe que este método requiere tanto del cálculo de las
segundas derivadas como de la inversión matricial, en cada iteración. Por lo que el méto-
do no es muy útil en la práctica para funciones con gran número de variables. Además,
el método de Newton quizá no converja si el punto inicial no está cerca del óptimo.
Método de Marquardt. Se sabe que el método del ascenso de máxima inclinación
aumenta el valor de la función, aun si el punto inicial está lejos del óptimo. Por otro lado,
ya se describió el método de Newton, que converge con rapidez cerca del máximo. El
método de Marquardt usa el método del descenso de máxima inclinación cuando x está
lejos de x*, y el método de Newton cuando x está cerca de un óptimo. Esto se puede
lograr al modificar la diagonal del hessiano en la ecuación (14.14),
H
~
i = Hi + ai I
donde ai es una constante positiva e I es la matriz identidad. Al inicio del procedimien-
to, se supone que ai es grande y
˜ –
H I
i
1
1
1
≈
α
la cual reduce la ecuación (14.14) al método del ascenso de máxima inclinación. Con-
forme continúan las iteraciones, ai se aproxima a cero y el método se convierte en el de
Newton.
Así, el método de Marquardt ofrece lo mejor de los procedimientos: comienza en
forma confiable a partir de valores iniciales pobres y luego acelera en forma rápida
FIGURA 14.12
Cuando el punto inicial esta cerca del punto óptimo, seguir el gradiente puede resultar
ineficiente. Los métodos de Newton intentan la búsqueda a lo largo de una trayectoria
directa hacia el óptimo (línea continua).
y
x
14.2 MÉTODOS CON GRADIENTE 395
396 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA
cuando se aproxima al óptimo. Por desgracia, el método también requiere la evaluación
del hessiano y la inversión matricial en cada paso.
Debe observarse que el método de Marquardt es, ante todo, útil para problemas no
lineales de mínimos cuadrados. Por ejemplo, la biblioteca IMSL contiene una subrutina
con este propósito.
Métodos de cuasi-Newton. Los métodos cuasi-Newton, o métodos de métrica va-
riable, buscan estimar el camino directo hacia el óptimo en forma similar al método de
Newton. Sin embargo, observe que la matriz hessiana en la ecuación (14.14) se compone
de las segundas derivadas de f que varían en cada paso. Los métodos cuasi-Newton in-
tentan evitar estas dificultades al aproximar H con otra matriz A, sólo las primeras de-
rivadas parciales de f. El procedimiento consiste en comenzar con una aproximación
inicial de H–1
y actualizarla y mejorarla en cada iteración. Estos métodos se llaman de
cuasi-Newton porque no usan el hessiano verdadero, sino más bien una aproximación.
Así, se tienen dos aproximaciones simultáneas: 1. la aproximación original de la serie
de Taylor y 2. la aproximación del hessiano.
Hay dos métodos principales de este tipo: los algoritmos de Davidon-Fletcher-Powell
(DFP) y de Broyden-Fletcher-Goldfarb-Shanno (BFGS). Éstos son similares excepto en
detalles concernientes a cómo manejan los errores de redondeo y su convergencia. BFGS
es, por lo general, reconocido como superior en la mayoría de los casos. Rao (1996) pro-
porciona detalles y declaraciones formales sobre ambos algoritmos, el DFP y el BFGS.
14.1 Repita el ejemplo 14.2 para la función siguiente, en el
punto (0.8, 1.2).
f(x, y) = 2xy + 1.5y – 1.25x2
– 2y2
+ 5
14.2 Encuentre la derivada direccional de
f(x, y) = x2
+ 2y2
Si x = 2, y y = 2, en la dirección de h = 2i + 3j.
14.3 Encuentre el vector gradiente y la matriz Hessiana para
cada una de las funciones siguientes:
a) ƒ(x, y) = 3xy2
+ 2exy
b) ƒ(x, y, z) = 2x2
+ y2
+ z2
c) ƒ(x, y) = ln(x2
+ 3xy + 2y2
)
14.4 Dada
f(x, y) = 2.25xy + 1.75y – 1.5x2
– 2y2
Construya y resuelva un sistema de ecuaciones algebraicas li-
neales que maximice f(x). Observe que esto se logra por medio
de igualar a cero las derivadas parciales de f con respecto tan-
to de x como de y.
14.5
a) Comience con un valor inicial de x = 1 y y = 1, y realice dos
aplicaciones del método de ascenso de máxima inclinación
para f(x, y), como en el problema 14.4.
PROBLEMAS
b) Haga una gráfica de los resultados del inciso a), en la que
se muestre la trayectoria de la búsqueda.
14.6 Encuentre el valor mínimo de
ƒ(x, y) = (x – 3)2
+ (y – 2)2
comience con x = 1 y y = 1, utilice el método de descenso de
máxima inclinación con un criterio de detención de es = 1%.
Explique sus resultados.
14.7 Efectúe una iteración del método de ascenso de máxima
inclinación para localizar el máximo de
f(x, y) = 4x + 2y + x2
– 2x4
+ 2xy – 3y2
con los valores iniciales de x = 0 y y = 0. Emplee bisección para
encontrar el tamaño óptimo de paso en la dirección de búsqueda
del gradiente.
14.8 Realice una iteración del método de descenso de máxima
inclinación del gradiente óptimo, para localizar el mínimo de
f(x, y) = –8x + x2
+ 12y + 4y2
– 2xy
utilice valores iniciales de x = 0 y y = 0.
14.9 Con un lenguaje de programación o de macros, desarrolle un
programa para implantar el método de búsqueda aleatoria. Diseñe
el subprograma de modo que esté diseñado en forma expresa para
localizar un máximo. Pruebe el programa con f(x, y) del problema
14.7. Utilice un rango de –2 a 2 tanto para x como para y.
PROBLEMAS 397
14.10 La búsqueda por malla es otro procedimiento burdo para
optimizar. En la figura P14.10 se ilustra la versión para dos di-
mensiones. Las dimensiones x y y se dividen en incrementos a
fin de formar una malla. Después, se evalúa la función en cada
nodo de la malla. Entre más densa sea la malla más probable será
la localización del óptimo.
Con un lenguaje de programación o de macros, desarrolle
un programa para implantar el método de búsqueda por malla.
Diseñe el programa expresamente para que localice un máximo.
Pruébelo con el mismo problema del ejemplo 14.1.
14.11 Desarrolle una ecuación unidimensional en la dirección del
gradiente de presión en el punto (4, 2). La función de presión es
f(x, y) = 6x2
y – 9y2
– 8x2
14.12 Una función de temperatura es
f(x, y) = 2x3
y2
– 7xy + x2
+ 3y
Desarrolle una función unidimensional en la dirección del gra-
diente de temperatura en el punto (1, 1).
Figura P14.10
La búsqueda por malla.
2
1
0
–5 –10 –15 –20 –25
0
0
Máximo
– 1
– 2
1
2
3
y
x
CAPÍTULO 15
Optimización restringida
Este capítulo aborda problemas de optimización en los cuales entran en juego las res-
tricciones. Primero, se analizarán problemas donde la función objetivo y las restriccio-
nes son lineales. Para tales casos, hay métodos especiales que aprovechan la linealidad
de las funciones, llamados métodos de programación lineal. Los algoritmos resultantes
resuelven con gran eficiencia problemas muy grandes con miles de variables y restric-
ciones. Dichos métodos se utilizan en una gran variedad de problemas en ingeniería y
en administración.
Después, se verá en forma breve el problema más general de optimización restrin-
gida no lineal. Finalmente, se proporcionará una visión general de cómo se emplean los
paquetes de software y las bibliotecas en la optimización.
15.1 PROGRAMACIÓN LINEAL
La programación lineal (o PL, por simplicidad) es un método de optimización que se
ocupa del cumplimiento de un determinado objetivo, como maximizar las utilidades o
minimizar el costo, en presencia de restricciones como recursos limitados. El término
lineal denota que las funciones matemáticas que representan el objetivo y las restriccio-
nes son lineales. El término programación no significa “programación en computadora”;
más bien denota “programar” o “fijar una agenda” (Revelle y colaboradores, 1997).
15.1.1 Forma estándar
El problema básico de la programación lineal consiste en dos partes principales: la
función objetivo y un conjunto de restricciones. En un problema de maximización,
la función objetivo, por lo general, se expresa como
Maximizar Z = c1
x1
+ c2
x2
+ · · · + cn
xn
(15.1)
donde cj
= la contribución de cada unidad de la j-ésima actividad realizada y xj
= mag-
nitud de la j-ésima actividad. Así, el valor de la función objetivo, Z, es la contribución
total debida al número total de actividades, n.
Las restricciones se representan, en forma general, como
ai1
x1
+ ai2
x2
+ · · · + ain
xn
≤ bi
(15.2)
donde aij
= cantidad del i-ésimo recurso que se consume por cada unidad de la j-ésima
actividad, y bi
= cantidad del i-ésimo recurso que está disponible. Es decir, los recursos
son limitados.
El segundo tipo general de restricción, especifica que todas las actividades deben
tener un valor positivo:
xi
 0 (15.3)
En el presente contexto, lo anterior expresa la noción realista de que, en algunos proble-
mas, la actividad negativa es físicamente imposible (por ejemplo, no se pueden producir
bienes negativos).
Juntas, la función objetivo y las restricciones, especifican el problema de progra-
mación lineal. Éstas indican que se trata de maximizar la contribución de varias activi-
dades, bajo la restricción de que en estas actividades se utilizan cantidades finitas de
recursos. Antes de mostrar cómo se puede obtener este resultado, primero se desarro-
llará un ejemplo.
EJEMPLO 15.1 Planteamiento del problema de la PL
Planteamiento del problema. Se desarrolla el siguiente problema del área de la in-
geniería química o petrolera. Aunque, éste, es relevante para todas las áreas de la inge-
niería relacionadas con la generación de productos con recursos limitados.
Suponga que una planta procesadora de gas recibe cada semana una cantidad fija de
materia prima. Esta última se procesa para dar dos tipos de gas: calidad regular y prémium.
Estas clases de gas son de gran demanda (es decir, se tiene garantizada su venta) y dan
diferentes utilidades a la compañía. Sin embargo, su producción involucra restricciones
de tiempo y de almacenamiento. Por ejemplo, no se pueden producir las dos clases a la
vez, y las instalaciones están disponibles solamente 80 horas por semana. Además, exis-
te un límite de almacenamiento para cada uno de los productos. Todos estos factores se
enlistan abajo (observe que una tonelada métrica, o ton, es igual a 1 000 kg):
Producto
Recurso Regular Prémium Disponibilidad del recurso
Materia prima 7 m3
/ton 11 m3
/ton 77 m3
/semana
Tiempo de producción 10 hr/ton 8 hr/ton 80 hr/semana
Almacenamiento 9 ton 6 ton
Aprovechamiento 150/ton 175/ton
Desarrolle una formulación de programación lineal para maximizar las utilidades de
esta operación.
Solución. El ingeniero que opera esta planta debe decidir la cantidad a producir de
cada tipo de gas para maximizar las utilidades. Si las cantidades producidas cada sema-
na de gas regular y prémium se designan como x1
y x2
, respectivamente, la ganancia
total se calcula mediante
Ganancia total = 150x1
+ 175x2
o se escribe como una función objetivo en programación lineal:
Maximizar Z = 150x1
+ l75x2
15.1 PROGRAMACIÓN LINEAL 399
400 OPTIMIZACIÓN RESTRINGIDA
Las restricciones se desarrollan en una forma similar. Por ejemplo, el total de gas
crudo (materia prima) utilizado se calcula como:
Total de gas utilizado = 7x1
+ 11x2
Este total no puede exceder el abastecimiento disponible de 77 m3
/semana, así que la
restricción se representa como
7x1
+ 11x2
 77
Las restricciones restantes se desarrollan en una forma similar: la formulación
completa resultante de PL está dada por
Maximizar Z = 150x1
+ 175x2
(maximizar la ganancia)
Sujeta a
7x1
+ 11x2
 77 (restricciones de material)
10x1
+ 8x2
 80 (restricción de tiempo)
x1
 9 (restricción de almacenaje de gas “regular”)
x2
 6 (restricción de almacenaje de gas “prémium”)
x1
, x2
 0 (restricciones positivas)
Observe que el conjunto de ecuaciones anterior constituye la formulación completa de
PL. Las explicaciones en los paréntesis de la derecha se han incluido para aclarar el
significado de cada expresión.
15.1.2 Solución gráfica
Debido a que las soluciones gráficas están limitadas a dos o tres dimensiones, tienen una
utilidad práctica limitada. Sin embargo, son muy útiles para demostrar algunos concep-
tos básicos de las técnicas algebraicas generales, utilizadas para resolver problemas
multidimensiones en la computadora.
En un problema bidimensional, como el del ejemplo 15.1, el espacio solución se
define como un plano con x1
medida a lo largo de la abscisa; y x2
, a lo largo de la orde-
nada. Como las restricciones son lineales, se trazan sobre este plano como líneas rectas.
Si el problema de PL se formuló adecuadamente (es decir, si tiene una solución), estas
líneas restrictivas describen una región, llamada el espacio de solución factible, que
abarca todas las posibles combinaciones de x1
y x2
, las cuales obedecen las restricciones
y, por lo tanto, representan soluciones factibles. La función objetivo de un valor particu-
lar de Z se puede trazar como otra línea recta y sobreponerse en este espacio. El valor
de Z, entonces, se ajusta hasta que esté en el valor máximo, y toque aún el espacio fac-
tible. Este valor de Z representa la solución óptima. Los valores correspondientes de x1
y x2
, donde Z toca el espacio de solución factible, representan los valores óptimos de las
actividades. El siguiente ejemplo deberá ayudar a aclarar el procedimiento.
EJEMPLO 15.2 Solución gráfica
Planteamiento del problema. Desarrolle una solución gráfica para el problema del
procesamiento de gas del ejemplo 15.1:
Maximizar Z = 150 x1
+ 175 x2
sujeta a
7x1
+ 11x2
 77 (1)
10x1
+ 8x2
 80 (2)
x1
 9 (3)
x2
 6 (4)
x1
 0 (5)
x2
 0 (6)
Se numeraron las restricciones para identificarlas en la siguiente solución gráfica.
Solución. Primero, se trazan las restricciones sobre el espacio solución. Por ejemplo,
se reformula la primera restricción como una línea al reemplazar la desigualdad por un
signo igual, y se despeja x2
:
x2
= –
7
11
x1
+ 7
Así, como en la figura 15.1a, los valores posibles de x1
y x2
que obedecen dicha restric-
ción se hallan por debajo de esta línea (en la gráfica, la dirección se indica con la pe-
queña flecha). Las otras restricciones se evalúan en forma similar, se sobreponen en la
figura 15.1a. Observe cómo éstas encierran una región donde todas se satisfacen. Éste
es el espacio solución factible (el área ABCDE en la gráfica).
Además de definir el espacio factible, la figura 15.1a también ofrece una mejor
comprensión. En particular, se percibe que la restricción 3 (almacenamiento de gas re-
gular) es “redundante”. Es decir, el espacio solución factible no resulta afectado si fuese
suprimida.
Después, se agrega la función objetivo a la gráfica. Para hacerlo, se debe escoger
un valor de Z. Por ejemplo, para Z = 0, la función objetivo es ahora
0 = 150x1
+ 175x2
o, despejando x2
,se obtiene la línea recta
x2
= –
150
175
x1
Como se muestra en la figura 15.1b, ésta representa una línea punteada que interseca el
origen. Ahora, debido a que estamos interesados en maximizar Z, ésta se aumenta a,
digamos, 600, y la función objetivo es
x2
=
600
175
150
175
− x1
Así, al incrementar el valor de la función objetivo, la línea se aleja del origen. Como la
línea todavía cae dentro del espacio solución, nuestro resultado es aún factible. No obs-
tante, por la misma razón, todavía hay espacio para mejorarlo. Por lo tanto, Z continúa
15.1 PROGRAMACIÓN LINEAL 401
402 OPTIMIZACIÓN RESTRINGIDA
aumentando hasta que un incremento adicional lleve la función objetivo más allá de la
región factible. Como se muestra en la figura 15.1b, el valor máximo de Z corresponde
aproximadamente a 1 400. En este punto, x1
y x2
son, de manera aproximada, iguales a
4.9 y 3.9, respectivamente. Así, la solución gráfica indica que si se producen estas can-
tidades de gas regular y prémium, se alcanzará una máxima utilidad de aproximada-
mente 1 400.
Además de determinar los valores óptimos, el procedimiento gráfico ofrece una
mejor comprensión del problema. Esto se aprecia al sustituir de nuevo las soluciones en
las ecuaciones restrictivas:
7(4.9) + 11(3.9) ≅ 77
10(4.9) + 8(3.9) ≅ 80
4.9  9
3.9  6
En consecuencia, como se ve claramente en la gráfica, producir la cantidad óptima de
cada producto nos lleva directamente al punto donde se satisfacen las restricciones de los
recursos (1) y del tiempo (2). Tales restricciones se dice que son obligatorias. Además,
la gráfica también hace evidente que ninguna de las restricciones de almacenamiento
[(3) ni (4)] actúan como una limitante. Tales restricciones se conocen como no obliga-
torias. Esto nos lleva a la conclusión práctica de que, en este caso, se puede aumentar
las utilidades, ya sea con un incremento en el abastecimiento de recursos (el gas crudo)
b)
0
8
4 x1
x2
8
A B
C
D
E
Z ⫽
0
Z ⫽
600
Z ⫽
1 400
a)
0
8
4
4 x1
Redundante
4
x2
8
A
F
B
C
D
E
3
6
5
1
2
FIGURA 15.1
Solución gráfica de un problema de programación lineal. a) Las restricciones definen un espacio solución factible. b) La
función objetivo se incrementa hasta que alcance el valor máximo que cumpla con todas las restricciones. Gráficamente, se
mueve hacia arriba y a la derecha, hasta que toca el espacio factible en un solo punto óptimo.
o en tiempo de producción. Además, esto indica que el aumento del almacenamiento
podría no tener impacto sobre las utilidades.
El resultado obtenido en el ejemplo anterior es uno de los cuatro posibles resultados
que, por lo general, se obtienen en un problema de programación lineal. Éstos son:
1. Solución única. Como en el ejemplo, la función objetivo máxima interseca un solo
punto.
2. Soluciones alternativas. Suponga que los coeficientes de la función objetivo del
ejemplo fueran paralelos precisamente a una de las restricciones. En nuestro ejemplo,
una forma en la cual esto podría ocurrir sería que las utilidades se modificaran a
$140/ton y $220/ton. Entonces, en lugar de un solo punto, el problema podría tener
un número infinito de óptimos correspondientes a un segmento de línea (véase fi-
gura 15.2a).
3. Solución no factible. Como en la figura 15.2b, es posible que el problema esté formu-
lado de tal manera que no haya una solución factible. Esto puede deberse a que se
trata de un problema sin solución o a errores en la formulación del problema. Lo
último ocurre si el problema está sobrerrestringido, y ninguna solución satisface
todas las restricciones.
4. Problemas no acotados. Como en la figura 15.2c, esto usualmente significa que el
problema está subrestringido y, por lo tanto, tiene límites abiertos. Como en el caso
de la solución no factible, esto a menudo ocurre debido a errores cometidos duran-
te la especificación del problema.
Ahora supongamos que nuestro problema tiene una solución única. El procedimien-
to gráfico podría sugerir una estrategia numérica para dar con el máximo. Observando
la figura 15.1, deberá quedar claro que siempre se presenta el óptimo en uno de los pun-
tos esquina, donde se presentan dos restricciones. Tales puntos se conocen de manera
b)
0
x1
x2
a)
0
x1
x2
c)
0
x1
x2
Z
FIGURA 15.2
Además de una sola solución óptima (por ejemplo, la figura 15.1b), existen otros tres resultados posibles en un problema de
programación lineal: a) óptima alternativa, b) solución no factible y c) un resultado no acotado.
15.1 PROGRAMACIÓN LINEAL 403
404 OPTIMIZACIÓN RESTRINGIDA
formal como puntos extremos. Así, del número infinito de posibilidades en el espacio
de decisión, al enfocarse en los puntos extremos, se reducen claramente las opciones
posibles.
Además, es posible reconocer que no todo punto extremo es factible; es decir, sa-
tisface todas las restricciones. Por ejemplo, observe que el punto F en la figura 15.1a es
un punto extremo; pero no es factible. Limitándonos a puntos extremos factibles, se
reduce todavía más el campo factible.
Por último, una vez que se han identificado todos los puntos extremos factibles, el
que ofrezca el mejor valor de la función objetivo representará la solución óptima. Se
podría encontrar esta solución óptima mediante la exhaustiva (e ineficiente) evaluación
del valor de la función objetivo en cada punto extremo factible. En la siguiente sección se
analiza el método simplex, que ofrece una mejor estrategia para trazar un rumbo selec-
tivo, a través de una secuencia de puntos extremos factibles, para llegar al óptimo de una
manera extremadamente eficiente.
15.1.3 El método simplex
El método simplex se basa en la suposición de que la solución óptima estará en un pun-
to extremo. Así, el procedimiento debe ser capaz de discriminar si durante la solución
del problema se presentará un punto extremo. Para esto, las ecuaciones con restricciones
se reformulan como igualdades, introduciendo las llamadas variables de holgura.
Variables de holgura. Como lo indica su nombre, una variable de holgura mide cuán-
to de un recurso restringido está disponible; es decir, cuánta “holgura” está disponible. Por
ejemplo, recuerde el recurso restringido que se utilizó en los ejemplos 15.1 y 15.2:
7x1
+ 11x2
 77
Se define una variable de holgura S1
como la cantidad de gas crudo que no se usa para
un nivel de producción específico (x1
x2
). Si esta cantidad se suma al lado izquierdo de
la restricción, esto vuelve exacta a la relación:
7x1
+ 11x2
+ S1
= 77
Ahora vemos qué nos dice la variable de holgura. Si es positiva, significa que se
tiene algo de “holgura” en esta restricción. Es decir, se cuenta con un excedente de re-
curso que no se está utilizando por completo. Si es negativa, nos indica que hemos so-
brepasado la restricción. Finalmente, si es cero, denota que la restricción se satisface con
precisión. Es decir, hemos utilizado todo el recurso disponible. Puesto que ésta es exac-
tamente la condición donde las líneas de restricción se intersecan, la variable de holgu-
ra ofrece un medio para detectar los puntos extremos.
Una variable de holgura diferente se desarrolla para cada ecuación restringida, lo
cual resulta en lo que se conoce como la versión aumentada completamente,
Maximizar Z = 150x1
+ 175x2
sujeta a
7x1
+ 11x2
+ S1
= 77 (15.4a)
10x1
+ 8x2
+ S2
= 80 (15.4b)
x1
+ S3
= 9 (15.4c)
x2
+ S4
= 6 (15.4d)
x1
, x2
, S1
, S2
, S3
, S4
 0
Advierta cómo se han establecido las cuatro ecuaciones, de manera que las incóg-
nitas quedan alineadas en columnas. Se hizo así para resaltar que ahora se trata de un
sistema de ecuaciones algebraicas lineales (recuerde la parte tres). En la siguiente sección
se mostrará cómo se emplean dichas ecuaciones para determinar los puntos extremos
en forma algebraica.
Solución algebraica. A diferencia de la parte tres, donde se tenían n ecuaciones con
n incógnitas, nuestro sistema del ejemplo [ecuaciones (15.4)] está subespecificado; es
decir, tiene más incógnitas que ecuaciones. En términos generales, hay n variables es-
tructurales (las incógnitas originales), m variables de holgura o excedentes (una por
restricción), y n + m variables en total (estructurales más excedentes). En el problema
de la producción de gas se tienen 2 variables estructurales, 4 variables de holgura y 6
variables en total. Así, el problema consiste en resolver 4 ecuaciones con 6 incógnitas.
La diferencia entre el número de incógnitas y el de ecuaciones (igual a 2 en nuestro
problema) está directamente relacionada con la forma en que se distingue un punto
extremo factible. Específicamente, cada punto factible tiene 2 de las 6 variables iguala-
das a cero. Por ejemplo, los cinco puntos en las esquinas del área ABCDE tienen los
siguientes valores cero:
Esta observación nos lleva a concluir que los puntos extremos se determinan a
partir de la forma estándar igualando dos de las variables a cero. En nuestro ejemplo,
esto reduce el problema a resolver 4 ecuaciones con 4 incógnitas. Por ejemplo, para el
punto E, si x1
= S4
= 0, la forma estándar se reduce a
11x2
+ S1
= 77
8x2
+ S2
= 80
+ S3
= 9
x2
= 6
de donde se obtiene x2
= 6, S1
= 11, S2
= 32 y S3
= 9. Junto con x1
= S4
= 0, estos valores
definen el punto E.
Generalizando, una solución básica de m ecuaciones lineales con n incógnitas se
obtiene al igualar a cero las variables n – m y resolver las m ecuaciones para las m in-
cógnitas restantes. Las variables igualadas a cero se conocen formalmente como varia-
bles no básicas; mientras que a las m variables restantes se les llama variables básicas.
Punto extremo Variables cero
A x1
, x2
B x2
, S2
C S1
, S2
D S1
, S4
E x1
, S4
15.1 PROGRAMACIÓN LINEAL 405
406 OPTIMIZACIÓN RESTRINGIDA
Si todas las variables básicas son no negativas, al resultado se le llama una solución
factible básica. El óptimo será una de éstas.
Ahora, un procedimiento directo para determinar la solución óptima será calcular
todas las soluciones básicas, determinar cuáles de ellas son factibles, y de éstas, cuál
tiene el valor mayor de Z. Sin embargo, éste no es un procedimiento recomendable por
dos razones.
Primero, aun para problemas de tamaños moderado, se necesita resolver una gran
cantidad de ecuaciones. Para m ecuaciones con n incógnitas, se tendrán que resolver
Cn
m
=
n
m n m
!
!( )!
−
ecuaciones simultáneas. Por ejemplo, si hay 10 ecuaciones (m = 10) con 16 incógnitas
(n = 16), ¡se tendrían 8008 [= 16!/(10!6!)] sistemas de ecuaciones de 10 × 10 para re-
solver!
Segundo, quizás una porción significativa de éstas no sea factible. Por ejemplo, en
el problema actual de los C4
6
= 15 puntos extremos, sólo 5 son factibles. Claramente, si
se pudiese evitar resolver todos estos sistemas innecesarios, se tendría un algoritmo más
eficiente. Uno de estos procedimientos se describe a continuación.
Implementación del método simplex. El método simplex evita las ineficiencias
descritas en la sección anterior. Esto se hace al comenzar con una solución factible bá-
sica. Luego se mueve a través de una secuencia de otras soluciones factibles básicas que
mejoran sucesivamente el valor de la función objetivo. En forma eventual, se alcanza el
valor óptimo y se termina el método.
Se ilustrará el procedimiento con el problema de procesamiento de gas, de los
ejemplos 15.1 y 15.2. El primer paso consiste en empezar en una solución factible bási-
ca (es decir, en un punto esquina extremo del espacio factible). Para casos como los
nuestros, un punto de inicio obvio podría ser el punto A; esto es, x1
= x2
= 0. Las 6 ecua-
ciones originales en 4 incógnitas se convierten en
S1
= 77
S2
= 80
S3
= 9
S4
= 6
Así, los valores iniciales de las variables básicas se dan automáticamente siendo iguales
a los lados derecho de las restricciones.
Antes de proceder al siguiente paso, la información inicial se puede resumir en
un adecuado formato tabular. Como se muestra a continuación, la tabla proporciona un
resumen de la información clave que constituye el problema de la programación lineal.
Básica Z x1
x2
S1
S2
S3
S4
Solución Intersección
Z 1 –150 –175 0 0 0 0 0
S1
0 7 11 1 0 0 0 77 11
S2
0 10 8 0 1 0 0 80 8
S3
0 1 0 0 0 1 0 9 9
S4
0 0 1 0 0 0 1 6 ∞
Observe que para propósitos de la tabla, la función objetivo se expresa como
Z – 150x1
– 175x2
– 0S1
– 0S2
– 0S3
– 0S4
= 0 (15.5)
El siguiente paso consiste en moverse a una nueva solución factible básica que nos
lleve a mejorar la función objetivo. Esto se consigue incrementando una variable actual
no básica (en este punto, x1
o x2
) por arriba de cero para que Z aumente. Recuerde que,
en el ejemplo presente, los puntos extremos deben tener 2 valores cero. Por lo tanto, una
de las variables básicas actuales (S1
, S2
, S3
o S4
) también deben igualarse a cero.
Para resumir este paso importante: una de las variables no básicas actuales debe
hacerse básica (no cero). Esta variable se llama variable de entrada. En el proceso, una
de las variables básicas actuales se vuelve no básica (cero). Esta variable se llama va-
riable de salida.
Ahora, desarrollaremos un procedimiento matemático para seleccionar las variables
de entrada y de salida. A causa de la convención de cómo escribir la función objetivo
[ecuación (15.5)], la variable de entrada puede ser cualquier variable de la función ob-
jetivo que tenga un coeficiente negativo (ya que esto hará a Z más grande). La variable
con el valor negativo más grande se elige de manera convencional porque usualmente
nos lleva al incremento mayor en Z. En nuestro caso, x2
será la variable entrante puesto
que su coeficiente, –175, es más negativo que el coeficiente de x1
: –150.
Aquí se puede consultar la solución gráfica para mejor comprensión. Se comienza
en el punto inicial A, como se muestra en la figura 15.3. Considerando su coeficiente, se
escogerá x2
como entrada. No obstante, para abreviar en este ejemplo, seleccionamos x1
puesto que en la gráfica se observa que nos llevará más rápido al máximo.
0
8
4
4 x1
4
1
x2
8
2
A
F
B
C
D
E
3
FIGURA 15.3
Ilustración gráfica de cómo se mueve en forma sucesiva el método simplex a través de soluciones básicas factibles, para
llegar al óptimo de manera eficiente.
15.1 PROGRAMACIÓN LINEAL 407
408 OPTIMIZACIÓN RESTRINGIDA
Después, se debe elegir la variable de salida entre las variables básicas actuales (S1
,
S2
, S3
o S4
). Se observa gráficamente que hay dos posibilidades. Moviéndonos al punto
B se tendrá S2
igual a cero; mientras que al movernos al punto F tendremos S1
igual a
cero. Sin embargo, en la gráfica también queda claro que F no es posible, ya que queda
fuera del espacio solución factible. Así, decide moverse de A a B.
¿Cómo se detecta el mismo resultado en forma matemática? Una manera es calcu-
lar los valores en los que las líneas de restricción intersecan el eje o la línea que corres-
ponde a la variable saliente (en nuestro caso, el eje x1
). Es posible calcular este valor
como la razón del lado derecho de la restricción (la columna “Solución” de la tabla)
entre el coeficiente correspondiente de x1
. Por ejemplo, para la primera variable de hol-
gura restrictiva S1
, el resultado es
Intersección =
77
7
= 11
Las intersecciones restantes se pueden calcular y enlistar como la última columna de la
tabla. Debido a que 8 es la menor intersección positiva, significa que la segunda línea
de restricción se alcanzará primero conforme se incremente x1
. Por lo tanto, S2
será la
variable de entrada.
De esta manera, nos hemos movido al punto B (x2
= S2
= 0), y la nueva solución
básica es ahora
7x1
+ S1
= 77
10x1
= 80
x1
+ S3
= 9
S4
= 6
La solución de este sistema de ecuaciones define efectivamente los valores de las varia-
bles básicas en el punto B: x1
= 8, S1
= 21, S3
= 1 y S4
= 6.
Se utiliza la tabla para realizar los mismos cálculos empleando el método de Gauss-
Jordan. Recuerde que la estrategia básica de este método implica convertir el elemento
pivote en 1, y después eliminar los coeficientes en la misma columna arriba y abajo del
elemento pivote (recuerde la sección 9.7).
En este ejemplo, el renglón pivote es S2
(la variable de entrada) y el elemento pivo-
te es 10 (el coeficiente de la variable de salida, x1
). Al dividir el renglón entre 10 y re-
emplazar S2
por x1
se tiene
Básica Z x1
x2
S1
S2
S3
S4
Solución Intersección
Z 1 –150 –175 0 0 0 0 0
S1
0 7 11 1 0 0 0 77
x1
0 1 0.8 0 0.1 0 0 8
S3
0 1 0 0 0 1 0 9
S4
0 0 1 0 0 0 1 6
Después, se eliminan los coeficientes de x1
en los otros renglones. Por ejemplo, para el
renglón de la función objetivo, el renglón pivote se multiplica por –150 y el resultado se
resta del primer renglón para obtener
Z x1
x2
S1
S2
S3
S4
Solución
1 –150 –175 0 0 0 0 0
–0 –(–150) –(–120) –0 –(–15) 0 0 –(–1200)
1 0 –55 0 15 0 0 1200
Es posible realizar operaciones similares en los renglones restantes para obtener la
nueva tabla,
Básica Z x1
x2
S1
S2
S3
S4
Solución Intersección
Z 1 0 –55 0 15 0 0 1200
S1
0 0 5.4 1 –0.7 0 0 21 3.889
x1
0 1 0.8 0 0.1 0 0 8 10
S3
0 0 –0.8 0 –0.1 1 0 1 –1.25
S4
0 0 1 0 0 0 1 6 6
Así la nueva tabla resume toda la información del punto B. Esto incluye el hecho de que
el movimiento ha aumentado la función objetivo a Z = 1200.
Esta tabla se utiliza después para representar el próximo y, en este caso, último
paso. Sólo una variable más, x2
, tiene un valor negativo en la función objetivo, y se elige,
por lo tanto, como la variable de salida. De acuerdo con los valores de la intersección
(ahora calculados como la columna solución sobre los coeficientes de la columna de x2
),
la primera restricción tiene el valor positivo más pequeño y, por lo tanto, se selecciona
S1
como la variable de entrada. Así, el método simplex nos mueve del punto B al C en la
figura 15.3. Por último, la eliminación de Gauss-Jordan se utiliza para resolver las ecua-
ciones simultáneas. El resultado es la tabla final,
Básica Z x1
x2
S1
S2
S3
S4
Solución
Z 1 0 0 10.1852 7.8704 0 0 1413.889
x2
0 0 1 0.1852 –0.1296 0 0 3.889
x1
0 1 0 –0.1481 0.2037 0 0 4.889
S3
0 0 0 0.1481 –0.2037 1 0 4.111
S4
0 0 0 –0.1852 0.1296 0 1 2.111
Se sabe que éste es el resultado final porque no quedan coeficientes negativos en la fila
de la función objetivo. La solución final se tabula como x1
= 3.889 y x2
= 4.889, que dan
una función objetivo máxima Z = 1413.889. Además, como S3
y S4
están todavía en la
base, sabemos que la solución está limitada por la primera y la segunda restricciones.
15.2 OPTIMIZACIÓN RESTRINGIDA NO LINEAL
Existen varios procedimientos para los problemas de optimización no lineal con la
presencia de restricciones. Generalmente, dichos procedimientos se dividen en directos
15.2 OPTIMIZACIÓN RESTRINGIDA NO LINEAL 409
410 OPTIMIZACIÓN RESTRINGIDA
e indirectos (Rao, 1996). Los procedimientos indirectos típicos usan las llamadas fun-
ciones de penalización. Éstas consideran expresiones adicionales para hacer que la
función objetivo sea menos óptima conforme la solución se aproxima a una restricción.
Así, la solución no será aceptada por violar las restricciones. Aunque tales métodos
llegan a ser útiles en algunos problemas, se vuelven difíciles cuando el problema tiene
muchas restricciones.
El método de búsqueda del gradiente reducido generalizado, o GRG, es uno de los
métodos directos más populares (para detalles, véase Fylstra et al., 1998; Lasdon et al.,
1978; Lasdon y Smith, 1992). Éste es, de hecho, el método no lineal usado en el Solver
de Excel.
Este método primero “reduce” a un problema de optimización no restringido. Lo
hace resolviendo en un conjunto de ecuaciones no lineales las variables básicas en tér-
minos de variables no básicas. Después, se resuelve el problema no restringido utilizan-
do procedimientos similares a los que se describen en el capítulo 14. Se escoge primero
una dirección de búsqueda a lo largo de la cual se busca mejorar la función objetivo. La
selección obvia es un procedimiento cuasi-Newton (BFGS) que, como se describió en
el capítulo 14, requiere el almacenamiento de una aproximación de la matriz hessiana.
Este procedimiento funciona muy bien en la mayoría de los casos. El procedimiento del
gradiente conjugado también está disponible en Excel como una alternativa para pro-
blemas grandes. El Solver de Excel tiene la excelente característica de que, en forma
automática, cambia al método del gradiente conjugado, dependiendo de la capacidad de
almacenamiento. Una vez establecida la dirección de búsqueda, se lleva a cabo una
búsqueda unidimensional a lo largo de esa dirección, mediante un procedimiento de
tamaño de paso variable.
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE
Los paquetes y bibliotecas de software tienen grandes capacidades para la optimización.
En esta sección, se dará una introducción a algunos de los más útiles.
15.3.1 Programación lineal en Excel
Existe una variedad de paquetes de software especialmente diseñados para la progra-
mación lineal. Sin embargo, como su disponibilidad es amplia, este análisis se concen-
trará en la hoja de cálculo de Excel. Ésta usa la opción Solver que se estudió, previamente
en el capítulo 7, para localizar raíces.
La manera en la cual se usa Solver para programación lineal es similar a las aplica-
ciones hechas con anterioridad, en el sentido de cómo se introducen los datos en las
celdas de la hoja de cálculo. La estrategia básica consiste en ubicar una celda que será
optimizada, como una función de las variaciones de las otras celdas sobre la misma hoja
de cálculo. El siguiente ejemplo ilustra cómo realizar esto con el problema del procesa-
miento de gas.
EJEMPLO 15.3 Uso del Solver de Excel para un problema de programación lineal
Planteamiento del problema. Utilice Excel para resolver el problema del procesa-
miento de gas que examinamos en este capítulo.
Solución. Una hoja de cálculo de Excel para calcular los valores pertinentes en el pro-
blema del procesamiento de gas se muestra en la figura 15.4. Las celdas no sombreadas
son las que contienen datos numéricos y etiquetados. Las celdas sombreadas contienen
las cantidades que se calculan basadas en las otras celdas. Reconozca que la celda que va
a ser maximizada es la D12, la cual contiene la utilidad total. Las celdas que cambian son
B4:C4, donde se tienen las cantidades producidas de gas regular y prémium.
Una vez que se crea la hoja de cálculo, se selecciona Solver del menú Tools (Herra-
mientas). En este momento se despliega una ventana de diálogo solicitándole la infor-
mación pertinente. Las celdas del cuadro de diálogo de Solver se llenan así
FIGURA 15.4
Hoja de cálculo en Excel para usar el Solver con la programación lineal.
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 411
Parámetros de Solver
Celda objetivo:
Valor de la
celda objetivo: Máximo Mínimo Valores de:
Cambiando las celdas:
Sujetas a las siguientes restricciones:
Resolver…
Cerrar
Estimar
Opciones…
Agregar…
Cambiar…
Restablecer
todo
Eliminar
Ayuda
$D$12
0
$B$4:$C$4
$B$4 = 0
$C$4 = 0
$D$6 = $E$6
$D$7 = $E$7
$D$8 = $E$8
$D$9 = $E$9
A B C D E
1 Problema para el procesamiento de gas
2
3 Regular Prémium Total Disponible
4 Producido 0 0
5
6 Materia prima 7 11 0 77
7 Tiempo 10 8 0 80
8 Almacen. de gas regular 0 9
9 Almacen. de gas prémium 0 6
10
11 Ganancia por unidad 150 175
12 Ganancia 0 0 0
=B6*B4+C6*C4
=B7*B4+C7*C4
=B4
=C4
=B4*B11 =C4*C11 =B12+C12
412 OPTIMIZACIÓN RESTRINGIDA
Las restricciones se agregan una por una al seleccionar el botón “Agregar”. Esto
abrirá un cuadro de diálogo que se ve así
Entonces, la restricción donde el total de materia prima (celda D6) debe ser menor
o igual que el abastecimiento disponible (E6) se agrega como se muestra. Después de
agregar cada una de las restricciones, puede seleccionarse el botón agregar. Cuando se
haya introducido las cuatro restricciones, seleccionamos el botón Aceptar para regresar
a la ventana de diálogo del Solver.
Ahora, antes de la ejecución, se deberá seleccionar el botón “Opciones…” del Sol-
ver y escoger el cuadro rotulado como “Assume linear model” (Suponer modelo linear).
Esto hará que Excel emplee una versión del algoritmo simplex (en lugar del Solver no
lineal más general que normalmente usa) que acelera su aplicación.
Después de seleccionar esta opción, regrese el menú Solver. Cuando seleccione el
botón aceptar, se abrirá un cuadro de diálogo con un reporte sobre el éxito de la opera-
ción. En el caso actual, el Solver obtiene la solución correcta (figura 15.5).
FIGURA 15.5
Hoja de cálculo de Excel con la solución al problema de programación lineal.
Además de obtener la solución, Solver también ofrece algunos reportes en resumen
útiles. Éstos se explorarán en las aplicaciones a la ingeniería que se describen en la
sección 16.2.
Agregar restricciones
Celdas referencia: Restricciones:
$D$6 = =$E$6
Aceptar Cancelar Agregar Ayuda
A B C D E
1 Problema para el procesamiento de gas
2
3 Regular Prémium Total Disponible
4 Producido 4.888889 3.888889
5
6 Materia prima 7 11 77 77
7 Tiempo 10 8 80 80
8 Almacen. de gas regular 4.888889 9
9 Almacen. de gas prémium 3.888889 6
10
11 Ganancia por unidad 150 175
12 Ganancia 733.3333 680.5556 1413.889
15.3.2 Excel para la optimización no lineal
La manera de usar Solver para la optimización no lineal es similar a las aplicaciones
hechas con anterioridad en el sentido de cómo los datos se introducen en las celdas de
la hoja de cálculo. Una vez más, la estrategia básica es tener una sola celda a optimizar,
como una función de las variaciones en las otras celdas sobre la misma hoja de cálculo.
El siguiente ejemplo ilustra cómo hacer esto con el problema del paracaidista que plan-
teamos en la introducción de esta parte del libro (recuerde el ejemplo PT4.1).
EJEMPLO 15.4 Uso del Solver de Excel para la optimización restringida no lineal
Planteamiento del problema. Recuerde que en el ejemplo PT4.1 se desarrolló una
optimización restringida no lineal para minimizar el costo de la caída de un paracaídas
en un campo de refugiados. Los parámetros de este problema son
Parámetro Símbolo Valor Unidades
Masa total Mt
2000 kg
Aceleración de la gravedad g 9.8 m/s2
Coeficiente de costo (constante) c0
200 $
Coeficiente de costo (longitud) c1
56 $/m
Coeficiente de costo (área) c2
0.1 $/m2
Velocidad crítica de impacto vc
20 m/s
Efecto del área sobre el arrastre kc
3 kg/(s·m2
)
Altura inicial de caída z0
500 m
Sustituyendo estos valores en las ecuaciones (PT4.11) a (PT4.19) se obtiene
Minimizar C = n(200 + 56l + 0.1A2
)
sujeta a
v ≤ 20
n ≥ 1
donde n es un entero y todas las otras variables son reales. Además, las siguientes can-
tidades se definen como
A = 2pr2
l = 2 r
c = 3A
m =
M
n
t
(15.6)
t = raíz 500
9 8 9 8
1
2
2
− + −
⎡
⎣
⎢
⎤
⎦
⎥
−
. .
( )
( / )
m
c
t
m
c
e c m t
(15.7)
v =
9 8
. m
c
(1 – e–(c/m)t
)
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 413
414 OPTIMIZACIÓN RESTRINGIDA
Utilice Excel para resolver este problema con las variables de diseño r y n que minimi-
cen el costo C.
Solución. Antes de llevar este problema a Excel, se debe enfrentar primero el proble-
ma de determinar la raíz en la formulación anterior [ecuación (15.7)]. Un método podría
ser desarrollar un macro para implementar un método de localización de raíces, tal como
el de la bisección o de la secante. (Se ilustrará cómo realizar esto en el próximo capítu-
lo, en la sección 16.3.)
Aunque, hay un procedimiento más fácil mediante la siguiente solución de la ecua-
ción (15.7) que es la iteración de punto fijo,
t
m
c
e
c
m
i
c m ti
+
−
= + −
⎡
⎣
⎢
⎤
⎦
⎥
1
2
2
500
9 8
1
9 8
.
( )
.
( / )
(15.8)
Así, t se ajusta hasta que se satisfaga la ecuación (15.8). Se puede mostrar que para el
rango de los parámetros usados en este problema, la fórmula siempre converge.
Ahora, ¿cómo se puede resolver esta ecuación en una hoja de cálculo? Como se
muestra abajo, se fijan dos celdas para que tengan un valor de t y el lado derecho de la
ecuación (15.8) [es decir, f(t)].
Se puede teclear la ecuación (15.8) en la celda B21 de tal forma que tome el valor del
tiempo en la celda B20 y los valores de los otros parámetros se asignan en otras celdas
en cualquier otro lugar de la hoja (véase a continuación cómo se construye toda la hoja).
Después colóquese en la celda B20 y lleve su valor a la celda B21.
Una vez que se introduce esta fórmula, se desplegará en forma inmediata el mensa-
je de error: “No se pueden resolver referencias circulares”, ya que B20 depende de B21
y viceversa. Ahora, escoja del menú herramientas/Opciones y seleccione calculation
(cálculos). Del cuadro de diálogo “cálculos”, escoja “iteración” y presione “aceptar”. En
forma inmediata la hoja de cálculo iterará estas celdas y el resultado aparecerá como
B21 =(z0+9.8*m^2/c_^2*(1–EXP(–(c_/m*t)))*c_/(9.8*m)
A B C D E F G
19 Raíz localización:
20 t 0
21 f(t) 0.480856
A B
19 Raíz localización:
20 t 10.2551
21 f(t) 10.25595
= − + −
( )
⎡
⎣
⎢
⎤
⎦
⎥
−
z
m
c
m
c
e
c
m
c m t
0
9 8 9 8
1
9 8
2
2
. .
.
( / )
Así, las celdas convergerán a la raíz. Si se quiere tener más precisión, sólo presione la
tecla F9 para que se realicen más iteraciones (por default son 100 iteraciones, que es
posible modificar si así se desea).
En la figura 15.6 se muestra cómo implementar una hoja de cálculo en Excel para
calcular los valores pertinentes. Las celdas no sombreadas son las que contienen los
datos numéricos y las leyendas. Las celdas sombreadas contienen cantidades que se
calculan basadas en las otras celdas. Por ejemplo, la masa en B17 se calculó con la ecua-
ción (15.6) con base en los valores de Mt
(B4) y n (E5). Observe también que algunas
celdas son redundantes. Por ejemplo, la celda E11 se refiere a la celda E5. Esta repetición
en la celda E11 es para que la estructura de las restricciones sea evidente en la hoja.
Finalmente, note que la celda que habrá de minimizarse es E15, que contiene el costo
total. Las celdas que cambian son E4:E5, en las cuales se tiene el radio y el número de
paracaídas.
FIGURA 15.6
Hoja de cálculo en Excel que muestra la solución del problema de optimización no lineal
del paracaídas.
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 415
A B C D E F G
1 Problema de optimización del paracaídas
2
3 Parámetros: Variables de diseño:
4 Mt 2000 r 1
5 g 9.8 n 1
6 cost1 200
7 cost2 56 Restricciones:
8 cost3 0.1
9 vc 20 variable tipo límite
10 kc 3 v 95.8786 = 20
11 z0 500 n 1 = 1
12
13 Valores calculados: Función objetivo:
14 A 6.283185
15 l 1.414214 Costo 283.1438
16 c 18.84956
17 m 2000
18
19 Raíz localización:
20 t 10.26439
21 f(t) 10.26439
416 OPTIMIZACIÓN RESTRINGIDA
Una vez que se ha creado la hoja de cálculo, se elige la solución Solver del menú
herramientas. En esta etapa se desplegará un cuadro de diálogo, solicitándole la infor-
mación pertinente. Las celdas en el cuadro de diálogo de Solver se llenan así
Se deben agregar las restricciones una por una al seleccionar el botón “agregar”.
Esto abrirá un cuadro de diálogo que se ve así
Como se muestra, la restricción de que la velocidad de impacto presente (celda
E10) debe ser menor o igual que la velocidad requerida (G10) puede agregarse como se
muestra. Después de agregar cada restricción se puede seleccionar el botón “agregar”.
Observe que la flecha hacia abajo le permite elegir entre varios tipos de restricciones
(=, =, = y entero). Así, es posible forzar el número del paracaídas (E5) para que sea
un entero.
Una vez introducidas las tres restricciones, se selecciona el botón “aceptar” para
regresar al cuadro de diálogo de Solver. Después de seleccionar esta opción vuelva al
menú de Solver. Cuando seleccione el botón “aceptar” se abrirá un cuadro de diálogo
con un reporte sobre el éxito de la operación. En el caso presente, el Solver obtiene la
solución correcta como se indica en la figura 15.7.
Solver Parameters
Set Target Cell: $E$15
Equal To: Max Min Value of: 0
By Changing Cells:
$E$4:$E$5
Subject to the Constraints:
$E$10 = $G$10
$E$11 = $G$11
n = integer
Solve
Close
Options
Reset All
Help
Guess
Add
Change
Delete
Agregar restricciones
Celdas referencia: Restricciones:
$E$10 = =$G$10
Aceptar Cancelar Agregar Ayuda
De esta forma, se determina que el costo mínimo es $4377.26 si se divide la carga
en seis paquetes con un radio del paracaídas de 2.944 m. Además de obtener la solución,
el Solver también proporciona algunos reportes en resumen útiles. Éstos se explorarán
en las aplicaciones a la ingeniería que se describirán en la sección 16.2.
15.3.3 MATLAB
Como se resume en la tabla 15.1, MATLAB tiene varias funciones interconstruidas para
optimización. Los siguientes dos ejemplos ilustran cómo utilizarlas.
FIGURA 15.7
Hoja de cálculo en Excel con la solución del problema de optimización no lineal referente
al paracaídas.
TABLA 15.1 Funciones de MATLAB para optimización.
Función Descripción
fminbnd Minimiza una función de una variable con restricciones
fminsearch Minimiza una función de varias variables
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 417
A B C D E F G
1 Problema de optimización del paracaídas
2
3 Parámetros: Variables de diseño:
4 Mt 2000 r 2.943652
5 g 9.8 n 6
6 cost1 200
7 cost2 56 Restricciones:
8 cost3 0.1
9 vc 20 variable tipo límite
10 kc 3 v 20 = 20
11 z0 500 n 6 = 1
12
13 Valores calculados: Función objetivo:
14 A 54.44435
15 l 4.162953 Costo 4377.264
16 c 163.333
17 m 333.3333
18
19 Raíz localización:
20 t 27.04077
21 f(t) 27.04077
418 OPTIMIZACIÓN RESTRINGIDA
EJEMPLO 15.5 Uso de MATLAB para la optimización unidimensional
Planteamiento del problema. Utilice la función fminbnd de MATLAB para encontrar
el máximo de
f x x
x
( ) = −
2
2
2
sen
en el intervalo xl
= 0 y xu
= 4. Recuerde que en el capítulo 13 empleamos varios métodos
para resolver este problema para x = 1.7757 y f(x) = 1.4276.
Solución. Primero, necesitamos crear un archivo M para la función.
function f=fx(x)
f = –(2*sin(x)–x^2/10)
Como lo que nos interesa es la maximización, introducimos el negativo de la función.
A continuación llamamos a la función fminbnd con
 x=fminbnd(‘fx’,0,4)
El resultado es
f =
–1.7757
x =
1.4275
Observe que se pueden incluir más argumentos. Una adición útil es establecer op-
ciones de optimización, tales como tolerancia de error o máximo de iteraciones. Esto se
hace con la función optimset, que se utilizó previamente en el ejemplo 7.6 y que tiene el
formato general
optimset(‘param1
’,value1
,’param2
’,value2
,...)
donde parami
es un parámetro que especifica el tipo de opción y valuei
es el valor asig-
nado a esa opción. En el ejemplo si se quiere establecer la tolerancia de 1 × 10–2
,
optimset(‘TolX’,le–2)
De esta manera la solución del presente problema con una tolerancia de 1 × 10–2
se ge-
nera con
 fminbnd(‘fx’,0,4,optimset(‘TolX’,le–2))
cuyo resultado es
f =
–1.7757
ans =
1.4270
Un conjunto completo de parámetros se encuentra llamando a “Help” (Ayuda)
 Help optimset
EJEMPLO 15.6 Uso de MATLAB para optimización multidimensional
Planteamiento del problema. Con la función fminsearch de MATLAB encuentre el
máximo de
f(x, y) = 2xy + 2x – x2
– 2y2
Utilice como valores iniciales x = –1 y y = 1. Recuerde que en el capítulo 14 se utilizaron
varios métodos para resolver este problema para x = 2 y y = 1 con f(x, y) = –2.
Solución. Primero debemos crear un archivo M para retener la función:
function f=fxy(x)
f = –(2*x(1)*x(2)+2*x(1)–x(1)^2–2*x(2)^2)
Puesto que nos interesa la maximización, introducimos el negativo de la función. Después
llamamos la función fminsearch con
 x=fminsearch(‘fxy’,[–1,1])
El resultado es
f =
–2.0000
x =
1.9999 1.0000
Igual que con fminbnd, se pueden agregar argumentos en orden para especificar
parámetros adicionales en el proceso de optimización. Por ejemplo, la función optimset
se utiliza para limitar el número máximo de iteraciones
x=fminsearch(‘fxy’,[–1,1],optimset(‘MaxIter’,2))
obteniéndose como resultado
f =
7.0025
Exiting: Maximum number of iterations has been exceeded
– increase MaxIter option.
Current function value: 7.000000
x =
–1 1
Debido a que hemos fijado límites muy estrictos a las iteraciones, la optimización ter-
mina bien antes de que se alcance el máximo.
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 419
420 OPTIMIZACIÓN RESTRINGIDA
TABLA 15.2 Rutinas IMSL para optimización.
Categoría Rutina Capacidad
Minimización
no restringida
Función univariada
UVMIF Usando sólo valores de la función
UVMID Utilizando valores de la función y de la primera derivada
UVMGS Función no suave
Función multivariada
UMINF Usando gradiente por diferencias finitas
UMING Empleando gradiente analítico
UMIDH Usando hessiano en diferencias finitas
UMIAH Utilizando hessiano analítico
UMCGF Usando gradiente conjugado con el gradiente
en diferencias finitas
UMCGG Empleando gradiente conjugado con gradiente analítico
UMPOL Función no suave
Mínimos cuadrados no
lineales
UNLSF Empleando jacobiano en diferencias finitas
UNLSJ Utilizando jacobiano analítico
Minimización con
cotas simples
BCONF Usando gradiente en diferencias finitas
BCONG Utilizando gradiente analítico
BCODH Empleando hessiano en diferencias finitas
BCOAH Usando hessiano analítico
BCPOL Función no suave
BCLSF Mínimos cuadrados no lineales usando jacobiano
en diferencias finitas
BCLSJ Mínimos cuadrados no lineales utilizando
jacobiano analítico
Minimización restringida
lineal
DLPRS Programación lineal densa
QPROG Programación cuadrática
LCONF Función objetivo general con gradiente en diferencias finitas
LCONG Función objetivo general con gradiente analítico
Minimización restringida
no lineal
NCONF Utilizando gradiente en diferencias finitas
NCONG Usando gradiente analítico
Rutinas de servicio
CDGRD Gradiente en diferencias centrales
FDGRD Gradiente en diferencias hacia adelante
FDHES Hessiano en diferencias hacia adelante
GDHES Hessiano en diferencias hacia adelante con gradiente analítico
FDJAC Jacobiano en diferencias hacia adelante
CHGRD Verificación del gradiente proporcionado por el usuario
CHHES Verificación del hessiano dado por el usuario
CHJAC Verificación del jacobiano proporcionado por el usuario
GGUES Puntos de inicio generados
15.3.4 IMSL
IMSL tiene varias subrutinas en Fortran para optimización (tabla 15.2). El presente
análisis se concentrará en la rutina UVMID. Esta rutina localiza el punto mínimo de
una función suave en una sola variable, mediante evaluaciones de la función y de las
primeras derivadas.
UVMID es implementado por la siguiente instrucción CALL:
CALL UVMID (F, G, XGUESS, ERREL, GTOL, MAXFN, A, B, X, FX, GX)
donde
F = FUNCIÓN suministrada por el usuario para calcular el valor de la función que
va a minimizarse. La forma es F(X), donde X = punto donde se evalúa la fun-
ción. (Entrada). X no deberá ser modificada por F. F = valor de la función
calculado en el punto X. (Salida)
G = FUNCIÓN suministrada por el usuario para calcular la derivada de la función,
donde G = valor de la función calculado en el punto X. (Salida)
F y G se deben declarar como EXTERNAL en el programa de llamado.
XGUESS = Un valor inicial del punto mínimo de F. (Entrada)
ERREL = Exactitud relativa requerida del valor final de X. (Entrada)
GTOL = Tolerancia de la derivada usada para decidir si el punto actual es un míni-
mo. (Entrada)
MAXFN = Número máximo permitido de evaluaciones de la función. (Entrada)
A = Punto extremo inferior del intervalo en el cual se localizará el máximo. (Entrada)
B = Punto extremo superior del intervalo en el cual se localizará el máximo. (Entrada)
FX = Valor de la función en X. (Salida)
GX = Valor de la derivada en X. (Salida)
EJEMPLO 15.7 Uso de IMSL para localizar un solo óptimo
Planteamiento del problema. Use UVMID para determinar el máximo de la función
unidimensional resuelta en el capítulo 13 (recuerde los ejemplos del 13.1 al 13.3).
f(x) = 2 sen x –
x2
10
Solución. Un ejemplo de un programa principal en Fortran 90 y de una función usan-
do UVMIF para resolver este problema se escribe así:
PROGRAM Oned
USE mimsl
IMPLICIT NONE
INTEGER::maxfn=50
REAL::xguess=0.,errel=1.E-6,gtol=1.E-6,a=–2.,b=2.
REAL::x,f,g,fx,gx
EXTERNAL f,g
CALL UVMID(f,g,xguess,errrel,gtol,maxfn,a,b,x,fx,gx)
PRINT *,x,fx,gx
END PROGRAM
15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 421
422 OPTIMIZACIÓN RESTRINGIDA
FUNCTION f(x)
IMPLICIT NONE
REAL::x,f
f=–(2.*SIN(X) – x**2/10.)
END FUNCTION
FUNCTION g(x)
IMPLICIT NONE
REAL::x,g
g=–(2.*COS(x) – 2.*x/10.)
END FUNCTION
Observe que como la rutina está dada para minimización, se introduce el negativo
de la función. Un ejemplo de corrida es
1.427334 –1.775726 –4.739729E-04
15.1 Una compañía fabrica dos tipos de productos, A y B. Éstos se
fabrican durante una semana laboral de 40 horas para enviarse al
final de la semana. Se requieren 20 kg y 5 kg de materia prima por
kilogramo de producto, respectivamente, y la compañía tiene acceso
a 9500 kg de materia prima por semana. Sólo se puede crear un
producto a la vez, con tiempos de producción para cada uno de ellos
de 0.04 y 0.12 horas, respectivamente. La planta sólo puede almace-
nar550kgentotaldeproductosporsemana.Porúltimo,lacompañía
obtiene utilidades de $45 y $20 por cada unidad de A y B, respecti-
vamente. Cada unidad de producto equivale a un kilogramo.
a) Plantee el problema de programación lineal para maximizar
la utilidad.
b) Resuelva en forma gráfica el problema de programación lineal.
c) Solucione el problema de programación lineal con el método
simplex.
d) Resuelva el problema con algún paquete de software.
e) Evalúe cuál de las opciones siguientes elevaría las utilidades
al máximo: incrementar la materia prima, el almacenamien-
to, o el tiempo de producción.
15.2 Suponga que para el ejemplo 15.1, la planta de procesa-
miento de gas decide producir un tercer grado de producto con
las características siguientes:
Supremo
Gas crudo 15 m3
/ton
Tiempo de producción 12 hr/ton
Almacenamiento 5 ton
Utilidad $250/ton
Además, suponga que se ha descubierto una nueva fuente de gas
crudo, lo que duplicó el total disponible a 154 m3
/semana.
a) Plantee el problema de programación lineal para maximizar
la utilidad.
b) Resuelva el problema de programación lineal con el método
simplex.
c) Solucione el problema con un paquete de software.
d) Evalúe cuál de las opciones siguientes aumentaría las utili-
dades al máximo: incrementar la materia prima, el almace-
namiento, o el tiempo de producción.
15.3 Considere el problema de programación lineal siguiente:
Maximizar f(x, y) = 1.75x + 1.25y
sujeta a:
1.2x + 2.25y  14
x + 1.1y  8
2.5x + y  9
x  0
y  0
Obtenga la solución:
a) En forma gráfica.
b) Usando el método simplex.
c) Utilizando un paquete o biblioteca de software apropiados
(por ejemplo, Excel, MATLAB, IMSL).
15.4 Considere el problema de programación lineal que sigue:
Maximizar f(x, y) = 6x + 8y
sujeta a
5x + 2y  40
6x + 6y  60
2x + 4y  32
x + 2y  500
PROBLEMAS
x  0
y  0
Obtenga la solución:
a) En forma gráfica.
b) Usando el método simplex.
c) Utilizando un paquete o biblioteca de software apropiados
(por ejemplo, Excel, MATLAB o IMSL).
15.5 Emplee un paquete o biblioteca de software (por ejemplo,
Excel, MATLAB o IMSL) para resolver el problema siguiente
de optimización no lineal restringido:
Maximizar f(x, y) = 1.2x + 2y – y3
sujeta a
2x + y  2
x  0
y  0
15.6 Utilice un paquete o biblioteca de software (por ejemplo,
Excel, MATLAB o IMSL) para resolver el siguiente problema
de optimización no lineal restringido:
Maximizar f(x, y) = 15x + 15y
sujeta a
x2
+ y2
 1
x + 2y  2.1
x  0
y  0
15.7 Considere el problema siguiente de optimización no lineal
restringido:
Minimizar f(x y) = (x – 3)2
+ (y – 3)2
sujeta a
x + 2y = 4
a) Utilice el enfoque gráfico para estimar la solución.
b) Emplee un paquete o biblioteca de software (como Excel)
para obtener una estimación más exacta.
15.8 Use un paquete o biblioteca de software para determinar el
máximo de
f(x, y) = 2.25xy + 1.75y – 1.5x2
– 2y2
15.9 Emplee un paquete o biblioteca de software para determi-
nar el máximo de
f(x, y) = 4x + 2y + x2
– 2x4
+ 2xy – 3y2
15.10 Dada la función siguiente,
f(x, y) = –8x + x2
+ 12y + 4y2
+ 2xy
use un paquete o biblioteca de software para determinar el mínimo:
a) En forma gráfica.
b) Numéricamente.
c) Sustituya el resultado del inciso b) en la función a fin de
determinar el valor mínimo de f(x, y).
d) Determine el Hessiano y su determinante, y sustituya el resul-
tado del inciso b) para verificar que se detectó un mínimo.
15.11 Se le pide a usted que diseñe un silo cónico cubierto para
almacenar 50 m3
de desechos líquidos. Suponga que los costos de
excavación son de $100/m3
, los de cubrimiento lateral son de $50/
m2
, y los de la cubierta son de $25/m2
. Determine las dimensiones
del silo que minimizan el costo a) si la pendiente lateral no está
restringida, y b) la pendiente lateral debe ser menor de 45º.
15.12 Una compañía automotriz tiene dos versiones del mismo
modelo de auto para vender, un cupé de dos puertas y otro de
tamaño grande de cuatro puertas.
a) Encuentre gráficamente cuántos autos de cada diseño deben
producirse a fin de maximizar la utilidad, y diga de cuánto
es esta ganancia.
b) Con Excel, resuelva el mismo problema.
Dos Cuatro
puertas puertas Disponibilidad
Utilidad $13000/auto $15000/auto
Tiempo de producción 17.5 h/auto 21 h/auto 8000 h/año
Almacenamiento 400 autos 350 autos
Demanda del consumidor 680/auto 500/auto 240000 autos
15.13 Og es el líder de la tribu de cavernícolas Calm Waters,
que está sorprendentemente avanzada en matemáticas, aunque
con mucho atraso tecnológico. Él debe decidir acerca del núme-
ro de mazos y hachas de piedra que deben producirse para la
batalla próxima contra la tribu vecina de los Peaceful Sunset.
La experiencia le ha enseñado que un mazo es bueno para gene-
rar en promedio 0.45 muertes y 0.65 heridas, en tanto que un ha-
cha produce 0.70 muertes y 0.35 heridas. La producción de un
mazo requiere 5.1 libras de piedra y 2.1 horas-hombre de traba-
jo, mientras que para un hacha se necesitan 3.2 libras de piedra
y 4.3 horas-hombre de trabajo. La tribu de Og dispone de 240
libras de piedra para la producción de armas, y de un total de
200 horas-hombre de trabajo, antes de que pase el tiempo espe-
rado para esta batalla (la cual, Og está seguro, pondrá fin para
siempre a la guerra). Al cuantificar el daño que se inflige al
enemigo, Og valora una muerte tanto como dos heridas, y desea
producir la mezcla de armas que maximice el daño.
a) Formule la situación como un problema de programación
lineal. Asegúrese de definir las variables de decisión.
b) Represente este problema en forma gráfica, y asegúrese de
identificar todos los puntos de esquina factibles, así como
los no factibles.
c) Resuelva el problema de forma gráfica.
d) Solucione el problema con el uso de una computadora.
PROBLEMAS 423
CAPÍTULO 16
Estudio de casos:
optimización
El propósito de este capítulo es utilizar los métodos numéricos analizados en los capí-
tulos 13 al 15 para resolver problemas prácticos de ingeniería que involucren optimiza-
ción. Estos problemas son importantes, ya que a los ingenieros con frecuencia les pide
que den la “mejor” solución a un problema. Como muchos de estos casos implican sis-
temas complicados e interacciones, entonces los métodos numéricos y las computadoras
son necesarios para desarrollar soluciones óptimas.
Las siguientes aplicaciones son típicas de aquellas que se encuentran en forma ru-
tinaria durante los estudios superiores y de graduados. Además, son representativas de
problemas con los que se enfrentará el ingeniero profesionalmente. Los problemas se
toman de las áreas de la ingeniería siguientes: química/bioingeniería, civil/ambiental,
eléctrica y mecánica/aeronáutica.
La primera aplicación, tomada de la ingeniería química/bioingeniería, tiene que
ver con el uso de la optimización restringida no lineal para el diseño óptimo de un tan-
que cilíndrico. Se usa el Solver de Excel para encontrar la solución.
Después, se utiliza la programación lineal para resolver un problema de la ingenie-
ría civil/ambiental: minimizar el costo del tratamiento de aguas residuales para cumplir
con los objetivos de calidad del agua en un río. En este ejemplo, se expone la noción de
los precios indefinidos y su uso para mostrar la sensibilidad de una solución en progra-
mación lineal.
La tercera aplicación, tomada de la ingeniería eléctrica, implica maximizar la po-
tencia a través de un potenciómetro en un circuito eléctrico. La solución involucra opti-
mización no restringida unidimensional. Además de resolver el problema, se muestra
cómo el lenguaje macro de Visual Basic permite el acceso al algoritmo de búsqueda de
la sección dorada, dentro del contexto del ambiente Excel.
Por último, en la cuarta aplicación, tomada de la ingeniería mecánica/aeronáutica,
se busca determinar los desplazamientos de la pierna al pedalear en una bicicleta de
montaña, minimizando la ecuación bidimensional de energía potencial.
16.1 DISEÑO DE UN TANQUE CON EL MENOR COSTO
(INGENIERÍA QUÍMICA/BIOINGENIERÍA)
Antecedentes. Los ingenieros químicos (así como otros especialistas tales como los
ingenieros mecánicos y civiles) con frecuencia se enfrentan al problema general del
diseño de recipientes que transporten líquidos o gases. Suponga que se le pide determi-
nar las dimensiones de un tanque cilíndrico pequeño para el transporte de desechos
tóxicos que se van a trasladar en un camión. Su objetivo general será minimizar el cos-
to del tanque. Sin embargo, además del costo, usted debe asegurar que pueda contener
la cantidad requerida de líquido y que no exceda las dimensiones de la caja del camión.
Debido a que el tanque transportará desechos tóxicos, se requiere que éste sea de un
espesor determinado, dentro de ciertos reglamentos.
Un esquema del tanque y de la caja se muestra en la figura 16.1. Como se observa,
el tanque es un cilindro con dos placas soldadas en cada extremo.
El costo del tanque tiene dos componentes: 1. gastos del material, que están basados
en el peso, y 2. gastos de soldadura que se basan en la longitud a soldar. Note que esto
último consiste en soldar tanto la junta interior como la junta exterior donde las placas se
unen con el cilindro. Los datos necesarios para el problema se resumen en la tabla 16.1.
Solución. El objetivo aquí es construir un tanque a un costo mínimo. El costo está
relacionado con las variables de diseño (longitud y diámetro), ya que tienen efecto sobre
la masa del tanque y las longitudes a soldar. Además, el problema tiene restricciones,
pues el tanque debe 1. caber en la caja del camión y 2. tener capacidad para el volumen
requerido de material.
El costo se obtiene de los costos del material del tanque y de la soldadura. Por lo
tanto, la función objetivo se formula como una minimización
C = cmm + cw艎w (16.1)
TABLA 16.1 Parámetros para determinar las dimensiones óptimas de un tanque
cilíndrico para transporte de desechos tóxicos.
Parámetro Símbolo Valor Unidades
Volumen requerido Vo 0.8 m3
Espesor t 3 cm
Densidad r 8000 kg/m3
Longitud de la caja Lmáx 2 m
Ancho de la caja Dmáx 1 m
Costo del material cm 4.5 $/kg
Costo de soldadura cw 20 $/m
Lmáx
Dmáx
t
L
D
t
FIGURA 16.1
Parámetros para determinar
las dimensiones óptimas de
un tanque cilíndrico.
16.1 DISEÑO DE UN TANQUE CON EL MENOR COSTO 425
426 ESTUDIO DE CASOS: OPTIMIZACIÓN
donde C = costo ($), m = masa (kg), 艎w = longitud a soldar (m), cm y cw = factores de
costo por masa ($/kg) y longitud de soldadura ($/m), respectivamente.
Después, se relacionan la masa y la longitud de soldadura con las dimensiones del
tambor. Primero, se calcula la masa como el volumen del material por su densidad. El
volumen del material usado para construir las paredes laterales (es decir, el cilindro) se
calcula así:
V L
D
t
D
cilindro = +
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
⎡
⎣
⎢
⎤
⎦
⎥
π
2 2
2 2
–
Para cada placa circular en los extremos,
V
D
t t
placa = +
⎛
⎝
⎞
⎠
π
2
2
Así, la masa se calcula mediante
m L
D
t
D D
t t
= +
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
⎡
⎣
⎢
⎤
⎦
⎥ + +
⎛
⎝
⎞
⎠
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
ρ π π
2 2
2
2
2 2 2
– (16.2)
donde r = densidad (kg/m3
).
La longitud de soldadura para unir cada placa es igual a la circunferencia interior y
exterior del cilindro. Para las dos placas, la longitud total de soldadura será
w = +
⎛
⎝
⎞
⎠
+
⎡
⎣
⎢
⎤
⎦
⎥ = +
2 2
2
2
2
4
π π π
D
t
D
D t
( ) (16.3)
Dados los valores para D y L (recuerde que el espesor t es fijado por un reglamento), las
ecuaciones (16.1), (16.2) y (16.3) ofrecen un medio para calcular el costo. También ob-
serve que cuando las ecuaciones (16.2) y (16.3) se sustituyen en la ecuación (16.1), la
función objetivo que se obtiene es no lineal.
Después, se formulan las restricciones. Primero, se debe calcular el volumen que el
tanque terminado puede contener,
V
D
L
=
π 2
4
Este valor debe ser igual al volumen deseado. Así, una restricción es
πD L
Vo
2
4
=
donde Vo es el volumen deseado (m3
).
Las restricciones restantes tienen que ver con que el tanque se ajuste a las dimen-
siones de la caja del camión,
L  Lmáx
D  Dmáx
El problema ahora está especificado. Con la sustitución de los valores de la tabla 16.1,
se resume como
Maximizar C = 4.5m + 20艎w
sujeto a
πD L
L
D
2
4
0 8
1
=
≤
≤
.
2
donde
m L
D D D
= +
⎛
⎝
⎞
⎠
⎛
⎝
⎞
⎠
⎡
⎣
⎢
⎤
⎦
⎥ + +
⎛
⎝
⎞
⎠
⎧
⎨
⎪
⎩
⎪
⎫
⎬
⎪
⎭
⎪
8 000
2
0 03
2
2
2
0 03 0 03
2 2 2
π π
. – . .
y
艎w = 4p (D + 0.03)
El problema ahora se puede resolver de diferentes formas. Sin embargo, el método
más simple para un problema de esta magnitud consiste en utilizar una herramienta como
el Solver de Excel. La hoja de cálculo para realizar esto se muestra en la figura 16.2.
En el caso mostrado, se introducen los límites superiores para D y L. En este caso,
el volumen es mayor que el requerido (1.57  0.8).
FIGURA 16.2
Hoja de cálculo de Excel
lista para evaluar el costo
de un tanque sujeto a
restricciones de volumen y
tamaño.
16.1 DISEÑO DE UN TANQUE CON EL MENOR COSTO 427
A B C D E F G
1 Diseño del tanque óptimo
2
3 Parámetros: Variables de diseño:
4 V0 0.8 D 1
5 t 0.03 L 2
6 rho 8000
7 Lmáx 2 Restricciones:
8 Dmáx 1 D 1 = 1
9 cm 4.5 L 2 = 2
10 cw 20 Vol 1.570796 = 0.8
11
12 Valores calculados: Función objetivo:
13 m 1976.791 C 9154.425
14 Iw 12.94336
15
16 Vcoraza 0.19415
17 Vtapas 0.052948
428 ESTUDIO DE CASOS: OPTIMIZACIÓN
Una vez creada la hoja de cálculo, la selección Solver se elije del menú Tools (Herra-
mientas). Aquí aparecerá una ventana de diálogo que le solicitará la información perti-
nente. Las celdas correspondientes para el cuadro de diálogo Solver se pueden llenar así
Al seleccionar el botón Resolver, un cuadro de diálogo se abrirá mostrando un re-
porte sobre el éxito de la operación. En el presente caso, Solver obtiene la solución co-
rrecta, la cual se muestra en la figura 16.3. Observe que el diámetro óptimo es casi el
valor de la restricción de 1 m. Así, si aumentara la capacidad requerida del tanque, podría
quitarse esta restricción y el problema se reduciría a una búsqueda unidimensional para
la longitud.
FIGURA 16.3
Resultados de la
minimización. El precio
se reduce de $9154 a
$5723, debido al menor
volumen con dimensiones
D = 0.98 m y L = 1.05 m.
A B C D E F G
1 Diseño del tanque óptimo
2
3 Parámetros: Variables de diseño
4 V0 0.8 D 0.98351
5 t 0.03 L 1.053033
6 rho 8000
7 Lmáx 2 Restricciones
8 Dmáx 1 D 0.98351 = 1
9 cm 4.5 L 1.053033 = 2
10 cw 20 Vol 0.799999 = 0.8
11
12 Valores calculados: Función objetivo:
13 m 1215.206 C 5723.149
14 Iw 12.73614
15
16 Vcoraza 0.100587
17 Vtapas 0.051314
Parámetros de Solver
Celda objetivo:
Valor de la
celda objetivo: Máximo Mínimo Valores de:
Cambiando las celdas:
Sujetas a las siguientes restricciones:
Resolver…
Cerrar
Estimar
Opciones…
Agregar…
Cambiar…
Restablecer
todo
Eliminar
Ayuda
$E$13
$E$4:$E$5
$E$10 = $G$10
$E$8  = $G$8
$E$9  = $G$9
0
16.2 MÍNIMO COSTO PARA EL TRATAMIENTO DE AGUAS
RESIDUALES (INGENIERÍA CIVIL/AMBIENTAL)
Antecedentes. Las descargas de aguas residuales de las grandes ciudades son, con
frecuencia, la causa principal de la contaminación en un río. La figura 16.4 presenta el
tipo de sistema que un ingeniero ambiental podría enfrentar. Varias ciudades están lo-
calizadas en las orillas de un río y sus afluentes. Cada una genera contaminación a una
razón de carga P en unidades de miligramos por día (mg/d). La carga contaminante está
sujeta al tratamiento de desechos que resultan de una remoción fraccional x. Así, la
cantidad descargada al río es el exceso no removido por el tratamiento,
Wi = (1 – xi)Pi (16.4)
donde Wi = descarga de desechos de la i-ésima ciudad.
Cuando las descargas de desechos entran en la corriente, se mezclan con los conta-
minantes de las fuentes corriente arriba. Si se supone un mezclado completo en el
punto de descarga, la concentración resultante en el punto de descarga se calcula con un
simple balance de masa,
c
W Q c
Q
i
i u u
i
=
+
(16.5)
donde Qu = flujo (L/d), cu = concentración (mg/L) en el río corriente arriba de la des-
carga, y Qi = flujo abajo del punto de descarga (L/d).
Después de que se establece la concentración en el punto de mezclado, los procesos
de descomposición químicos y biológicos pueden eliminar algo de contaminación, con-
forme fluye corriente abajo. En el presente caso, se supone que esta eliminación puede
representarse por un simple factor de reducción R.
Suponiendoquelasfuentesdeagua(esdecir,lasciudades1y2enelríomostradoantes)
están libres de contaminantes, las concentraciones en los cuatro nodos se calculan así:
(16.6)
FIGURA 16.4
Cuatro plantas de
tratamiento de aguas
residuales que descargan
contaminantes a un sistema
de ríos. Los segmentos del
río entre las ciudades están
marcados con números
dentro de un círculo. 4
P1
3
2
P4
P2
P3
W1
W2
W3 W4
34
23
13
45
WWTP2
1
WWTP1
WWTP4
WWTP3
c
x P
Q
c
x P
Q
c
R Q c R Q c x P
Q
c
R Q c x P
Q
1
1 1
13
2
2 2
23
3
13 13 1 23 23 2 3 3
34
4
34 34 3 4 4
45
1
1
1
1
=
=
=
+ +
=
+
( – )
( – )
( – )
( – )
16.2 MÍNIMO COSTO PARA EL TRATAMIENTO DE AGUAS RESIDUALES 429
430 ESTUDIO DE CASOS: OPTIMIZACIÓN
Después, se observa que el tratamiento de aguas tiene un costo diferente, di ($1000/
mg eliminado), en cada una de las instalaciones. Así, el costo total de tratamiento (sobre
una base diaria) se calcula como
Z = d1P1x1 + d2P2x2 + d3P3x3 + d4P4x4 (16.7)
donde Z es el costo total diario del tratamiento ($1000/d).
La pieza final en la “decisión” son las regulaciones ambientales. Para proteger los
usos benéficos del río (por ejemplo, paseos en bote, pesca, uso como balneario), las
regulaciones indican que la concentración del río no debe exceder un estándar de calidad
cs en el agua.
En la tabla 16.2 se resumen los parámetros para el sistema de ríos de la figura 16.4.
Observe que hay una diferencia en los costos de tratamiento entre las ciudades corrien-
te arriba (1 y 2) y corriente abajo (3 y 4), debido a la naturaleza obsoleta de las plantas
corriente abajo.
La concentración se calcula con la ecuación (16.6) y el resultado se presenta en la
columna sombreada, para el caso en que no se implementó tratamiento de residuos (es
decir, donde todas las x = 0). Observe que el estándar de 20 mg/L se viola en todos los
puntos de mezclado.
Utilice la programación lineal para determinar los niveles de tratamiento que satis-
facen los estándares de calidad del agua a un costo mínimo. También evalúe el impacto al
hacer el estándar más restringido debajo de la ciudad 3. Es decir, realice el mismo ejerci-
cio; pero ahora con los estándares para los segmentos 3-4 y 4-5 disminuidos a 10 mg/L.
Solución. Todos los factores antes mencionados se combinan en el siguiente problema
de programación lineal:
Minimizar Z = d1P1x1 + d2P2x2 + d3P3x3 + d4P4x4 (16.8)
sujeto a las siguientes restricciones
( – )
( – )
( – )
1
1
1
1 1
13
1
2 2
23
2
13 13 1 23 23 2 3 3
34
3
x P
Q
c
x P
Q
c
R Q c R Q c x P
Q
c
s
s
s
≤
≤
+ +
≤
(16.9)
TABLA 16.2 Parámetros para las cuatro plantas de tratamiento de aguas residuales que descargan contaminantes a
un sistema de ríos, junto con las concentraciones resultantes (ci) para tratamiento cero. También se dan
el flujo, el factor de remoción y los estándares para los segmentos del río.
Ciudad Pi (mg/d) di ($10–6
/mg) ci (mg/L) Segmento Q (L/d) R cs (mg/L)
1 1.00 × 109
2 100 1–3 1.00 × 107
0.5 20
2 2.00 × 109
2 40 2–3 5.00 × 107
0.35 20
3 4.00 × 109
4 47.3 3–4 1.10 × 108
0.6 20
4 2.50 × 109
4 22.5 4–5 2.50 × 108
20
( – )
, , ,
1
0 1
34 34 3 4 4
45
4
1 2 3 4
R Q c x P
Q
c
x x x x
s
+
≤
≤ ≤
(16.10)
De esta forma, la función objetivo es para minimizar el costo del tratamiento [ecua-
ción (16.8)] sujeto a la restricción de los estándares de calidad del agua que se deben
satisfacer en todas las partes del sistema [ecuación (16.9)]. Además, el tratamiento no
debe ser negativo o mayor que el 100% de remoción [ecuación (16.10)].
El problema se resuelve utilizando diversos paquetes. Para esta aplicación se uti-
liza la hoja de cálculo Excel. Como se observa en la figura 16.5, los datos junto con los
cálculos de la concentración se pueden introducir fácilmente en las celdas de la hoja
de cálculo.
Una vez que se crea la hoja de cálculo, se elige la selección Solver del menú Tools
(Herramientas). En este punto, se desplegará una ventana de diálogo, solicitándole la
información pertinente. Las celdas correspondientes para el cuadro de diálogo se podrían
llenar así
Observe que no se muestran todas las restricciones, ya que el cuadro de diálogo desplie-
ga sólo seis restricciones a la vez.
Cuando se selecciona el botón Resolver, se abre un cuadro de diálogo con un repor-
te sobre el éxito de la operación. En el presente caso, Solver obtiene la solución correc-
ta, la cual se muestra en la figura 16.6. Antes de aceptar la solución (al seleccionar el
botón OK (aceptar) en el cuadro reporte del Solver), observe que se hayan generado 3
reportes: Respuesta, Sensibilidad y Límites. Seleccione el reporte Sensibilidad y después
presione el botón OK para aceptar la solución. Solver generará automáticamente un re-
porte de Sensibilidad, como el de la figura 16.7.
Ahora examinemos la solución (figura 16.6). Observe que el estándar será satisfecho
en todos los puntos de mezclado. De hecho, la concentración en la ciudad 4 en realidad
será menor que el estándar (16.28 mg/L), a pesar de que no se requerirá tratamiento para
la ciudad 4.
16.2 MÍNIMO COSTO PARA EL TRATAMIENTO DE AGUAS RESIDUALES 431
Parámetros de Solver
Celda objetivo:
Valor de la
celda objetivo: Máximo Mínimo Valores de:
Cambiando las celdas:
Sujetas a las siguientes restricciones:
Resolver…
Cerrar
Estimar
Opciones…
Agregar…
Cambiar…
Restablecer
todo
Eliminar
Ayuda
$H$9
0
$C$4:$C$7
$C$7 =1
$C$7 =0
$F$4 =$G$4
$F$5 =$G$5
$F$6 =$G$6
$F$7 =$G$7
432 ESTUDIO DE CASOS: OPTIMIZACIÓN
FIGURA 16.5
Hoja de cálculo de Excel
lista para evaluar el costo
del tratamiento de aguas en
un sistema de ríos regulado.
La columna F contiene el
cálculo de la concentración
de acuerdo con la ecuación
(16.6). Las celdas F4 y
H4 están resaltadas para
mostrar las fórmulas usadas
para calcular c1 y el costo
del tratamiento para la
ciudad 1. Además, se
resalta la celda H9 que
muestra la fórmula para el
costo total que es el que hay
que minimizar [ecuación
(16.8)].
FIGURA 16.6
Resultados de la minimización. Los estándares de calidad del agua se satisfacen a un costo de $12600/día. Observe que
a pesar del hecho de que no se requiere tratamiento para la ciudad 4, la concentración en su punto de mezclado excede el
estándar.
A B C D E F G H
1 Costo mínimo del tratamiento de aguas residuales
2 No tratada Tratamiento Descarga Costo unit. Concent. Estándar Costo de
3 Ciudad P x W d en el río de CA tratamiento
4 1 1.00E+09 0 1.00E+09 2.00E-06 100.00 20.00 0.00
5 2 2.00E+09 0 2.00E+09 2.00E-06 40.00 20.00 0.00
6 3 4.00E+09 0 4.00E+09 4.00E-06 47.27 20.00 0.00
7 4 2.50E+09 0 2.50E+09 4.00E-06 22.48 20.00 0.00
8 Flujo en Remoción
9 Segmento el río en el río Total 0.00
10 1-3 1.00E+07 0.5
11 2-3 5.00E+07 0.35
12 3-4 1.10E+08 0.6
13 4-5 2.50E+08
=D4/B10 =$B$4*$C$4*$E$4 =SUM(B4:H7)
A B C D E F G H
1 Costo mínimo del tratamiento de aguas residuales
2 No tratada Tratamiento Descarga Costo unit. Concent. Estándar Costo del
3 Ciudad P x W d en el río de CA tratamiento
4 1 1.00E+09 0.8 2.00E+08 2.00E-06 20.00 20.00 1600.00
5 2 2.00E+09 0.5 1.00E+09 2.00E-06 20.00 20.00 2000.00
6 3 4.00E+09 0.5625 1.75 E+09 4.00E-06 20.00 20.00 9000.00
7 4 2.50E+09 0 2.50E+09 4.00E-06 15.28 20.00 0.00
8 Flujo en Remoción
9 Segmento el río en el río Total 12600.00
10 1-3 1.00E+07 0.5
11 2-3 5.00E+07 0.35
12 3-4 1.10E+08 0.6
13 4-5 2.50E+08
Como un ejercicio final, se pueden disminuir los estándares de 3-4 y 4-5 para tener
10 mg/L. Antes de hacerlo, se examina el reporte de Sensibilidad. En el caso presente,
la columna clave de la figura 16.7 es la de los multiplicadores de Lagrange (el precio
anticipado). El precio anticipado es un valor que expresa la sensibilidad de la función
objetivo (en nuestro caso, el costo) a una unidad de cambio de una de las restricciones
(estándares de calidad-agua). Por lo tanto, representa el costo adicional en que se incu-
rrirá al hacer más restrictivos los estándares. En nuestro ejemplo, es interesante que el
precio anticipado mayor, –$440/∆cs3, se da para uno de los cambios de estándar (es
decir, corriente abajo desde la ciudad 3) que se están contemplando. Lo anterior advier-
te que nuestra modificación será costosa.
Esto se confirma cuando se vuelve a ejecutar el Solver con los nuevos estándares (es
decir, se disminuye el valor en las celdas G6 y G7 a 10). Como se muestra en la tabla 16.3,
elresultadoesqueelcostodeltratamientoaumentóde$12600/díaa$19640/día.Además,
al reducir el estándar de concentraciones para las llegadas inferiores significará que la
ciudad 4 debe comenzar a tratar sus desechos, y que la ciudad 3 debe actualizar su trata-
miento. Note también que no se afecta el tratamiento en las ciudades corriente arriba.
16.3 MÁXIMA TRANSFERENCIA DE POTENCIA EN UN CIRCUITO
(INGENIERÍA ELÉCTRICA)
Antecedentes. El circuito de resistencias simple que se presenta en la figura 16.8
contiene tres resistores fijos y uno ajustable. Los resistores ajustables se llaman potenció-
metros. Los valores de los parámetros son V = 80 V, R1 = 8 Ω, R2 = 12 Ω y R3 = 10 Ω.
a) Encuentre el valor de la resistencia ajustable Ra que maximiza la transferencia de
potencia a través de las terminales 1 y 2. b) Realice un análisis de sensibilidad para
determinar cómo varían la máxima potencia y el valor correspondiente del potencióme-
tro (Ra) conforme V varía en un rango de 45 a 105 V.
Solución. A partir de las leyes de Kirchhoff es posible obtener una expresión para la
potencia del circuito:
P R
VR R
R R R R R R R R
R
a
a
a a
a
( )
( )
=
+ + + +
⎡
⎣
⎢
⎤
⎦
⎥
3
1 2 3 3 3 2
2
(16.11)
TABLA 16.3 Comparación de dos escenarios que muestran el impacto de diferentes
regulaciones sobre los costos de tratamiento.
Escenario 1: Todas las cs = 20 Escenario 2: Corriente abajo cs = 10
Ciudad x c Ciudad x c
1 0.8 20 1 0.8 20
2 0.5 20 2 0.5 20
3 0.5625 20 3 0.8375 10
4 0 15.28 4 0.264 10
Costo = $12600 Costo = $19640
16.3 MÁXIMA TRANSFERENCIA DE POTENCIA EN UN CIRCUITO 433
434 ESTUDIO DE CASOS: OPTIMIZACIÓN
FIGURA 16.7
Reporte de la sensibilidad
en una hoja de cálculo
para evaluar el costo del
tratamiento de residuos en
un sistema de ríos regulado.
R3
1
2
V
⫹
⫺
R2
R1
Ra
FIGURA 16.8
Un circuito de resistencias
con un resistor ajustable, o
potenciómetro.
50 100
40
0
0
Ra
P(Ra)
20
Potencia
máxima
FIGURA 16.9
Una gráfica de transferencia
de potencia a través de
las terminales 1-2 de la
figura 16.8, como una
función de la resistencia del
potenciómetro Ra.
Microsoft Excel 9.0 Sensitivity Report
Worksheet: [Sec1602.xls]Sheet1
Report Created: 12/4/00 5:58:55 PM
Adjustable Cells
Final Reduced
Cell Name Value Gradient
$C$4 x 0.8 0
$C$5 x 0.5 0
$C$6 x 0.562500001 0
$C$7 x 0 10000
Constraints
Final Lagrange
Cell Name Value Multiplier
$F$4 conc 20.00 -440.00
$F$5 conc 20.00 0.00
$F$6 conc 20.00 -30.00
$F$7 conc 15.28 0.00
Sustituyendo los valores de los parámetros se obtiene la gráfica mostrada en la figura
16.9. Observe que la máxima transferencia de potencia se presenta con una resistencia
de aproximadamente 16 Ω.
Resolveremos este problema de dos formas con la hoja de cálculo Excel. Primero,
se emplean prueba y error y la opción Solver. Después, se desarrollará un programa
macro en Visual BASIC, para realizar un análisis de sensibilidad.
a) En la figura 16.10 se muestra una hoja de cálculo de Excel para implementar la
ecuación (16.11). Como se indica, la ecuación (16.11) se introduce en la celda B9. Enton-
ces el valor de Ra (celda B8) se varía en forma de prueba y error hasta que se obtenga
un residuo mínimo. En este ejemplo, el resultado es una potencia de 30.03 W con un
valor en el potenciómetro de Ra = 16.44 Ω.
Un procedimiento mejor consiste en utilizar la opción Solver del menú Tools (He-
rramientas) de la hoja de cálculo. Se desplegará una ventana de diálogo solicitándole la
información pertinente. Las celdas correspondientes para el cuadro de diálogo Solver se
llenarán así
Ubique la celda destino: B9
Igual a ● máx ❍ mín ❍ igual a 0
Por cambio de celdas B8
Cuando se selecciona el botón OK (aceptar), se despliega un cuadro de diálogo con un
reporte sobre el éxito de la operación. En el caso actual, Solver obtiene la misma solución
correcta que se presenta en la figura 16.10.
b) Ahora, aunque el procedimiento anterior es excelente para una sola evaluación,
no es conveniente para los casos donde se emplean múltiples optimizaciones. Tal podría
ser el caso en la segunda parte de esta aplicación, en la cual estamos interesados en
FIGURA 16.10
Determinación en Excel de la máxima potencia a través de un potenciómetro mediante el uso de prueba y error.
16.3 MÁXIMA TRANSFERENCIA DE POTENCIA EN UN CIRCUITO 435
B9 = =(V*Res3*Ra/(Res1*(Ra+Res2+Res3)+Res3*Ra+Res3*Res2))^2/Ra
1
2
3
4
5
6
7
8
9
10
Máxima transferencia de potencia
V 80
Res1 8
Res2 12
Res3 10
Ra 16.444444
P(Ra) 30.03003
A B C D E F G H
436 ESTUDIO DE CASOS: OPTIMIZACIÓN
determinar de qué modo la máxima potencia varía con diferentes valores de voltaje. En
efecto, se podría llamar muchas veces el Solver con los diferentes valores de los pará-
metros; pero esto resultaría ineficiente. Sería preferible desarrollar una función macro
que encuentre el óptimo.
Tal función se muestra en la figura 16.11. Advierta su similitud con el seudocódigo
de la búsqueda de la sección dorada que se presentó en la figura 13.5. Además, observe
que una función se debe definir también para calcular la potencia de acuerdo con la
ecuación (16.11).
En la figura 16.12 se muestra una hoja de cálculo Excel que utiliza este macro para
evaluar la sensibilidad de la solución al voltaje. Se tiene una columna de valores que
cubre los valores de los voltajes (es decir, de 45 a 105 V). En la celda B9 se tiene una
función macro que referencia el valor adyacente de V (los 45 voltios en A9). Además, se
dan también los otros parámetros en el argumento de la función. Advierta que, mientras
la referencia a V es relativa, las referencias a los valores iniciales superior e inferior y a
las resistencias son absolutas (es decir, incluyen el signo $). Esto se hizo de tal forma
que cuando la fórmula se copie abajo, las referencias absolutas queden fijas; mientras
que la referencia relativa corresponda al voltaje en el mismo renglón. Una estrategia
similar se usa para introducir la ecuación (16.11) en la celda C9.
Cuando se copian las fórmulas hacia abajo, el resultado es como el que se presenta
en la figura 16.12. La máxima potencia se puede graficar para visualizar el impacto de
las variaciones de voltaje. En la figura 16.13 se observa que la potencia aumenta con el
voltaje.
Los resultados de los valores correspondientes en el potenciómetro (Ra) son más
interesantes. La hoja de cálculo indica que para un mismo valor, 16.44 Ω, da una máxi-
ma potencia. Tal resultado podría ser difícil de intuir basándose en una inspección de la
ecuación (16.11).
16.4 DISEÑO DE UNA BICICLETA DE MONTAÑA (INGENIERÍA
MECÁNICA/AERONÁUTICA)
Antecedentes. Por su trabajo en la industria de la construcción, los ingenieros civiles
se asocian comúnmente con el diseño estructural. Sin embargo, otras especialidades de
la ingeniería también deben tratar con el impacto de fuerzas sobre los dispositivos que
diseñan. En particular, los ingenieros mecánicos y aeronáuticos deben evaluar tanto la
respuesta estática como la dinámica, en una amplia clase de vehículos que van desde
automóviles hasta vehículos espaciales.
El interés reciente en bicicletas de competencia y recreativas ha propiciado que los
ingenieros tengan que dirigir sus habilidades hacia el diseño y prueba de bicicletas de
montaña (figura 16.14a). Suponga que se necesita predecir los desplazamientos horizon-
tal y vertical en un sistema de frenos de una bicicleta como respuesta a una fuerza.
Considere que las fuerzas que usted debe analizar se pueden simplificar, como se ilustra
en la figura 16.14b. Le interesa probar la respuesta de la armadura cuando se ejerce una
fuerza en cualquier dirección designada por el ángulo q.
Los parámetros para el problema son E = módulo de Young = 2 × 1011
Pa, A = área
de sección transversal = 0.0001 m2
, w = ancho = 0.44 m, ᐍ = longitud = 0.56 m y h =
Option Explicit
Function Golden(xlow, xhigh, R1, R2, R3, V)
Dim iter As Integer, maxit As Integer, ea As Double, es As Double
Dim fx As Double, xL As Double, xU As Double, d As Double, x1 as Double
Dim x2 As Double, f1 As Double, f2 As Double, xopt As Double
Const R As Double = (5 ^ 0.5 – 1) / 2
maxit = 50
es = 0.001
xL = xlow
xU = xhigh
iter = 1
d = R * (xU – xL)
x1 = xL + d
x2 = xU – d
f1 = f(x1, R1, R2, R3, V)
f2 = f(x2, R1, R2, R3, V)
If f1  f2 Then
xopt = x1
fx = f1
Else
xopt = x2
fx = f2
End If
Do
d = R * d
If f1  f2 Then
xL = x2
x2 = x1
x1 = xL + d
f2 = f1
f1 = f(x1, R1, R2, R3, V)
Else
xU = x1
x1 = x2
x2 = xU – d
f1 = f2
f2 = f(x2, R1, R2, R3, V)
End If
iter = iter + 1
If f1  f2 Then
xopt = x1
fx =f1
Else
xopt = x2
fx = f2
End If
If xopt  0 Then ea = (1 – R) * Abs((xU – xL) / xopt) * 100
If ea = es Or iter = maxit Then Exit Do
Loop
Golden = xopt
End Function
Function f(Ra, R1, R2, R3, V)
f = (V * R3 * Ra / (R1 * (Ra + R2 + R3) + R3 * Ra + R3 * R2)) ^ 2 / Ra
End Function
FIGURA 16.11
Macro para Excel escrito en
Visual BASIC que determina
un máximo con la búsqueda
de la sección dorada.
16.4 DISEÑO DE UNA BICICLETA DE MONTAÑA 437
438 ESTUDIO DE CASOS: OPTIMIZACIÓN
45 105
40
60
0
P (W)
75
20 Ra (⍀)
V (V)
FIGURA 16.13
Resultados del análisis de sensibilidad del efecto de las variaciones de voltaje sobre la
máxima potencia.
A B C D
1 Máxima transferencia de potencia
2
3 R1 8
4 R2 12
5 R3 10
6 Rmín 0.1
7 Rmáx 100
8 V Ra P(Ra)
9 45 16.44444 9.501689
10 60 16.44444 16.89189
11 75 16.44444 26.39358
12 90 16.44444 38.00676
13 105 16.44444 51.73142
= (A9*$B$5*B9/($B$3*(B9+$B$4+$B$5)+$B$5*B9+$B$3*$B$4))^2/B9
Llama a la función macro
hecha en Visual BASIC
= Golden($B$6,$B$7,$B$3,$B$4,$B$5,A9)
Cálculo de la potencia
FIGURA 16.12
Hoja de cálculo de Excel para implementar un análisis de sensibilidad de la máxima potencia con variaciones de voltaje.
Esta rutina accesa el programa macro para la búsqueda de la sección dorada de la figura 16.11.
altura = 0.5 m. Se pueden resolver los desplazamientos en x y y al determinar los valores
que den una energía potencial mínima. Determine los desplazamientos para una fuerza
de 10000 N y una dirección q desde 0°(horizontal) hasta 90°(vertical).
Solución. Este problema se puede plantear al desarrollar la siguiente ecuación para la
energía potencial del sistema de frenado,
V x y
EA
x
EA h
y Fx F y
( , ) –
= ⎛
⎝
⎞
⎠
+ ⎛
⎝
⎞
⎠
   
w
2
2
2
2
2
cos – sen
θ θ (16.12)
Resolver para un ángulo en particular es sencillo. Por ejemplo, para q = 30°, los
valores de los parámetros dados se pueden sustituir en la ecuación (16.12) y obtener
V(x, y) = 5512026x2
+ 28471210y2
– 5000x – 8660y
El mínimo de esta función se determina de diferentes maneras. Por ejemplo, mediante
el Solver de Excel, la energía potencial mínima es –3.62 con deflexiones de x = 0.000786
y y = 0.0000878 m.
En efecto, es posible ejecutar el Solver de Excel en forma repetida para diferentes
valores de q con el propósito de verificar cómo se modifica la solución conforme el
ángulo cambia. En forma alterna, se puede escribir un macro como se hizo en la sección
16.3, de tal manera que se puedan implementar optimizaciones múltiples en forma si-
multánea. Queda claro que, para este caso, debería implementarse un algoritmo de
búsqueda multidimensional. Una tercera forma de resolver el problema sería mediante el
uso de un lenguaje de programación como Fortran 90, junto con una biblioteca de soft-
ware para métodos numéricos como el IMSL.
En cualquiera de los casos, los resultados se muestran en la figura 16.15. Como se
esperaba (figura 16.15a), la deflexión x es máxima cuando la carga está dirigida en la
dirección x (q = 0°) y la deflexión y tiene un máximo cuando la carga está dirigida en
la dirección y (q = 90°). Sin embargo, observe que la deflexión x es mucho más pronun-
ciada que en la dirección y. Esto se ilustra también en la figura 16.15b, donde la energía
potencial es mayor para ángulos menores. Ambos resultados se deben a la geometría del
marco de la bicicleta. Si w fuera mayor, las deflexiones serían más uniformes.
a)
x
F
y
h ᐉ
w
␪
b)
FIGURA 16.14
a) Una bicicleta de montaña junto con b) un diagrama de cuerpo libre
para una parte del marco.
16.4 DISEÑO DE UNA BICICLETA DE MONTAÑA 439
440 ESTUDIO DE CASOS: OPTIMIZACIÓN
Ingeniería química/bioingeniería
16.1 Diseñe el contenedor cilíndrico óptimo (figura P16.1) de
tal forma que abra por un extremo y tenga paredes de espesor
despreciable. El contenedor va a almacenar 0.2 m3
. Realice el
diseño de tal forma que el área del fondo y de sus lados sean
mínimos.
16.2 Diseñe el contenedor cónico óptimo (figura P16.2) de tal
forma que tenga una tapa y paredes de espesor despreciable. El
contenedor va a almacenar 0.5 m3
. Realice el diseño de modo
que tanto su tapa como sus lados sean minimizados.
16.3 La razón de crecimiento de una levadura que produce un
antibiótico es una función de la concentración del alimento c,
g
c
c c c
=
+ + +
2
4 0 8 0 2
2 3
. .
Como se ilustra en la figura P16.3, el crecimiento parte de cero
a muy bajas concentraciones debido a la limitación de la comida.
También parte de cero en altas concentraciones debido a los
efectos de toxicidad. Encuentre el valor de c para el cual el cre-
cimiento es un máximo.
16.4 Una planta química elabora sus tres productos principales
en una semana. Cada uno de estos productos requiere cierta
cantidad de materia prima química y de diferentes tiempos de
0
a)
b)
30 60 90
x
z
0.0000
0.0005
0.0010
m
y
V
(N • m)
0
⫺2
⫺4
⫺6
␪
FIGURA 16.15
a) El impacto de diferentes ángulos sobre las deflexiones (observe que Z es la resultante de
las componentes x y y) y b) la energía potencial de una parte del marco de la bicicleta de
montaña sujeta a una fuerza constante.
PROBLEMAS
producción, obteniéndose diferentes utilidades. La información
necesaria se resume en la tabla P16.4.
Observe que hay suficiente espacio en la bodega de la planta
para almacenar un total de 450 kg/semana.
a) Establezca un problema de programación lineal para maxi-
mizar las utilidades.
b) Resuelva el problema de programación lineal con el método
simplex.
h
r
Abierto
Figura P16.1
Un contenedor cilíndrico sin tapa.
c) Resuelva el problema con un paquete de software.
d) Evalúe cuál de las siguientes opciones aumentará más las
utilidades: incrementar la materia prima, el tiempo de pro-
ducción o el almacenaje.
16.5 Recientemente los ingenieros químicos se han interesado
en el área conocida como minimización de desechos. Ésta con-
sidera la operación de una planta química de modo tal que se
minimicen los impactos sobre el ambiente. Suponga que una
refinería desarrolla un producto, Z1, hecho de dos materias primas
X y Y. La producción de 1 tonelada métrica del producto requie-
re 1 tonelada de X y 2.5 toneladas de Y y produce 1 tonelada de
un líquido de desecho, W. Los ingenieros tienen tres alternativas
para los desechos:
• Producir una tonelada de un producto secundario, Z2, al
agregar una tonelada más de X por cada tonelada de W.
• Producir una tonelada de otro producto secundario, Z3, al
agregar 1 tonelada más de Y por cada tonelada de W.
• Tratar los desechos de tal forma que su descarga sea permi-
sible.
Los productos dan utilidades de $2000, –$75 y $250/tonelada
de Z1, Z2 y Z3, respectivamente. Observe que al producir Z2, de
hecho, se obtiene una pérdida. El costo del proceso de tratamien-
to es de $300/tonelada. Además, la compañía tiene un límite de
7500 y 12500 toneladas de X y Y, respectivamente, durante el
periodo de producción. Determine qué cantidad de productos y
desechos se deben producir para maximizar las utilidades.
16.6 Hay que separar una mezcla de benceno y tolueno en un
reactor flash. ¿Aqué temperatura deberá operarse el reactor para
obtener la mayor pureza de tolueno en la fase líquida (maximizar
xT)? La presión en el reactor es de 800 mm Hg. Las unidades en
la ecuación de Antoine son mm Hg y °C para presión y tempe-
ratura, respectivamente.
x P x P P
P
T
P
T
B T
B T
B
T
sat sat
sat
sat
+ =
=
+
=
+
log ( ) . –
log ( ) . –
10
10
6 905
1211
221
6 953
1 344
219
16.7 A se convertirá en B en un reactor con agitación. El pro-
ducto B y la sustancia sin reaccionarAse purifican en una unidad
de separación. La sustancia A que no entró en la reacción se re-
cicla al reactor. Un ingeniero de procesos ha encontrado que el
costo inicial del sistema es una función de la conversión, xA.
Encuentre la conversión que dará el sistema de menor costo. C
es una constante de proporcionalidad.
h
r
Tapa
5 10
0.4
0
0
c (mg/L)
g
(d⫺1
) 0.2
Figura P16.2
Un contenedor cónico con tapa.
Figura P16.3
La razón de crecimiento de una levadura que produce un
antibiótico contra la concentración de alimento.
Tabla P16.4
Disponibilidad
Producto 1 Producto 2 Producto 3 de fuentes
Materia prima química 6 kg/kg 4 kg/kg 12 kg/kg 2500 kg
Tiempo de producción 0.05 hr/kg 0.1 hr/kg 0.2 hr/kg 55 hr/semana
Utilidad $30/kg $30/kg $35/kg
PROBLEMAS 441
442 ESTUDIO DE CASOS: OPTIMIZACIÓN
Costo =
( – )
. .
C
x x
A A
1
1
6
1
2
0 6 0 6
⎛
⎝
⎜
⎞
⎠
⎟ +
⎛
⎝
⎜
⎞
⎠
⎟
⎡
⎣
⎢
⎢
⎢
⎤
⎦
⎥
⎥
16.8 En el problema 16.7 se utiliza sólo un reactor. Si se usan
dos reactores en serie, cambia la ecuación que rige el sistema.
Encuentre las conversiones en ambos reactores (xA1 y xA2), de
forma que se minimicen los costos totales del sistema.
Costo =
C
x
x x
x
x
A
A A
A
A
( – )
–
( –
.
1
2 1
2
0 6
1
2
1
1
1
⎛
⎝
⎜
⎞
⎠
⎟ +
⎛
⎝
⎜
⎞
⎠
⎟
x
x x
A A
2
2
0 6
2
0 6
5
1
)
.
.
⎛
⎝
⎜
⎜
⎜
⎜
⎞
⎠
⎟
⎟
⎟
⎟
+
⎛
⎝
⎜
⎞
⎠
⎟
⎡
⎣
⎢
⎢
⎢
⎢
⎢
⎤
⎤
⎦
⎥
⎥
⎥
⎥
⎥
16.9 En la reacción:
2A + B ⇔ C
el equilibrio se expresa como:
K
C
A B
C
A C B C
= =
[ ]
[ ] [ ]
[ ]
[ – ] [ – ]
2
0
2
0
2
Si K = 2 M–1
, se puede modificar la concentración inicial de A
(A0). La concentración inicial de B se fija por el proceso, B0 =
100. A cuesta $1/M y C se vende a $10/M. ¿Cuál será la concen-
tración inicial óptima de A que habrá de usarse de manera que
se maximicen las utilidades?
16.10 Una planta química necesita 106
L/día de una solución.
Se tienen tres fuentes con diferentes tasas de precios y suminis-
tros. Cada fuente tiene también concentraciones diferentes de
una impureza que no debe rebasar cierto nivel, para evitar inter-
ferencias con las sustancias químicas. Los datos de las tres
fuentes se resumen en la tabla siguiente. Determine la cantidad
de cada fuente que satisfaga los requerimientos al menor costo.
Fuente 1 Fuente 2 Fuente 3 Requerimiento
Costo ($/L) 0.50 1.00 1.20 minimizar
Suministro (105
L/día) 20 10 5 ≥10
Concentración (mg/L) 135 100 75 ≤100
16.11 Usted tiene que diseñar un canal triangular abierto para
transportar una corriente de desechos desde una planta química
hasta un depósito de estabilización de desechos (figura P16.11).
La velocidad media aumenta con el radio hidráulico, Rh = A/p,
donde A es el área de la sección transversal y P es igual al pe-
rímetro mojado. Como la razón de flujo máximo corresponde a
la velocidad máxima, el diseño óptimo tratará de minimizar el
perímetro mojado. Determine las dimensiones que minimicen
el perímetro mojado para un área dada de la sección transversal.
16.12 Un ingeniero agrícola tiene que diseñar un canal trape-
zoidal abierto para transportar el agua para irrigación (figura
P16.12). Determine las dimensiones óptimas para minimizar el
perímetro mojado en un área de sección transversal de 50 m2
.
¿Las dimensiones están dentro de las medidas estándar?
16.13 Calcule las dimensiones óptimas para un tanque cilíndri-
co térmico diseñado para contener 10m3
de fluido. Los extremos
y laterales cuestan $200/m2
y $100/m2
, respectivamente.Además,
se aplica un recubrimiento a toda el área del tanque, la cual
cuesta $50/m2
.
Ingeniería civil/ambiental
16.14 Si se optimiza la ecuación siguiente se obtiene un mode-
lo de elemento finito para una viga volada sujeta a cargas y
momentos (figura P16.14)
f(x, y) = 5x2
– 5xy + 2.5y2
– x – 1.5y
donde x = desplazamiento final, y y = momento final. Calcule
los valores de x y y que minimizan f(x, y).
16.15 Suponga usted que se le pide diseñar una columna que
soporte una carga de compresión P, como se muestra en la fi-
gura P16.15a. La columna tiene una sección transversal en
forma de tubo de pared delgada, como se aprecia en la figura
P16.15b.
w
d
␪
␪
w
d
␪
␪
Figura P16.11
Figura P16.12
Las variables de diseño son el diámetro medio del tubo d y
el espesor de la pared t. El costo del tubo se calcula por medio
de la ecuación
Costo = f(t, d) = c1W + c2d
donde c1 = 4 y c2 = 2 son los factores de costo y W = peso del tubo,
W = p dt Hr
donde r = densidad del material del tubo = 0.0025 kg/cm3
. La
columna debe dar apoyo a la carga bajo un esfuerzo de compre-
sión sin flexionarse. Por tanto,
Esfuerzo real (s) ≤ esfuerzo máximo de compresión
= sy = 550 kg/cm2
Esfuerzo real ≤ esfuerzo de flexión
El esfuerzo real está dado por
σ
π
= =
P
A
P
dt
Se puede demostrar que el esfuerzo de flexión es
σ
π
b
EI
H dt
= 2
donde E = módulo de elasticidad e I = segundo momento del
área de la sección transversal. Con cálculo se muestra que
I dt d t
= +
π
8
2 2
( )
Por último, los diámetros de los tubos disponibles se encuentran
entre d1 y d2, y el espesor está entre t1 y t2. Desarrolle y resuel-
va este problema con la determinación de los valores de d y t que
minimizan el costo. Obsérvese que H = 275 cm, P = 2000kg,
E = 900000 kg/cm2
, d1 = 1 cm, d2 = 10 cm, t1 = 0.1 cm y
t2 = 1cm.
16.16 El modelo Streeter-Phelps se utiliza para calcular la con-
centración de oxígeno disuelto en un río aguas abajo del punto
de descarga de un drenaje (véase la figura P16.16),
o o
k L
k k k
e e
S
k
e
s
d o
d s a
k t k k t b
a
k t
a d s a
=
+
+
–
–
( – ) – ( – )
– –( ) –
1
(P. 16.16)
donde o = concentración del oxígeno disuelto [mg/L], os = con-
centración de saturación del oxígeno [mg/L], t = tiempo de trave-
sía [d], Lo = concentración de la demanda bioquímica de oxígeno
(DOB) en el punto de mezcla [mg/L], kd = razón de descomposi-
ción de DOB [d–1
], ks = razón de asentamiento de DBO [d–1
], ka =
razón de oxigenación [d–1
], y Sb = demanda de oxígeno sedimen-
tario [mg/L/d].
Como se indica en la figura P16.16, la ecuación (P16.16)
produce un “decaimiento” de oxígeno que alcanza un nivel mí-
nimo crítico oc para cierto tiempo de travesía tc abajo del punto
de descarga. Este punto se denomina “crítico” porque represen-
ta la ubicación en que la biota (flora y fauna) que depende del
oxígeno (como los peces) estaría sujeta a la amenaza máxima.
x
y
Figura P16.14
Viga volada.
Figura P16.15
a) Una columna que soporta una carga de compresión P.
b) La columna tiene una sección transversal en forma de tubo
de pared delgada.
a)
H
P
b)
d
t
Figura P16.16
Un “decaimiento” de oxígeno disuelto debajo del punto de
descarga de un drenaje hacia un río.
15 20
8
12
0
0
t (d)
5
4
10
o
(mg/L) o
os
tc
oc
PROBLEMAS 443
444 ESTUDIO DE CASOS: OPTIMIZACIÓN
Determine el tiempo de travesía y la concentración críticos, dados
los valores siguientes:
os = 10 mg/L kd = 0.2 d–1
ka = 0.8 d–1
ks = 0.06 d–1
Lo = 50 mg/L Sb = 1 mg/L/d
16.17 La distribución bidimensional de la concentración de
cierto contaminante en un canal está descrita por la ecuación
c(x, y) = 7.7 + 0.15x + 0.22y – 0.05x2
–0.016y2
– 0.007xy
Determine la ubicación exacta de la concentración máxima dada
la función, si se sabe que se encuentra entre los límites de –10 ≤
x ≤ 10 y 0 ≤ y ≤ 20.
16.18 El flujo Q [m3
/s] en un canal abierto se pronostica con la
ecuación de Manning (recuerde la sección 8.2)
Q
n
A R S
c
=
1 2 3 1 2
/ /
donde n = coeficiente de rugosidad de Manning (número adi-
mensional que se usa para parametrizar la fricción en el canal),
Ac = área de la sección transversal del canal (m2
), S = pendiente
del canal (adimensional, metros en vertical por metros en hori-
zontal), y R = radio hidráulico (m), el cual está relacionado con
otros parámetros más por R = Ac /P, donde P = perímetro mojado
(m). Como su nombre lo dice, el perímetro mojado es la longitud
de los lados y fondo del canal que están bajo el agua. Por ejem-
plo, para un canal rectangular, se define como P = B + 2H, donde
H = profundidad (m). Suponga que se utiliza esta fórmula para
diseñar un canal recubierto (observe que los granjeros usan cana-
les recubiertos para minimizar las pérdidas por fugas).
a) Dados los parámetros n = 0.03, S = 0.0004, y Q = 1 m3
/s,
determine los valores de B y H que minimizan el perímetro
mojado. Observe que dicho cálculo minimizaría el costo si
los costos del recubrimiento fueran mucho mayores que los
de excavación.
b) Vuelva a resolver el inciso a), pero incluya el costo de ex-
cavación. Para hacer esto minimice la siguiente función de
costo,
C = c1Ac + c2P
donde c1 es un factor de costo para la excavación = $100/m2
,
y c2 es un factor de costo del recubrimiento de $50/m.
c) Analice las implicaciones de los resultados.
16.19 Una viga cilíndrica soporta una carga de compresión de
P = 3 000 kN. Para impedir que la viga se flexione (doble), la
carga debe ser menor que la crítica,
P
EI
L
c =
π2
2
donde E = módulo de Young = 200 × 109
N/m2
, I = pr4
/4 (mo-
mento de inercia del área para una viga cilíndrica de radio r), y
L es la longitud de la viga. Si el volumen de la viga V no puede
exceder de 0.075 m3
, encuentre la altura más grande L que pue-
de utilizarse, así como el radio correspondiente.
16.20 El río Splash tiene una tasa de flujo de 2 × 106
m3
/d, de
los cuales puede derivarse hasta el 70% hacia dos canales por los
que fluye a través de Splish County. Estos canales se usan para
el transporte, irrigación y generación de energía eléctrica, y los
últimos dos usos son fuentes de ingresos. El uso para el trans-
porte requiere una tasa de flujo derivado mínimo de 0.3 × 106
m3
/d para el Canal 1 y 0.2 × 106
m3
/d para el Canal 2. Por razo-
nes políticas se decidió que la diferencia absoluta entre las tasas
de flujo en los dos canales no excediera de 40% del flujo total de-
rivado hacia los canales. El Organismo de Administración del
Agua de Splish County, también ha limitado los costos de man-
tenimiento para el sistema de canales a no más de $1.8 × 106
por
año. Los costos anuales de mantenimiento se estiman con base
en la tasa de flujo diario. Los costos por año para el Canal 1 se
estiman multiplicando $1.1 por los m3
/d de flujo; mientras que
para el Canal 2 el factor de multiplicación es de $1.4 por m3
/d.
El ingreso por la generación de energía eléctrica también se es-
tima con base en la tasa de flujo diario. Para el Canal 1 ésta es
de $4.0 por m3
/d, mientras que para el Canal 2 es de $3.0 por
m3
/d. El ingreso anual por la irrigación también se estima con
base en la tasa de flujo diario, pero primero deben corregirse las
tasas de flujo por las pérdidas de agua en los canales antes de
que se distribuya para irrigar. Esta pérdida es de 30% en el Canal
1 y de 20% en el Canal 2. En ambos canales el ingreso es de $3.2
por m3
/d. Determine los flujos en los canales que harían máxima
la utilidad.
16.21 Determine las áreas de la sección transversal de una viga
que dan como resultado el peso mínimo para la trabe que se es-
tudió en la sección 12.2 (véase la figura 12.4). Los esfuerzos de
torsión (flexión) crítica y tensión máxima de los miembros
de compresión y tensión son de 10 ksi y 20 ksi, respectivamente.
La trabe va a construirse con acero (densidad = 3.5 lb/pie-pulg2
).
Observe que la longitud del miembro horizontal (2) es de 50 pies.
Asimismo, recuerde que el esfuerzo en cada miembro es igual a
la fuerza dividida entre el área de la sección transversal. Plantee
el problema como un problema de programación lineal. Obten-
ga la solución en forma gráfica y con la herramienta Solver de
Excel.
Ingeniería eléctrica
16.22 Alrededor de un conductor en forma de anillo de radio a,
se encuentra una carga total Q distribuida uniformemente.Auna
distancia x del centro del anillo (véase la figura P16.22) se loca-
liza una carga q. La fuerza que el anillo ejerce sobre la carga está
dada por la ecuación
F
e
qQx
x a
=
+
1
4 0
2 2 3 2
π ( ) /
donde e0 = 8.85 × 10–12
C2
/(N m2
), q = Q = 2 × 10–5
C, y a = 0.9m.
Determine la distancia x donde la fuerza es máxima.
16.23 Un sistema consiste en dos plantas de energía que deben
distribuir cargas por una red de transmisión. Los costos de gene-
rar la energía en las plantas 1 y 2 están dados por
F1 = 2p1 + 2
F2 = 10p2
donde p1 y p2 = energía producida en cada una de las plantas. Las
pérdidas de energía debidas a la transmisión L están dadas por
L1 = 0.2p1 + 0.1p2
L2 = 0.2p1 + 0.5p2
La demanda total de energía es de 30 y p1 no debe exceder de
42. Determine la generación de energía necesaria para satisfacer
las demandas con el costo mínimo, con el empleo de una rutina
de optimización como las que tienen, por ejemplo, Excel, software
MATLAB e IMSL.
16.24 El momento de torsión transmitido a un motor de induc-
ción es función del deslizamiento entre la rotación del campo del
estator y la velocidad del rotor s, donde el deslizamiento se de-
fine como
s
n n
n
R
=
–
donde n = revoluciones por segundo de rotación de la velocidad
del estator, y nR = velocidad del rotor. Pueden usarse las leyes de
Kirchhoff para demostrar que el momento de torsión (expresado
en forma adimensional) y el deslizamiento están relacionados
por la ecuación
T
s s
s s s
=
+
15
1 4 3 4
2
2
( – )
( – )( – )
La figura P16.24 muestra esta función. Emplee un método nu-
mérico para determinar el deslizamiento con el que ocurre el
momento de torsión máximo.
16.25
a) Un fabricante de equipo de cómputo produce escáneres e
impresoras. Los recursos necesarios para producirlos así
como las utilidades correspondientes son los que siguen
Equipo Capital Mano de obra Utilidad
($/unidad) (hrs/unidad) ($/unidad)
Escáner 300 20 500
Impresora 400 10 400
Si cada día se dispone de $127000 de capital y 4270 horas de
mano de obra, ¿qué cantidad de cada equipo debe producirse
a diario a fin de maximizar la utilidad?
b) Repita el problema, pero ahora suponga que la utilidad por
cada impresora vendida Pp depende del número de impre-
soras producidas Xp, como en
Pp = 400 – Xp
16.26 Un fabricante proporciona microcircuitos especializados.
Durante los próximos tres meses, sus ventas, costos y tiempo
disponible son los que siguen
Mes 1 Mes 2 Mes 3
Circuitos requeridos 1 000 2 500 2 200
Costo del tiempo normal ($/circuito) 100 100 120
Costo del tiempo extra ($/circuito) 110 120 130
Tiempo de operación regular (hrs) 2 400 2 400 2 400
Tiempo extra (hrs) 720 720 720
Al principio del primer mes no existen circuitos almacenados.
Toma 1.5 horas del tiempo de producción fabricar un circuito y
Figura P16.24
Momento de torsión transmitido a un inductor como función
del deslizamiento.
S
T
4 8 10
3
4
0
0
2
2
6
1
PROBLEMAS 445
x
a
Q
q
Figura P16.22
446 ESTUDIO DE CASOS: OPTIMIZACIÓN
cuesta $5 almacenarlo de un mes al siguiente. Determine un
programa de producción que satisfaga los requerimientos de la
demanda, sin que exceda las restricciones de tiempo de produc-
ción mensual, y minimice el costo. Observe que al final de los 3
meses no debe haber circuitos almacenados.
Ingeniería mecánica/aerospacial
16.27 El arrastre total de un aeroplano se estima por medio de
D V
W
V
= +
⎛
⎝
⎞
⎠
0 01
0 95
2
2
.
.
σ
σ
fricción elevación
donde D = arrastre, s = razón de la densidad del aire entre la
altitud de vuelo y el nivel del mar, W = peso y V = velocidad.
Como se observa en la figura P16.27, los dos factores que con-
tribuyen al arrastre resultan afectados en forma distinta conforme
la velocidad aumenta. Mientras que el arrastre por fricción se
incrementa con la velocidad, el arrastre debido a la elevación
disminuye. La combinación de los dos factores lleva a un arras-
tre mínimo.
a) Si s = 0.6 y W = 16000, determine el arrastre mínimo y la
velocidad a la que ocurre.
b) Además, realice un análisis de sensibilidad para determinar
cómo varía este óptimo en respuesta a un rango de W =
12000 a 20000 con s = 0.6.
16.28 Los baleros de rodamiento están expuestos a fallar por la
fatiga ocasionada por cargas grandes de contacto F (véase
la figura P16.28). Puede demostrarse que el problema de encon-
trar la ubicación del esfuerzo máximo a lo largo del eje x es
equivalente a maximizar la función
f x
x
x
x
x
( )
.
– –
.
=
+
+
+
⎛
⎝
⎞
⎠
+
0 4
1
1 1
0 4
1
2
2
2
Encuentre el valor de x que maximiza a f(x).
16.29 Una compañía aerospacial desarrolla un aditivo nuevo
para el combustible de aeronaves comerciales. El aditivo está
compuesto de tres ingredientes: X, Y y Z. Para el rendimiento
mayor, la cantidad total de aditivo debe ser al menos de 6 mL/L
de combustible. Por razones de seguridad, la suma de los ingre-
dientes X y Y altamente flamables, no debe exceder los 2.5 mL/
L.Además, la cantidad del ingrediente X siempre debe ser mayor
o igual a la de Y, y la de Z debe ser mayor que la mitad de la de
Y. Si el costo por mL para los ingredientes X, Y y Z es de 0.05,
0.025 y 0.15, respectivamente, determine la mezcla de costo
mínimo para un litro de combustible.
16.30 Una empresa manufacturera produce cuatro tipos de
partes automotrices. Cada una de ellas primero se fabrica y lue-
go se le dan los acabados. Las horas de trabajador requeridas y
la utilidad para cada parte son las siguientes
Parte
A B C D
Tiempo de fabricación (hr/100 unidades) 2.5 1.5 2.75 2
Tiempo de acabados (hr/100 unidades) 3.5 3 3 2
Utilidad ($/100 unidades) 375 275 475 325
Las capacidades de los talleres de fabricación y acabados para
el mes siguiente son de 640 y 960 horas, respectivamente. De-
termine qué cantidad de cada parte debe producirse a fin de
maximizar la utilidad.
400 800 1 200
10 000
20 000
Total
Mínimo
Lift Fricción
0
0
V
D
Figura P16.27
Gráfica de arrastre versus la velocidad de un aeroplano.
F
F
x
Figura P16.28
Baleros de rodamiento.
EPÍLOGO: PARTE CUATRO
Los epílogos de las otras partes de este libro contienen un análisis y un resumen tabular
de las ventajas y desventajas de los diferentes métodos, así como las fórmulas y relacio-
nes importantes. La mayoría de los métodos de esta parte son complicados y, en conse-
cuencia, no se pueden resumir en fórmulas simples y tablas. Por lo tanto, aquí nos
desviaremos un poco para ofrecer el siguiente análisis escrito de las alternativas y las
referencias adicionales.
PT4.4 ALTERNATIVAS
En el capítulo 13 se trató de la búsqueda del valor óptimo de una función con una sola
variable no restringida. El método de búsqueda de la sección dorada es un método ce-
rrado que requiere de un intervalo que contenga un solo valor óptimo conocido. Tiene
la ventaja de minimizar las evaluaciones de la función, y ser siempre convergente. La
interpolación cuadrática funciona mejor cuando se implementa como un método cerra-
do, aunque también se puede programar como un método abierto. Sin embargo, en tales
casos, puede diverger. Tanto el método de búsqueda de la sección dorada como el de
interpolación cuadrática no requieren evaluaciones de la derivada. Así, ambos son apro-
piados cuando el intervalo puede definirse fácilmente y las evaluaciones de la función
son demasiadas.
El método de Newton es un método abierto que no requiere que esté dentro de un
intervalo óptimo. Puede implementarse en una representación de forma cerrada, cuando
la primera y segunda derivadas se determinan en forma analítica. También se implemen-
ta en una forma similar el método de la secante al representar las derivadas en diferen-
cias finitas. Aunque el método de Newton converge rápidamente cerca del óptimo,
puede diverger con valores iniciales pobres. Además la convergencia depende también
de la naturaleza de la función.
En el capítulo 14 se trataron dos tipos generales de métodos para resolver problemas
de optimización no restringidos multidimensionales. Los métodos directos como el de
búsquedas aleatorias y el de búsquedas univariadas no requieren el cálculo de las deri-
vadas de la función y con frecuencia son ineficientes. Sin embargo, proporcionan también
una herramienta para encontrar el óptimo global más que el local. Los métodos de bús-
queda con un patrón como el método de Powell llegan a ser muy eficientes y tampoco
requieren del cálculo de la derivada.
Los métodos con gradiente usan la primera y, algunas veces, la segunda derivadas
para encontrar el óptimo. El método del mayor ascenso/descenso ofrece un procedimien-
to confiable pero en ocasiones lento. Por el contrario, el método de Newton converge
con rapidez cuando se está en la vecindad de una raíz; pero algunas veces sufre de di-
vergencia. El método de Marquardt utiliza el método de mayor descenso en la ubicación
inicial, muy lejos del óptimo, y después cambia al método de Newton cerca del óptimo,
en un intento por aprovechar las fortalezas de cada método.
El método de Newton puede ser costoso computacionalmente ya que requiere calcu-
lar tanto del vector gradiente como de la matriz hessiana. Los métodos cuasi-Newton
448 EPÍLOGO: PARTE CUATRO
intentan evitar estos problemas al usar aproximaciones para reducir el número de eva-
luaciones de matrices (particularmente, la evaluación, el almacenamiento y la inversión
del hessiano).
En la actualidad, las investigaciones continúan para explorar las características y
las ventajas correspondientes de varios métodos híbridos y en tándem. Algunos ejemplos
son el método del gradiente conjugado de Fletcher-Reeves y los métodos cuasi-Newton
de Davidon-Fletcher-Powell.
El capítulo 15 se dedicó a la optimización restringida. Para problemas lineales, la
programación lineal basada en el método simplex ofrece un medio eficiente para obtener
soluciones. Procedimientos tales como el método GRG sirven para resolver problemas
restringidos no lineales.
Los paquetes y las bibliotecas de software contienen una gran variedad de capaci-
dades para optimización. La más amplia es la biblioteca del IMSL, la cual contiene
muchas subrutinas para implementar la mayoría de los algoritmos de optimización es-
tándar. Al momento de imprimir este libro Excel tenía las capacidades de optimización
más útiles por medio de su herramienta Solver. Debido a que esta herramienta se diseñó
para implementar la forma más general de optimización (la optimización restringida no
lineal), se puede usar para resolver problemas en todas las áreas consideradas en esta
parte del libro.
PT4.5 REFERENCIAS ADICIONALES
Para problemas unidimensionales, el método de Brent es un método híbrido que toma
en cuenta la naturaleza de la función asegurando una convergencia lenta y uniforme para
valores iniciales pobres, y una convergencia rápida cerca del óptimo. Véase Press et al.
(1992) para más detalles. En problemas de varias dimensiones, se puede encontrar in-
formación adicional en Dennis y Schnabel (1996), Fletcher (1980, 1981), Gill et al. (1981)
y Luenberger (1984).
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
PARTE CINCO
PARTE CINCO
AJUSTE DE CURVAS
PT5.1 MOTIVACIÓN
Es común que los datos se dan como valores discretos a lo largo de un continuo. Sin em-
bargo, quizás usted requiera la estimación de un punto entre valores discretos. Esta parte
del libro describe las técnicas para ajustar curvas a estos datos para obtener estimaciones
intermedias. Además, usted puede necesitar la versión simplificada de una función com-
plicada. Una manera de hacerlo es calcular valores de la función en un número discreto
de valores en el intervalo de interés. Después, se obtiene una función más simple para
ajustar dichos valores. Estas dos aplicaciones se conocen como ajuste de curvas.
Existen dos métodos generales para el ajuste de curvas que se distinguen entre sí al
considerar la cantidad de error asociado con los datos. Primero, si los datos exhiben un
grado significativo de error o “ruido”, la estrategia será obtener una sola curva que re-
presente la tendencia general de los datos. Como cualquier dato individual puede ser
incorrecto, no se busca intersecar todos los puntos. En lugar de esto, se construye una
curva que siga la tendencia de los puntos tomados como un grupo. Un procedimiento de
este tipo se llama regresión por mínimos cuadrados (figura PT5.1a).
Segundo, si se sabe que los datos son muy precisos, el procedimiento básico será
colocar una curva o una serie de curvas que pasen por cada uno de los puntos en forma
directa. Usualmente tales datos provienen de tablas. Como ejemplos se tienen los valo-
res de la densidad del agua o la capacidad calorífica de los gases en función de la tem-
peratura. La estimación de valores entre puntos discretos bien conocidos se llama
interpolación (figuras PT5.1b y PT5.1c).
PT5.1.1 Métodos sin computadora para el ajuste de curvas
El método más simple para ajustar una curva a los datos consiste en ubicar los puntos y
después trazar una curva que visualmente se acerque a los datos. Aunque ésta es una
operación válida cuando se requiere una estimación rápida, los resultados dependen del
punto de vista subjetivo de la persona que dibuja la curva.
Por ejemplo, en la figura PT5.1 se muestran curvas trazadas a partir del mismo
conjunto de datos por tres ingenieros. El primero no intentó unir los puntos, sino, más
bien, caracterizar la tendencia general ascendente de los datos con una línea recta (figu-
ra PT5.1a). El segundo ingeniero usó segmentos de línea recta o interpolación lineal
para unir los puntos (figura PT5.1b). Ésta es una práctica común en la ingeniería. Si los
valores se encuentran cercanos a ser lineales o están cercanamente espaciados, tal
aproximación ofrece estimaciones que son adecuadas en muchos cálculos de ingeniería.
No obstante, si la relación es altamente curvilínea o los datos están muy espaciados, es
posible introducir errores mediante esa interpolación lineal. El tercer ingeniero utiliza
curvas suaves para tratar de capturar el serpenteado sugerido por los datos (figura PT5.1c).
Un cuarto o quinto ingeniero podría, de igual forma, desarrollar ajustes alternativos.
Obviamente, nuestra meta aquí es desarrollar métodos sistemáticos y objetivos con el
propósito de obtener tales curvas.
452 AJUSTE DE CURVAS
PT5.1.2 Ajuste de curvas y práctica en ingeniería
Su primer encuentro con el ajuste de curvas podría haber sido determinar valores inter-
medios a partir de datos tabulados (por ejemplo, tablas de interés para ingeniería eco-
nómica, o tablas de vapor en termodinámica). En lo que resta de su carrera, usted tendrá
frecuentes oportunidades para estimar valores intermedios a partir de tablas.
Aunque se han tabulado muchas propiedades ampliamente utilizadas en la inge-
niería, existen otras que no están disponibles en esta forma conveniente. Los casos es-
peciales y nuevos contextos de problemas requieren que usted recolecte sus propios
datos y desarrolle sus propias relaciones predictivas. Se han encontrado dos tipos de
aplicaciones en el ajuste de datos experimentales: análisis de la tendencia y prueba
de hipótesis.
El análisis de la tendencia representa el proceso de utilizar el comportamiento de
los datos para realizar predicciones. En casos donde los datos son medidas de alta pre-
f (x)
x
a)
f (x)
x
b)
f (x)
x
c)
FIGURA PT5.1
Tres intentos para ajustar una “mejor” curva con cinco puntos dados. a) Regresión por
mínimos cuadrados, b) interpolación lineal y a) interpolación curvilínea.
cisión, se usan polinomios de interpolación. Los datos imprecisos se analizan mediante
una regresión por mínimos cuadrados.
El análisis de la tendencia sirve para predecir o pronosticar valores de la variable
dependiente. Esto puede implicar una extrapolación más allá de los límites de los datos
observados o una interpolación dentro del intervalo de los datos. Por lo común, en todos
los campos de la ingeniería se presentan problemas de este tipo.
Una segunda aplicación del ajuste de curvas experimental en ingeniería es la prue-
ba de hipótesis. Aquí, un modelo matemático existente se compara con los datos obte-
nidos. Si se desconocen los coeficientes del modelo, será necesario determinar los
valores que mejor se ajusten a los datos observados. Por otro lado, si ya se dispone de la
estimación de los coeficientes del modelo sería conveniente comparar los valores predi-
chos del modelo con los observados para probar qué tan adecuado es el modelo. Con
frecuencia, se comparan modelos alternativos y se elige “el mejor” considerando las
observaciones hechas en forma empírica.
Además de las aplicaciones mencionadas en la ingeniería, el ajuste de curvas es
importante para implementar otros métodos numéricos, tales como la integración y la
solución aproximada de ecuaciones diferenciales. Por último, las técnicas de ajuste de
curvas son útiles para obtener funciones simples con la finalidad de aproximar funciones
complicadas.
PT5.2 ANTECEDENTES MATEMÁTICOS
Los fundamentos matemáticos de la interpolación se encuentran en el conocimiento
sobre las expansiones de la serie de Taylor y las diferencias finitas divididas que se
presentaron en el capítulo 4. La regresión por mínimos cuadrados requiere además de
la información en el campo de la estadística. Si usted conoce los conceptos de la media,
desviación estándar, suma residual de los cuadrados, distribución normal e intervalos
de confianza, puede omitir el estudio de las siguientes páginas y pasar directamente a
la sección PT5.3. Si no recuerda muy bien estos conceptos o necesita de un repaso, el
estudio del siguiente material le servirá como introducción a esos temas.
PT5.2.1 Estadística simple
Suponga que en el curso de un estudio de ingeniería se realizaron varias mediciones de
una cantidad específica. Por ejemplo, la tabla PT5.1 contiene 24 lecturas del coeficiente
de expansión térmica del acero. Tomados así, los datos ofrecen una información limita-
da (es decir, que los valores tienen un mínimo de 6.395 y un máximo de 6.775). Se ob-
tiene una mayor comprensión al analizar los datos mediante uno o más estadísticos, bien
seleccionados, que den tanta información como sea posible acerca de las características
específicas del conjunto de datos. Esos estadísticos descriptivos se seleccionan para
TABLA PT5.1 Mediciones del coeficiente de expansión térmica del acero
[× 10–6
in/(in · °F)].
6.495 6.595 6.615 6.635 6.485 6.555
6.665 6.505 6.435 6.625 6.715 6.655
6.755 6.625 6.715 6.575 6.655 6.605
6.565 6.515 6.555 6.395 6.775 6.685
PT5.2 ANTECEDENTES MATEMÁTICOS 453
454 AJUSTE DE CURVAS
representar 1. la posición del centro de la distribución de los datos y 2. el grado de dis-
persión de los datos.
El estadístico de posición más común es la media aritmética. La media aritmética
(–
y) de una muestra se define como la suma de los datos (yi) dividida entre el número de
datos (n), o
y
y
n
i
=
Σ
(PT5.1)
donde la sumatoria (y todas las sumatorias que siguen en esta introducción) va desde
i = 1 hasta n.
La medida de dispersión más común para una muestra es la desviación estándar
(sy) respecto de la media,
s
S
n
y
t
=
−1
(PT5.2)
donde St es la suma total de los cuadrados de las diferencias entre los datos y la media, o
S y y
t i
= Σ( – )2
(PT5.3)
Así, si las mediciones se encuentran muy dispersas alrededor de la media, St (y, en con-
secuencia, sy) será grande. Si están agrupadas cerca de ella, la desviación estándar será
pequeña. La dispersión también se puede representar por el cuadrado de la desviación
estándar, llamada la varianza:
s
S
n
y
t
2
1
=
−
(PT5.4)
Observe que el denominador en ambas ecuaciones (PT5.2) y (PT5.4) es n – 1. La canti-
dad n – 1 se conoce como los grados de libertad. Por lo tanto, se dice que St y sy consi-
deran n – 1 grados de libertad. Esta nomenclatura se obtiene del hecho de que la suma
de las cantidades sobre las cuales se basa St ( – , – , , – )
es decir, y y y y y yn
1 2 … es cero.
En consecuencia, si se conoce –
y y se especifican los valores de n – 1, el valor restante
queda determinado. Así, sólo n – 1 de los valores se dice que se determinan libremente.
Otra justificación para dividir entre n – 1 es el hecho de que no tiene sentido hablar de
la dispersión de un solo dato. Cuando n = 1, las ecuaciones (PT5.2) y (PT5.4) dan un
resultado sin sentido: infinito.
Se deberá observar que hay otra fórmula alternativa más conveniente, para calcular
la desviación estándar,
s
y y n
n
y
i i
2
2 2
1
=
−
−
Σ Σ
( ) /
Esta versión no requiere el cálculo previo de –
y y se obtiene el mismo resultado que con
la ecuación (PT5.4).
Un estadístico final que tiene utilidad para cuantificar la dispersión de los datos es
el coeficiente de variación (c.v.). Tal estadístico es el cociente de la desviación estándar
entre la media. De esta manera, proporciona una medición normalizada de la dispersión.
Con frecuencia se multiplica por 100 para expresarlo como porcentaje:
c.v. =
s
y
y
100% (PT5.5)
Observe que el coeficiente de variación tiene un carácter similar al del error relativo
porcentual (et) analizado en la sección 3.3. Es decir, éste es la razón de una medición de
error (sy) respecto a un estimado del valor verdadero (–
y).
EJEMPLO PT5.1 Estadística simple de una muestra
Planteamiento del problema. Calcule la media, la varianza, la desviación estándar
y el coeficiente de variación para los datos de la tabla PT5.1.
TABLA PT5.2 Cálculos para estadísticos con las lecturas del coeficiente de expansión
térmica. Las frecuencias y los límites se calculan para construir el
histograma que se muestra en la figura PT5.2.
Intervalo
Límite Límite
i yi (yi – y
–)2
Frecuencia inferior superior
1 6.395 0.042025 1 6.36 6.40
2 6.435 0.027225 1 6.40 6.44
3 6.485 0.013225
4 6.495 0.011025
5 6.505 0.009025 4 6.48 6.52
6 6.515 0.007225
7 6.555 0.002025 2 6.52 6.56
8 6.555 0.002025
9 6.565 0.001225
10 6.575 0.000625 3 6.56 6.60
11 6.595 0.000025
12 6.605 0.000025
13 6.615 0.000225
14 6.625 0.000625 5 6.60 6.64
15 6.625 0.000625
16 6.635 0.001225
17 6.655 0.003025
18 6.655 0.003025 3 6.64 6.68
19 6.665 0.004225
20 6.685 0.007225
21 6.715 0.013225 3 6.68 6.72
22 6.715 0.013225
23 6.755 0.024025 1 6.72 6.76
24 6.775 0.030625 1 6.76 6.80
∑ 158.4 0.217000






PT5.2 ANTECEDENTES MATEMÁTICOS 455
456 AJUSTE DE CURVAS
Solución. Se suman los datos (tabla PT5.2) y los resultados sirven para calcular [ecua-
ción (PT5.1)]
y = =
158 4
24
6 6
.
.
Como se observa en la tabla PT5.2, la suma de los cuadrados de las diferencias es
0.217000, los cuales se usan para calcular la desviación estándar [ecuación (PT5.2)]:
sy =
−
=
0 217000
24 1
0 097133
.
.
la varianza [ecuación (PT5.4)]:
sy
2
0 009435
= .
y el coeficiente de variación [ecuación (PT5.5)]:
c.v. = =
0 097133
6 6
100 1 47
.
.
% . %
PT5.2.2 La distribución normal
Otra característica útil en el presente análisis es la distribución de datos (es decir, la
forma en que los datos se distribuyen alrededor de la media). Un histograma proporcio-
na una representación visual simple de la distribución. Como se observa en la tabla PT5.2,
el histograma se construye al ordenar las mediciones en intervalos. Las unidades de
medición se grafican en las abscisas; y la frecuencia de ocurrencia de cada intervalo, en
las ordenadas. Así, cinco de las mediciones se encuentran entre 6.60 y 6.64. Como se
advierte en la figura PT5.2, el histograma indica que la mayoría de los datos se agrupa
cerca del valor de la media de 6.6.
Si se tiene un conjunto muy grande de datos, el histograma se puede aproximar
mediante una curva suave. La curva simétrica, en forma de campana que se sobrepone
en la figura PT5.2, es una de estas formas características (la distribución normal). Da-
das suficientes mediciones, en este caso particular el histograma se aproximará a la
distribución normal.
Los conceptos de media, desviación estándar, suma residual de los cuadrados y
distribución normal tienen una gran importancia en la práctica de la ingeniería. Un ejem-
plo muy simple es su uso para cuantificar la confianza que se puede tener en una medición
en particular. Si una cantidad está normalmente distribuida, el intervalo limitado por –
y
– sy y –
y + sy abarcará en forma aproximada el 68% de las mediciones totales. De manera
similar, el intervalo limitado por –
y – 2sy y –
y + 2sy abarcará alrededor del 95%.
Por ejemplo, para los datos de la tabla PT5.1 (–
y = 6.6 y sy = 0.097133), se afirma
que aproximadamente el 95% de las lecturas deberán estar entre 6.405734 y 6.794266.
Si alguien nos dijera que tomó una lectura de 7.35, entonces sospecharíamos que la
medición resultó errónea. En la siguiente sección se estudiarán dichas evaluaciones.
PT5.2.3 Estimación de los intervalos de confianza
Como resultará claro de lo expuesto en la sección anterior, uno de los principales obje-
tivos de la estadística es estimar las propiedades de una población basándose en una
muestra limitada que se toma de esa población. Es evidente que es imposible medir el
coeficiente de expansión térmica de cada pieza producida de acero. En consecuencia,
como se muestra en las tablas PT5.1 y PT5.2, es posible realizar un número de medicio-
nes en forma aleatoria y, con base en la muestra, intentar caracterizar las propiedades
de toda la población.
Debido a que se “infieren” propiedades de la población desconocida a partir de una
muestra limitada, el procedimiento se denomina inferencia estadística. Ya que los re-
sultados a menudo se reportan como estimaciones de los parámetros de la población, el
proceso también se conoce como estimación.
Ya se mostró cómo estimar la tendencia central (media de la muestra, –
y) y la dis-
persión (desviación estándar y varianza de la muestra) de una muestra limitada. Ahora,
se describirá en forma breve cómo realizar aseveraciones probabilísticas respecto de la
calidad de esas estimaciones. En particular, se analizará cómo definir un intervalo de
confianza alrededor de un estimado de la media. Se ha escogido este tópico en particu-
lar debido a su relevancia directa para los modelos de regresión que se describirán en el
capítulo 17.
En el siguiente análisis observe que la nomenclatura –
y y sy se refieren a la media de
la muestra y a su desviación estándar, respectivamente. La nomenclatura m y s se refie-
ren a la media y la desviación estándar de la población. Las primeras son algunas veces
referidas como la media y desviación estándar “estimadas”; mientras que las últimas se
llaman la media y la desviación estándar “verdaderas”.
5
4
Frecuencia
3
2
1
6.4 6.6 6.8
0
FIGURA PT5.2
Histograma usado para ilustrar la distribución de datos. Conforme el número de datos
aumenta, el histograma se aproximará a una curva suave, la curva en forma de campana,
llamada la distribución normal.
PT5.2 ANTECEDENTES MATEMÁTICOS 457
458 AJUSTE DE CURVAS
Un estimador de intervalo proporciona el rango de valores dentro del que se espera
que esté el parámetro, con una probabilidad dada. Tales intervalos se describen como
unilateral y bilateral. Como su nombre lo indica, un intervalo unilateral expresa nuestra
confianza en que el parámetro estimado sea menor que o mayor que el valor real. En
cambio, el intervalo bilateral tiene que ver con la proposición más general en que la
estimación concuerda con la verdad, sin considerar el signo de la discrepancia. Como
éste es más general, nos ocuparemos del intervalo bilateral.
Un intervalo bilateral se describe con la relación
P{L ≤ m ≤ U} = 1 – a
que se lee: “La probabilidad de que la media real de y, m, esté dentro de los límites de L
a U es 1 – a.” La cantidad a se conoce como el nivel de significancia. De esta forma, el
problema de definir un intervalo de confianza se reduce a estimar L y U. Aunque no es
absolutamente necesario, es costumbre visualizar el intervalo bilateral con la probabi-
lidad a, distribuida de manera uniforme, con a/2 en cada cola de la distribución, como
se muestra en la figura PT5.3.
Si se conoce la varianza real de la distribución de y, s2
(lo cual no es frecuente), la
teoría estadística establece que la media de la muestra –
y proviene de una distribución
normal con media m y varianza s2
/n (cuadro PT5.1). En el caso ilustrado en la figura
PT5.3, no se conoce realmente m. Por lo tanto, no se sabe dónde se ubica con exactitud
FIGURA PT5.3
Un intervalo de confianza bilateral. La escala de la abscisa en a) se escribe en las unidades
originales de la variable aleatoria y. b) Es una versión normalizada de las abscisas que tiene
la media ubicada en el origen y se escala el eje de tal manera que la desviación estándar
corresponda a una unidad.
L
␣/2
1 – ␣
Distribución de las
medias de y, y
–
␮ U
y
a)
z– ␣/2 – 1 1
0 z␣/2
z
–
b)
␣/2
␴
– ␴
la curva normal con respecto a –
y. Para evitar este dilema, se calcula una nueva cantidad,
el estimado normal estándar
z
y
n
=
− µ
σ/
(PT5.6)
que representa la distancia normalizada entre –
y y m. De acuerdo con la teoría estadísti-
ca, esta cantidad deberá estar distribuida normalmente con media 0 y varianza 1. Además,
la probabilidad de que –
z esté dentro de la región no sombreada de la figura PT5.3 será
1 – a. Por lo tanto, se establece que
y
n
z
y
n
z
–
/
–
/
/ /
µ
σ
µ
σ
α α
 − 
2 2
o
con una probabilidad de a.
La mayoría de los ingenieros toman varios cursos de estadística.
Como usted tal vez aún no ha tomado alguno se mencionarán
algunas nociones que harán que esta sección sea más coherente.
Como se ha mencionado, el “juego” de la estadística infe-
rencial supone que la variable aleatoria que usted muestrea, y,
tiene media (m) y varianza (s2
) verdaderas. Además, en este
análisis se supondrá que tiene una distribución particular: la
distribución normal. La varianza de esta distribución normal tiene
un valor finito que especifica la “dispersión” de la distribución
normal. Si la varianza es grande, la distribución es amplia. En
cambio, si la varianza es pequeña, la distribución es estrecha.
Así, la varianza real cuantifica la incertidumbre intrínseca de la
variable aleatoria.
En el juego de la estadística, se toma un número limitado de
mediciones de una cantidad, a la que se le llama muestra. De esta
muestra, se calculan una media (–
y) y una varianza (s2
y) estimadas.
Cuantas más mediciones se tomen, mejor serán las estimaciones
para que se aproximen a los valores verdaderos. Esto es, cuando
n → ∞, –
y → m y s2
y → s2
.
Suponga que se toman n muestras y se calcula una media
estimada –
y1. Después se toman otras n muestras y se calcula otra,
–
y2. Se puede repetir este proceso hasta que se haya generado una
muestra de medias: –
y1, –
y2, –
y3, …, –
ym, donde m es grande. Entonces
se construye un histograma de estas medias y se determina una
“distribución de las medias”, así como una “media de las me-
dias” y una “desviación estándar de las medias”. Ahora surge la
pregunta: ¿Esta nueva distribución de medias y sus estadísticos
se comportan en una forma predecible?
Existe un teorema muy importante conocido como el teorema
del límite central que responde en forma directa a esta pregunta
y se enuncia como sigue
Sea y1, y2, …, yn, una muestra aleatoria de tamaño n tomada
de una distribución con media m y varianza s2
. Entonces, para
n grandes, –
y es aproximadamente normal con la media m y la
varianza s2
/n. Además, para n grande, la variable aleatoria
( – )/( / )
y n
µ σ es aproximadamente normal estándar.
Así, el teorema establece el resultado interesante de que la
distribución de las medias siempre estará normalmente distribui-
da, ¡sin importar la distribución de las variables aleatorias de que
se trate! Esto también da el resultado esperado, de que dada una
muestra suficientemente grande, la media de las medias deberá
converger hacia la verdadera media de la población m.
Además, el teorema indica que conforme crezca el tamaño de
la muestra, la varianza de las medias se aproximará a cero. Esto
tiene sentido, ya que si n es pequeña, las estimaciones individuales
de la media serán pobres, y las varianzas de las medias, grandes.
En tanto n aumente, la estimación de la media mejorará y, por
lo tanto, disminuirá su dispersión. El teorema del límite central
claramente define, en forma exacta, cómo esta disminución está
relacionada tanto con la varianza real como con el tamaño de la
muestra; es decir, como s2
/n.
Por último, el teorema establece el importante resultado que
se ha dado en la ecuación (PT5.6). Como se muestra en esta
sección, este teorema es la base para construir intervalos de
confianza para la media.
Cuadro PT5.1 Un poco de estadística
PT5.2 ANTECEDENTES MATEMÁTICOS 459
460 AJUSTE DE CURVAS
La cantidad za/2 es una variable aleatoria normal estándar. Ésta es la distancia medi-
da a lo largo del eje normalizado arriba y debajo de la media, que corresponde la proba-
bilidad 1 – a (figura PT5.3b). Los valores de za/2 están tabulados en libros de estadística
(por ejemplo, Milton y Arnold, 1995). También pueden calcularse usando funciones de
paquetes y bibliotecas de software como Excel e IMSL. Como un ejemplo, para a = 0.05
(en otras palabras, definiendo un intervalo que comprenda 95%), za/2 es aproxima-
damente igual a 1.96. Esto significa que un intervalo alrededor de la media con un ancho
±1.96 veces la desviación estándar abarcará, en forma aproximada, el 95% de la distri-
bución.
Esos resultados se reordenan para obtener
L ≤ m ≤ U
con una probabilidad de 1 – a, donde
L y
n
z U y
n
z
= = +
– / /
σ σ
α α
2 2 (PT5.7)
Ahora, aunque lo anterior ofrece una estimación de L y U, está basado en el cono-
cimiento de la verdadera varianza s. Y en nuestro caso, conocemos solamente la varian-
za estimada sy. Una alternativa inmediata sería una versión de la ecuación (PT5.6)
basada en sy:
t
y
s n
y
=
− µ
/
(PT5.8)
Aun cuando la muestra se tome de una distribución normal, esta fracción no estará
normalmente distribuida, en particular cuando n sea pequeña. W. S. Gossett encontró
que la variable aleatoria definida por la ecuación (PT5.8) sigue la llamada distribución
t de Student o, simplemente, distribución t. En este caso,
L y
s
n
t U y
s
n
t
y
n
y
n
= = +
− −
– / , / ,
α α
2 1 2 1 (PT5.9)
donde ta/2, n – 1 es la variable aleatoria estándar de la distribución t para una probabili-
dad de a/2. Como en el caso de za/2, los valores están tabulados en libros de estadísti-
ca, y también se calculan mediante paquetes y bibliotecas de software. Por ejemplo, si
a = 0.05 y n = 20, ta/2, n – 1 = 2.086.
La distribución t puede entenderse como una modificación de la distribución normal
que toma en cuenta el hecho de que se tiene una estimación imperfecta de la desviación
estándar. Cuando n es pequeña, tiende a ser más plana que la normal (figura PT5.4).
Entonces, para pocas mediciones, se obtienen intervalos de confianza más amplios y,
por lo tanto, más conservadores. Conforme n se vuelve más grande, la distribución t
converge a la normal.
EJEMPLO PT5.2 Intervalo de confianza alrededor de la media
Planteamiento del problema. Determine la media y el correspondiente intervalo de
confianza del 95% para los datos de la tabla PT5.1. Realice 3 estimaciones basándose
en a) las primeras 8 mediciones, b) las primeras 16 mediciones y c) las 24 mediciones.
Solución. a) La media y la desviación estándar con los primeros 8 valores es
y sy
= = =
−
−
=
52 72
8
6 59
347 4814 52 72 8
8 1
0 089921
2
.
.
. ( . ) /
.
El estadístico t se calcula como:
t0.05/2,8–1 = t0.025,7 = 2.364623
que se utiliza para calcular el intervalo
L
U
= − =
= + =
6 59
0 089921
8
2 364623 6 5148
6 59
0 089921
8
2 364623 6 6652
.
.
. .
.
.
. .
o
6.5148 ≤ m ≤ 6.6652
Así, considerando las primeras ocho mediciones, concluimos que existe un 95% de
probabilidad de que la media real esté en el intervalo de 6.5148 a 6.6652.
FIGURA PT5.4
Comparación de la distribución normal con la distribución t para n = 3 y n = 6. Observe
cómo la distribución t en general es más plana.
–1
–2
–3 0
Z o t
2
1 3
t(n = 6)
t(n = 3)
Normal
PT5.2 ANTECEDENTES MATEMÁTICOS 461
462 AJUSTE DE CURVAS
Los otros dos casos, b) con 16 valores y c) con 24 valores, se calculan en forma
similar y los resultados se tabulan junto con los del inciso a) como sigue:
n y
–
sy ta/2,n – 1 L U
8 6.5900 0.089921 2.364623 6.5148 6.6652
16 6.5794 0.095845 2.131451 6.5283 6.6304
24 6.6000 0.097133 2.068655 6.5590 6.6410
Estos resultados, que también se resumen en la figura PT5.5, indican el resultado espe-
rado de que el intervalo de confianza se vuelve más pequeño conforme n aumenta. Así,
cuantas más mediciones se tomen, nuestra estimación del valor verdadero será más re-
finado.
Lo anterior es sólo un simple ejemplo de cómo se emplea la estadística para tomar
decisiones respecto de datos inciertos. Esos conceptos también serán de relevancia en
nuestro análisis de los modelos de regresión. Usted puede consultar cualquier libro bá-
sico de estadística (por ejemplo, Milton y Arnold, 1995) para obtener más información
sobre este tema.
PT5.3 ORIENTACIÓN
Antes de proceder con los métodos numéricos para el ajuste de curvas, la siguiente
orientación podría ser de utilidad. Este apartado se presenta como una visión general
del material que se estudia en la parte cinco. Además, se formulan algunos objetivos
para ayudar a enfocar su atención al analizar el tema.
FIGURA PT5.5
Estimaciones de la media e intervalos de confianza del 95% para diferentes tamaños
de la muestra.
6.60
6.55
6.50
Coeficiente de expansión térmica [⫻ 10–6
in/(in • ⬚F)]
6.70
6.65
n = 24
n = 16
y
–
n = 8
PT5.3.1 Alcance y presentación preliminar
La figura PT5.6 proporciona una visión general del material que se estudiará en la par-
te cinco. El capítulo 17 se dedica a la regresión por mínimos cuadrados. Se aprenderá
primero cómo ajustar la “mejor” línea recta a través de un conjunto de datos inciertos.
Esta técnica se conoce como regresión lineal. Además de analizar cómo calcular la
pendiente y la intersección, con el eje y, de esta línea recta, se presentarán también
métodos visuales y cuantitativos para evaluar la validez de los resultados.
Además de ajustar a una línea recta, se mostrará también una técnica general para
ajustar a un “mejor” polinomio. Así, usted aprenderá a obtener un polinomio parabólico,
cúbico o de un orden superior, que se ajuste en forma óptima a datos inciertos. La regre-
sión lineal es un subconjunto de este procedimiento más general, llamado regresión
polinomial.
El siguiente tema que se analiza en el capítulo 17 es la regresión lineal múltiple.
Está diseñada para el caso donde la variable dependiente y es una función lineal de dos
o más variables independientes x1, x2,…, xm. Este procedimiento tiene especial utilidad
para evaluar datos experimentales donde la variable de interés es dependiente de varios
factores.
Después de la regresión múltiple, ilustramos cómo tanto la regresión polinomial
como la múltiple son subconjuntos de un modelo lineal general de mínimos cuadrados.
Entre otras cuestiones, esto nos permitirá introducir una representación matricial con-
cisa de la regresión y analizar sus propiedades estadísticas generales.
Por último, las últimas secciones del capítulo 17 se dedican a la regresión no lineal.
Este procedimiento está diseñado para calcular un ajuste por mínimos cuadrados de una
ecuación no lineal a datos.
En el capítulo 18 se describe la técnica alternativa para el ajuste de curvas llamada
interpolación. Como se analizó antes, la interpolación se utiliza para estimar valores
intermedios entre datos precisos. En el capítulo 18 se obtienen polinomios con este
propósito. Se introduce el concepto básico de interpolación polinomial usando líneas
rectas y parábolas para unir los puntos. Después, se desarrolla un procedimiento gene-
ralizado para ajustar un polinomio de grado n. Se presentan dos métodos para expresar
tales polinomios en forma de ecuación. El primero, llamado interpolación polinomial
de Newton, es preferible cuando se desconoce el grado apropiado del polinomio. El se-
gundo, llamado interpolación polinomial de Lagrange, tiene ventajas cuando de ante-
mano se conoce el grado apropiado.
La última sección del capítulo 18 presenta una técnica alternativa para ajustar datos
precisos. Ésta, llamada interpolación mediante trazadores o splines, ajusta polinomios a
datos, pero en forma de trozos. Como tal, es particularmente adecuada para ajustar da-
tos que en general son suaves pero que muestren abruptos cambios locales.
El capítulo 19 tiene que ver con el método de la transformada de Fourier para el
ajuste de curvas, donde funciones periódicas se ajustan a datos. Nuestro énfasis en esta
sección residirá en la transformada rápida de Fourier. Al final se incluye también una
revisión de algunos paquetes y bibliotecas de software que se utilizan para el ajuste de
curvas; entre ellos se encuentran Excel, MATLAB e IMSL.
El capítulo 20 se dedica a aplicaciones en la ingeniería que ilustran la utilidad de los
métodos numéricos en el contexto de los problemas de ingeniería. Los ejemplos se toman
de las cuatro áreas principales de la ingeniería: química, civil, eléctrica y mecánica.
PT5.3 ORIENTACIÓN 463
464 AJUSTE DE CURVAS
FIGURA PT5.6
Representación esquemática de la organización del material en la parte cinco: Ajuste de curvas.
PARTE 5
Ajuste
de curvas
CAPÍTULO 18
Interpolación
CAPÍTULO 20
Aplicaciones
en ingeniería
EPÍLOGO
18.6
trazadores
(splines)
18.5
Comentarios
adicionales
18.4
Interpolación
inversa
18.3
Coeficientes
polinomiales
18.2
Polinomio
de Lagrange
18.1
Polinomio
de Newton
PT5.2
Antecedentes
matemáticos
PT5.6
Métodos
avanzados
PT5.5
Fórmulas
importantes
20.4
Ingeniería
mecánica
20.3
Ingeniería
eléctrica
20.2
Ingeniería
civil
20.1
Ingeniería
química
19.8
Bibliotecas
y paquetes
19.7
Espectro
de potencia
19.1
Senoidales
19.2
Serie de Fourier
continua
19.6
Transformada
rápida de Fourier
19.5
Transformada
discreta de Fourier
19.3
Dominios de
frecuencia y tiempo
19.4
Transformada
de Fourier
PT5.4
Alternativas
PT5.3
Orientación
PT5.1
Motivación
17.2
Regresión
polinomial
17.3
Regresión
múltiple
17.4
Mínimos cuadrados
lineales en general
17.5
Regresión
no lineal
17.1
Regresión
lineal
CAPÍTULO 17
Regresión
por mínimos
cuadrados
CAPÍTULO 19
Aproximación
de Fourier
Además, algunas de las aplicaciones ilustran cómo se emplean los paquetes de software
para resolver problemas de ingeniería.
Por último, se incluye un epílogo al final de la parte cinco. Contiene un resumen de
las fórmulas y los conceptos importantes relacionados con el ajuste de curvas, así como
un análisis de las ventajas y desventajas de las técnicas, y sugerencias para futuros es-
tudios.
PT5.3.2 Metas y objetivos
Objetivos de estudio. Después de estudiar la parte cinco, usted habrá mejorado su
capacidad para ajustar curvas a los datos. En general, usted dominará las técnicas, habrá
aprendido a valorar la confiabilidad de los resultados y será capaz de seleccionar el
método (o métodos) para cualquier problema específico. Además de estas metas gene-
rales, los conceptos particulares de la tabla PT5.3 deberán asimilarse y dominarse.
Objetivos computacionales. Se le han proporcionado algoritmos de cómputo simples
para implementar las técnicas analizadas en la parte cinco. También usted puede tener
acceso a los paquetes y bibliotecas de software. Todo esto tiene utilidad como herra-
mientas de aprendizaje.
Se proporcionan algoritmos en seudocódigo para la mayoría de los métodos en la
parte cinco. Esta información le permitirá expandir sus bibliotecas de software para
incluir técnicas más allá de la regresión polinomial. Por ejemplo, usted puede encontrar
útil, desde un punto de vista profesional, tener software para la regresión lineal múltiple,
la interpolación polinomial de Newton, la interpolación con trazadores cúbicos y la
transformada rápida de Fourier.
Además, una de las metas más importantes deberá ser dominar varios de los paque-
tes de software de utilidad general que están disponibles. En particular, usted debería
acostumbrarse a usar esas herramientas para implementar métodos numéricos en la
solución de problemas en ingeniería.
TABLA PT5.3 Objetivos específicos de estudio de la parte cinco.
1. Comprender la diferencia fundamental entre regresión e interpolación, y darse cuenta de que
confundirlos puede llevar a serios problemas.
2. Entender la deducción de la regresión lineal por mínimos cuadrados y ser capaz de evaluar la
confiabilidad del ajuste mediante evaluaciones gráficas y cuantitativas.
3. Saber cómo linearizar datos mediante transformación.
4. Entender situaciones donde son apropiadas las regresiones polinomiales, múltiples y no lineales.
5. Ser capaz de reconocer modelos lineales generales, entender la formulación matricial general
para mínimos cuadrados lineales, y saber cómo calcular intervalos de confianza para parámetros.
6. Entender que hay uno y sólo un polinomio de grado n o menor que pasa exactamente a través de
n + 1 puntos.
7. Saber cómo obtener el polinomio de interpolación de Newton de primer grado.
8. Reconocer la analogía entre el polinomio de Newton y la expansión de la serie de Taylor, y cómo
se relaciona el error de truncamiento.
9. Comprender que las ecuaciones de Newton y Lagrange son simplemente formulaciones diferentes
de la misma interpolación polinomial, y entender sus respectivas ventajas y desventajas.
10. Percatarse de que, por lo general, se obtienen resultados más exactos si los datos usados para
interpolación están más o menos centrados y cercanos al punto desconocido.
11. Darse cuenta que los datos no tienen que estar igualmente espaciados ni en un orden particular
para los polinomios de Newton o de Lagrange.
12. Saber por qué son útiles las fórmulas de interpolación con igual espaciamiento.
13. Reconocer las desventajas y los riesgos asociados con la extrapolación.
14. Entender por qué los trazadores (splines) tienen utilidad para datos con áreas locales de cambio
abrupto.
15. Reconocer cómo se usa la serie de Fourier para ajustar datos a funciones periódicas.
16. Entender la diferencia entre dominios de frecuencia y de tiempo.
PT5.3 ORIENTACIÓN 465
CAPÍTULO 17
Regresión por mínimos
cuadrados
Cuando los datos tienen errores sustanciales, la interpolación polinomial es inapropiada
y puede dar resultados poco satisfactorios cuando se utiliza para predecir valores inter-
medios. Con frecuencia los datos experimentales son de este tipo. Por ejemplo, en la
figura 17.1a se muestran siete datos obtenidos experimentalmente que presentan una
variabilidad significativa. Una inspección visual de esos datos sugiere una posible rela-
ción entre y y x. Es decir, la tendencia general indica que valores altos de y están aso-
ciados con valores altos de x. Ahora, si un polinomio de interpolación de sexto grado se
ajusta a estos datos (figura 17.1b), pasará exactamente a través de todos los puntos. Sin
embargo, a causa de la variabilidad en los datos, la curva oscila mucho en el intervalo
entre los puntos. En particular, los valores interpolados para x = 1.5 y x = 6.5 parecen
estar bastante más allá del rango sugerido por los datos.
Una estrategia más apropiada en tales casos consiste en obtener una función de
aproximación que se ajuste a la forma o a la tendencia general de los datos, sin coincidir
necesariamente en todos los puntos. La figura 17.1c ilustra cómo se utiliza una línea
recta para caracterizar de manera general la tendencia de los datos sin pasar a través de
algún punto específico.
Una manera para determinar la línea de la figura 17.1c es inspeccionar en forma
visual los datos graficados y después trazar una “mejor” línea a través de los puntos.
Aunque tales procedimientos “a ojo” apelan al sentido común y son válidos para cálcu-
los “superficiales”, resultan deficientes por ser arbitrarios. Es decir, a menos que los
puntos definan una línea recta perfecta (en cuyo caso la interpolación resultaría apro-
piada), diferentes analistas dibujarían líneas distintas.
Para dejar a un lado dicha subjetividad se debe encontrar algún criterio para esta-
blecer una base para el ajuste. Una forma de hacerlo es obtener una curva que minimice
la discrepancia entre los puntos y la curva. Una técnica para lograr tal objetivo, llamada
regresión por mínimos cuadrados, se analizará en este capítulo.
17.1 REGRESIÓN LINEAL
El ejemplo más simple de una aproximación por mínimos cuadrados es ajutar una línea
recta a un conjunto de observaciones definidas por puntos: (x1, y1), (x2, y2),…, (xn, yn).
La expresión matemática para la línea recta es
y = a0 + a1x + e (17.1)
donde a0 y a1 son coeficientes que representan la intersección con el eje y y la pendien-
te, respectivamente, e es el error, o diferencia, entre el modelo y las observaciones, el
cual se representa al reordenar la ecuación (17.1) como
e = y – a0 – a1x
Así, el error o residuo es la discrepancia entre el valor verdadero de y y el valor aproxi-
mado, a0 + a1x, que predijo la ecuación lineal.
y
x
a)
5
5
0
0
y
x
b)
5
5
0
0
y
x
c)
5
5
0
0
FIGURA 17.1
a) Datos que muestran
un error significativo. b)
Ajuste polinomial oscilando
más allá del rango de los
datos. c) Resultados más
satisfactorios mediante
el ajuste por mínimos
cuadrados.
17.1 REGRESIÓN LINEAL 467
468 REGRESIÓN POR MÍNIMOS CUADRADOS
17.1.1 Criterio para un “mejor” ajuste
Una estrategia para ajustar una “mejor” línea a través de los datos será minimizar la
suma de los errores residuales de todos los datos disponibles, como sigue:
i
n
i
i
n
i i
e y a a x
= =
∑ ∑
= − −
1 1
0 1
( ) (17.2)
donde n = número total de puntos. Sin embargo, éste es un criterio inadecuado, como lo
muestra la figura 17.2a, la cual presenta el ajuste de una línea recta de dos puntos. Ob-
viamente, el mejor ajuste es la línea que une los puntos. Sin embargo, cualquier línea
FIGURA 17.2
Ejemplo de algunos criterios para “el mejor ajuste” que son inadecuados para la regresión:
a) minimizar la suma de los residuos, b) minimizar la suma de los valores absolutos de los
residuos y c) minimizar el error máximo de cualquier punto individual.
y
Punto medio
Punto fuera
del conjunto
x
a)
y
x
b)
y
x
c)
recta que pase a través del punto medio que une la línea (excepto una línea perfectamen-
te vertical) da como resultado un valor mínimo de la ecuación (17.2) igual a cero, debi-
do a que los errores se cancelan.
Por lo tanto, otro criterio lógico podría ser minimizar la suma de los valores abso-
lutos de las discrepancias,
i
n
i
i
n
i i
e y a a x
= =
∑ ∑
= − −
1 1
0 1
La figura 17.2b muestra por qué este criterio también es inadecuado. Para los cuatro
puntos dados, cualquier línea recta que esté dentro de las líneas punteadas minimizará
el valor absoluto de la suma. Así, este criterio tampoco dará un único mejor ajuste.
Una tercera estrategia para ajustar una mejor línea es el criterio minimax. En esta
técnica, la línea se elige de manera que minimice la máxima distancia a que un punto
se encuentra de la línea. Como se ilustra en la figura 17.2c, tal estrategia es inadecuada
para la regresión, ya que da excesiva influencia a puntos fuera del conjunto; es decir, a
un solo punto con un gran error. Deberá observarse que el principio minimax es, en
algunas ocasiones, adecuado para ajustar una función simple a una función complicada
(Carnahan, Luther y Wilkes, 1969).
La estrategia que supera las deficiencias de los procedimientos mencionados con-
siste en minimizar la suma de los cuadrados de los residuos entre la y medida y la y
calculada con el modelo lineal
S e y y y a a x
r
i
n
i
i
n
i i
i
n
i i
= = − = − −
= = =
∑ ∑ ∑
1
2
1
2
1
0 1
2
( ) ( )
, ,
medida modelo (17.3)
Este criterio tiene varias ventajas, entre ellas el hecho de que se obtiene una línea única
para cierto conjunto de datos. Antes de analizar tales propiedades, presentaremos una
técnica para determinar los valores de a0 y a1 que minimizan la ecuación (17.3).
17.1.2 Ajuste de una línea recta por mínimos cuadrados
Para determinar los valores de a0 y a1, la ecuación (17.3) se deriva con respecto a cada
uno de los coeficientes:
∂
∂
= − − −
∂
∂
= − − −
∑
∑
S
a
y a a x
S
a
y a a x x
r
i i
r
i i i
0
0 1
1
0 1
2
2
( )
[( ) ]
Observe que hemos simplificado los símbolos de la sumatoria; a menos que se indique
otra cosa, todas las sumatorias van desde i = 1 hasta n. Al igualar estas derivadas a cero,
se dará como resultado un Sr mínimo. Si se hace esto, las ecuaciones se expresan
como
0
0
0 1
0 1
2
= − −
= − −
∑ ∑ ∑
∑ ∑ ∑
y a a x
y x a x a x
i i
i i i i
17.1 REGRESIÓN LINEAL 469
470 REGRESIÓN POR MÍNIMOS CUADRADOS
Ahora, si observamos que ∑a0 = na0, expresamos las ecuaciones como un conjunto de
dos ecuaciones lineales simultáneas, con dos incógnitas (a0 y a1):
na x a y
i i
0 1
+ ( ) =
∑ ∑ (17.4)
x a x a x y
i i i i i
∑ ∑ ∑
( ) + ( ) =
0
2
(17.5)
Éstas se llaman ecuaciones normales, y se resuelven en forma simultánea
a
n x y x y
n x x
i i i i
i i
1 2 2
=
∑ − ∑ ∑
∑ − ∑
( )
(17.6)
Este resultado se utiliza conjuntamente con la ecuación (17.4) para obtener
a0 = –
y – a1
–
x (17.7)
donde –
y y –
x son las medias de y y x, respectivamente.
EJEMPLO 17.1 Regresión lineal
Planteamiento del problema. Ajuste a una línea recta los valores x y y en las dos
primeras columnas de la tabla 17.1.
Solución. Se calculan las siguientes cantidades:
n x y x
x x
y y
i i i
i
i
= = =
= = =
= = =
∑ ∑
∑
∑
7 119 5 140
28
28
7
4
24
24
7
3 428571
2
.
.
Mediante las ecuaciones (17.6) y (17.7)
a1 2
7 119 5 28 24
7 140 28
0 8392857
=
−
−
=
( . ) ( )
( ) ( )
.
a0 = 3.428571 – 0.8392857(4) = 0.07142857
TABLA 17.1 Cálculos para el análisis de error en el ajuste lineal.
xi yi (yi – y
–
)2
(yi – a0 – a1xi)2
1 0.5 8.5765 0.1687
2 2.5 0.8622 0.5625
3 2.0 2.0408 0.3473
4 4.0 0.3265 0.3265
5 3.5 0.0051 0.5896
6 6.0 6.6122 0.7972
7 5.5 4.2908 0.1993
∑ 24.0 22.7143 2.9911
Por lo tanto, el ajuste por mínimos cuadrados es
y = 0.07142857 + 0.8392857x
La línea, junto con los datos, se muestran en la figura 17.1c.
17.1.3 Cuantificación del error en la regresión lineal
Cualquier otra línea diferente a la calculada en el ejemplo 17.1 dará como resultado una
suma mayor de los cuadrados de los residuos. Así, la línea es única y, en términos de
nuestro criterio elegido, es la “mejor” línea a través de los puntos. Varias propiedades
de este ajuste se observan al examinar más de cerca la forma en que se calcularon los
residuos. Recuerde que la suma de los cuadrados se define como [ecuación (17.3)]
S e y a a x
r
i
n
i
i
n
i i
= = − −
= =
∑ ∑
1
2
1
0 1
2
( ) (17.8)
Observe la similitud entre las ecuaciones (PT5.3) y (17.8). En el primer caso, el
cuadrado del residuo representa el cuadrado de la discrepancia entre el dato y una esti-
mación de la medida de tendencia central: la media. En la ecuación (17.8), el cuadrado
del residuo representa el cuadrado de la distancia vertical entre el dato y otra medida de
tendencia central: la línea recta (figura 17.3).
La analogía se puede extender aún más en casos donde 1. la dispersión de los puntos
alrededor de la línea es de magnitud similar en todo el rango de los datos, y 2. la distri-
bución de estos puntos cerca de la línea es normal. Es posible demostrar que si estos
criterios se cumplen, la regresión por mínimos cuadrados proporcionará la mejor (es
decir, la más adecuada) estimación de a0 y a1 (Draper y Smith, 1981). Esto se conoce en
y
yi
xi
a0 + a1xi
Medición
yi – a0 – a1xi
Línea de regresión
x
FIGURA 17.3
El residuo en la regresión lineal representa la distancia vertical entre un dato y la línea recta.
17.1 REGRESIÓN LINEAL 471
472 REGRESIÓN POR MÍNIMOS CUADRADOS
estadística como el principio de máxima verosimilitud. Además, si estos criterios se
satisfacen, una “desviación estándar” para la línea de regresión se determina como sigue
[compare con la ecuación (PT5.2)]
S
S
n
y x
r
/ =
− 2
(17.9)
donde a sy/x se le llama error estándar del estimado. El subíndice “y/x” designa que el
error es para un valor predicho de y correspondiente a un valor particular de x. También,
observe que ahora dividimos entre n – 2 debido a que se usaron dos datos estimados (a0
y a1), para calcular Sr; así, se han perdido dos grados de libertad. Como lo hicimos en
nuestro análisis para la desviación estándar en PT5.2.1, otra justificación para dividir
entre n – 2 es que no existe algo como “datos dispersos” alrededor de una línea recta
que une dos puntos. De esta manera, en el caso donde n = 2, la ecuación (17.9) da un
resultado sin sentido, infinito.
Así como en el caso de la desviación estándar, el error estándar del estimado cuan-
tifica la dispersión de los datos. Aunque, sy/x cuantifica la dispersión alrededor de la
línea de regresión, como se muestra en la figura 17.4b, a diferencia de la desviación
estándar original sy que cuantifica la dispersión alrededor de la media (figura 17.4a).
Los conceptos anteriores se utilizan para cuantificar la “bondad” de nuestro ajuste.
Esto es en particular útil para comparar diferentes regresiones (figura 17.5). Para hacer-
lo, regresamos a los datos originales y determinamos la suma total de los cuadrados
alrededor de la media para la variable dependiente (en nuestro caso, y). Como en el caso
de la ecuación (PT5.3), esta cantidad se designa por St. Ésta es la magnitud del error
residual asociado con la variable dependiente antes de la regresión. Después de realizar
la regresión, calculamos Sr, es decir, la suma de los cuadrados de los residuos alrededor
de la línea de regresión. Esto caracteriza el error residual que queda después de la regre-
FIGURA 17.4
Datos de regresión que muestran a) la dispersión de los datos alrededor de la media de la variable dependiente y b) la
dispersión de los datos alrededor de la línea de mejor ajuste. La reducción en la dispersión al ir de a) a b), como lo indican
las curvas en forma de campana a la derecha, representa la mejora debida a la regresión lineal.
a) b)
sión. Es por lo que, algunas veces, se le llama la suma inexplicable de los cuadrados. La
diferencia entre estas dos cantidades, St – Sr , cuantifica la mejora o reducción del error
por describir los datos en términos de una línea recta en vez de un valor promedio. Como
la magnitud de esta cantidad depende de la escala, la diferencia se normaliza a St para
obtener
r
S S
S
t r
t
2
=
−
(17.10)
donde r2
se conoce como el coeficiente de determinación y r es el coeficiente de corre-
lación (= 
—
r2
). En un ajuste perfecto, Sr = 0 y r = r2
= 1, significa que la línea explica
el 100% de la variabilidad de los datos. Si r = r2
= 0, Sr = St el ajuste no representa al-
guna mejora. Una representación alternativa para r que es más conveniente para imple-
mentarse en una computadora es
r
n x y x y
n x x n y y
i i i i
i i i
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf
CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf

Más contenido relacionado

PDF
analisis vectorial semana 2
PDF
Mecánica de Fluidos 03. Conservación de la masa.
PPT
Control pid ii
PDF
Metodos numéricos (euler, euler modificado, rk)
PDF
Ecuación de bessel
PDF
Tabla de-centroides
DOC
Transformada de Laplace ejercicios resueltos
PDF
INTEGRAL DE LINEA
analisis vectorial semana 2
Mecánica de Fluidos 03. Conservación de la masa.
Control pid ii
Metodos numéricos (euler, euler modificado, rk)
Ecuación de bessel
Tabla de-centroides
Transformada de Laplace ejercicios resueltos
INTEGRAL DE LINEA

La actualidad más candente (20)

DOCX
ejercicio de trabajo y energia
PDF
metodo-de-interpolacion-de-newton
PDF
Examen resuelto metodos numericos
PDF
Aplicación de la derivada
PDF
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
PDF
Métodos numéricos aplicados a la ingeniería
PDF
Trazadores cúbico spline
DOCX
PPT
Metodos numericos 5
PDF
Análisis de armadura por método de nodos y método matricial
PDF
Metodo de cholesky
PDF
Medina fisica2 cap2
PDF
Ecuaciones diferenciales _parciales
PPTX
Método de Gauss Jordan
PDF
Decodificadores multiplexores
PDF
Int superficie
PDF
Álgebra booleana
PDF
Examenes resueltos algebra lineal
PDF
Ecuaciones diferenciales
ODP
Coeficientes indeterminados
ejercicio de trabajo y energia
metodo-de-interpolacion-de-newton
Examen resuelto metodos numericos
Aplicación de la derivada
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
Métodos numéricos aplicados a la ingeniería
Trazadores cúbico spline
Metodos numericos 5
Análisis de armadura por método de nodos y método matricial
Metodo de cholesky
Medina fisica2 cap2
Ecuaciones diferenciales _parciales
Método de Gauss Jordan
Decodificadores multiplexores
Int superficie
Álgebra booleana
Examenes resueltos algebra lineal
Ecuaciones diferenciales
Coeficientes indeterminados
Publicidad

Similar a CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf (20)

PDF
METODOS NUMERICOS para ingenieria -Chapra
PDF
Metodos numericos para ingenieros
PDF
CALCULO I Larson (1) (1).pdf libro de calculo
PDF
Cálculo diferencial e integral Vol. 1 y 2 9na Edición Ron Larson y Bruce H. E...
PDF
Fundamentos de circuitos eléctricos, 5ta. Edición - Charles K. Alexander.pdf
PDF
Calculo numerico chappra
PDF
Metodos numericos para ingenieros
PDF
Sadiku circuitos elctricos-3edi
PDF
Fundamentos de circuitos eléctricos 3 ed sadiku
PDF
Fundamentos de circuitos eléctricos 3edi sadiku
PDF
Libro Fundamentos de circuitos eléctricos (Charles Alexander)
PDF
Fundamentos de circuitos eléctricos 3ra edición Sadiku.pdf
PDF
Fundamentos de-circuitos-electricos-3edi-sadiku
PDF
Fundamentos de circuitos electricos
PDF
Fundamentos de-circuitos-elc3a9ctricos-3edi-sadiku
PDF
fundamentos-de-circuitos-elc3a9ctricos-3edi-sadiku.pdf
PDF
Fundamentos de-circuitos
PDF
Sadiku
PDF
Fundamentos de circuitos eléctricos 3 ed - sadiku
PDF
Fundamentos de-circuitos-elc3a9ctricos-3edi-sadiku
METODOS NUMERICOS para ingenieria -Chapra
Metodos numericos para ingenieros
CALCULO I Larson (1) (1).pdf libro de calculo
Cálculo diferencial e integral Vol. 1 y 2 9na Edición Ron Larson y Bruce H. E...
Fundamentos de circuitos eléctricos, 5ta. Edición - Charles K. Alexander.pdf
Calculo numerico chappra
Metodos numericos para ingenieros
Sadiku circuitos elctricos-3edi
Fundamentos de circuitos eléctricos 3 ed sadiku
Fundamentos de circuitos eléctricos 3edi sadiku
Libro Fundamentos de circuitos eléctricos (Charles Alexander)
Fundamentos de circuitos eléctricos 3ra edición Sadiku.pdf
Fundamentos de-circuitos-electricos-3edi-sadiku
Fundamentos de circuitos electricos
Fundamentos de-circuitos-elc3a9ctricos-3edi-sadiku
fundamentos-de-circuitos-elc3a9ctricos-3edi-sadiku.pdf
Fundamentos de-circuitos
Sadiku
Fundamentos de circuitos eléctricos 3 ed - sadiku
Fundamentos de-circuitos-elc3a9ctricos-3edi-sadiku
Publicidad

Más de JeancarlosPatalasanc (6)

PDF
Solucionario_de_Chapra_y_Canale_Quinta_E.pdf
PDF
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
PDF
Chap02-A.pdf
PDF
EJERCICIOS RESUELTOS DE DEFORMACIONES. CAPITULO 2.pdf
DOC
052C SILABO DE METODOS NUMERICOS LUIS FABIAN , PLAN 2018 , 2022 2.doc
Solucionario_de_Chapra_y_Canale_Quinta_E.pdf
INSTITUTO_TECNOLOGICO_SUPERIOR_A_N_T_O_L.pdf
Chap02-A.pdf
EJERCICIOS RESUELTOS DE DEFORMACIONES. CAPITULO 2.pdf
052C SILABO DE METODOS NUMERICOS LUIS FABIAN , PLAN 2018 , 2022 2.doc

Último (20)

PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PPTX
Introducción al Diseño de Máquinas Metodos.pptx
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PPTX
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
PDF
Primera formulación de cargos de la SEC en contra del CEN
DOCX
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
PPT
TRABAJOS EN ALTURA PARA OBRAS DE INGENIERIA
PDF
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PPT
Sustancias Peligrosas de empresas para su correcto manejo
DOCX
Cumplimiento normativo y realidad laboral
PDF
Supervisión del PROC. 228_Osinergmin.pdf
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PPTX
leyes de los gases Ideales. combustible refinación
PDF
TESTAMENTO DE DESCRIPTIVA ..............
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
Introducción al Diseño de Máquinas Metodos.pptx
Módulo-de Alcance-proyectos - Definición.pdf
GEOLOGIA, principios , fundamentos y conceptos
Curso Corto de PLANTA CONCENTRADORA FREEPORT
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
Primera formulación de cargos de la SEC en contra del CEN
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
TRABAJOS EN ALTURA PARA OBRAS DE INGENIERIA
Pensamiento Politico Siglo XXI Peru y Mundo.pdf
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
NILS actividad 4 PRESENTACION.pptx pppppp
Sustancias Peligrosas de empresas para su correcto manejo
Cumplimiento normativo y realidad laboral
Supervisión del PROC. 228_Osinergmin.pdf
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
leyes de los gases Ideales. combustible refinación
TESTAMENTO DE DESCRIPTIVA ..............

CHAPRA Metodos_numericos_para_ingenieros_5e_140.pdf

  • 2. Métodos numéricos para ingenieros Quinta edición
  • 4. Métodos numéricos para ingenieros Quinta edición Steven C. Chapra Raymond P. Canale Decano de Computación e Ingeniería Profesor emérito de Ingeniería Civil Tufts University University of Michigan REVISIÓN TÉCNICA: M.C. Juan Carlos del Valle Sotelo Catedrático del Departamento de Física y Matemáticas ITESM, campus Estado de México MÉXICO • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MADRID NUEVA YORK • SAN JUAN • SANTIAGO • AUCKLAND • LONDRES • MILÁN MONTREAL • NUEVA DELHI • SAN FRANCISCO • SINGAPUR • SAN LUIS • SIDNEY • TORONTO
  • 5. Director Higher Education: Miguel Ángel Toledo Castellanos Director editorial: Ricardo A. del Bosque Alayón Editor sponsor: Pablo E. Roig Vázquez Editora de desarrollo: Lorena Campa Rojas Supervisor de producción: Zeferino García García Traducción: Javier Enríquez Brito Ma. del Carmen Roa Hano MÉTODOS NUMÉRICOS PARA INGENIEROS Quinta edición Prohibida la reproducción total o parcial de esta obra, por cualquier medio, sin la autorización escrita del editor. DERECHOS RESERVADOS © 2007 respecto a la quinta edición en español por McGRAW-HILL/INTERAMERICANA EDITORES, S.A. DE C.V. A Subsidiary of The McGraw-Hill Companies, Inc. Edificio Punta Santa Fe Prolongación Paseo de la Reforma 1015, Torre A Piso 17, Colonia Desarrollo Santa Fe, Delegación Álvaro Obregón C.P. 01376, México, D. F. Miembro de la Cámara Nacional de la Industria Editorial Mexicana, Reg. Núm. 736 Créditos de las fotografías de portada: © Jack Novack / SuperStock. MATLABTM es una marca registrada de The MathWorks, Inc. ISBN-13: 978-970-10-6114-5 ISBN-10: 970-10-6114-4 (ISBN: 970-10-3965-3 edición anterior) Traducido de la quinta edición en inglés de la obra NUMERICAL METHODS FOR ENGINEERS, FIFTH EDITION. Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. ISBN: 0-07-291873-X 1234567890 09865432107 Impreso en México Printed in Mexico
  • 6. A Margaret y Gabriel Chapra Helen y Chester Canale
  • 8. CONTENIDO PREFACIO xvii ACERCA DE LOS AUTORES xxiii PARTE UNO PT1.1 Motivación 3 PT1.2 Antecedentes matemáticos 5 PT1.3 Orientación 8 CAPÍTULO 1 Modelos matemáticos y solución de problemas en ingeniería 11 1.1 Un modelo matemático simple 11 1.2 Leyes de conservación e ingeniería 19 Problemas 22 CAPÍTULO 2 Programación y software 26 2.1 Paquetes y programación 26 2.2 Programación estructurada 28 2.3 Programación modular 37 2.4 Excel 38 2.5 MATLAB 42 2.6 Otros lenguajes y bibliotecas 47 Problemas 48 CAPÍTULO 3 Aproximaciones y errores de redondeo 53 3.1 Cifras significativas 54 3.2 Exactitud y precisión 56 3.3 Definiciones de error 57 3.4 Errores de redondeo 60 Problemas 76 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR 3
  • 9. viii CONTENIDO CAPÍTULO 4 Errores de truncamiento y la serie de Taylor 78 4.1 La serie de Taylor 78 4.2 Propagación del error 95 4.3 Error numérico total 99 4.4 Equivocaciones, errores de formulación e incertidumbre en los datos 101 Problemas 103 EPÍLOGO: PARTE UNO 105 PT1.4 Alternativas 105 PT1.5 Relaciones y fórmulas importantes 108 PT1.6 Métodos avanzados y referencias adicionales 108 PARTE DOS PT2.1 Motivación 113 PT2.2 Antecedentes matemáticos 115 PT2.3 Orientación 116 CAPÍTULO 5 Métodos cerrados 120 5.1 Métodos gráficos 120 5.2 El método de bisección 124 5.3 Método de la falsa posición 131 5.4 Búsquedas por incrementos y determinación de valores iniciales 138 Problemas 139 CAPÍTULO 6 Métodos abiertos 142 6.1 Iteración simple de punto fijo 143 6.2 Método de Newton-Raphson 148 6.3 El método de la secante 154 6.4 Raíces múltiples 159 6.5 Sistemas de ecuaciones no lineales 162 Problemas 167 CAPÍTULO 7 Raíces de polinomios 170 7.1 Polinomios en la ciencia y en la ingeniería 170 7.2 Cálculos con polinomios 173 7.3 Métodos convencionales 177 7.4 Método de Müller 177 7.5 Método de Bairstow 181 7.6 Otros métodos 187 RAÍCES DE ECUACIONES 113
  • 10. CONTENIDO ix 7.7 Localización de raíces con bibliotecas y paquetes de software 187 Problemas 197 CAPÍTULO 8 Estudio de casos: raíces de ecuaciones 199 8.1 Leyes de los gases ideales y no ideales (ingeniería química y bioquímica) 199 8.2 Flujo en un canal abierto (ingeniería civil e ingeniería ambiental) 202 8.3 Diseño de un circuito eléctrico (ingeniería eléctrica) 206 8.4 Análisis de vibraciones (ingeniería mecánica e ingeniería aeronáutica) 209 Problemas 216 EPÍLOGO: PARTE DOS 227 PT2.4 Alternativas 227 PT2.5 Relaciones y fórmulas importantes 228 PT2.6 Métodos avanzados y referencias adicionales 228 PARTE TRES PT3.1 Motivación 233 PT3.2 Antecedentes matemáticos 236 PT3.3 Orientación 244 CAPÍTULO 9 Eliminación de Gauss 247 9.1 Solución de sistemas pequeños de ecuaciones 247 9.2 Eliminación de Gauss simple 254 9.3 Dificultades en los métodos de eliminación 261 9.4 Técnicas para mejorar las soluciones 267 9.5 Sistemas complejos 275 9.6 Sistemas de ecuaciones no lineales 275 9.7 Gauss-Jordan 277 9.8 Resumen 279 Problemas 279 CAPÍTULO 10 Descomposición LU e inversión de matrices 282 10.1 Descomposición LU 282 10.2 La matriz inversa 292 10.3 Análisis del error y condición del sistema 297 Problemas 303 CAPÍTULO 11 Matrices especiales y el método de Gauss-Seidel 305 11.1 Matrices especiales 305 11.2 Gauss-Seidel 310 ECUACIONES ALGEBRAICAS LINEALES 233
  • 11. x CONTENIDO 11.3 Ecuaciones algebraicas lineales con bibliotecas y paquetes de software 317 Problemas 324 CAPÍTULO 12 Estudio de casos: ecuaciones algebraicas lineales 327 12.1 Análisis en estado estacionario de un sistema de reactores (ingeniería química/bioingeniería) 327 12.2 Análisis de una armadura estáticamente determinada (ingeniería civil/ambiental) 330 12.3 Corrientes y voltajes en circuitos con resistores (ingeniería eléctrica) 334 12.4 Sistemas masa-resorte (ingeniería mecánica/aeronáutica) 336 Problemas 339 EPÍLOGO: PARTE TRES 349 PT3.4 Alternativas 349 PT3.5 Relaciones y fórmulas importantes 350 PT3.6 Métodos avanzados y referencias adicionales 350 PARTE CUATRO PT4.1 Motivación 353 PT4.2 Antecedentes matemáticos 358 PT4.3 Orientación 360 CAPÍTULO 13 Optimización unidimensional no restringida 363 13.1 Búsqueda de la sección dorada 364 13.2 Interpolación cuadrática 371 13.3 Método de Newton 373 Problemas 375 CAPÍTULO 14 Optimización multidimensional no restringida 377 14.1 Métodos directos 378 14.2 Métodos con gradiente 382 Problemas 396 CAPÍTULO 15 Optimización restringida 398 15.1 Programación lineal 398 15.2 Optimización restringida no lineal 409 15.3 Optimización con bibliotecas y paquetes de software 410 Problemas 422 OPTIMIZACIÓN 353
  • 12. CONTENIDO xi CAPÍTULO 16 Aplicaciones en ingeniería: optimización 424 16.1 Diseño de un tanque con el menor costo (ingeniería química/bioingeniería) 424 16.2 Mínimo costo para el tratamiento de aguas residuales (ingeniería civil/ambiental) 429 16.3 Máxima transferencia de potencia en un circuito (ingeniería eléctrica) 433 16.4 Diseño de una bicicleta de montaña (ingeniería mecánica/aeronáutica) 436 Problemas 440 EPÍLOGO: PARTE CUATRO 447 PT4.4 Alternativas 447 PT4.5 Referencias adicionales 448 PARTE CINCO PT5.1 Motivación 451 PT5.2 Antecedentes matemáticos 453 PT5.3 Orientación 462 CAPÍTULO 17 Regresión por mínimos cuadrados 466 17.1 Regresión lineal 466 17.2 Regresión polinomial 482 17.3 Regresión lineal múltiple 486 17.4 Mínimos cuadrados lineales en general 489 17.5 Regresión no lineal 495 Problemas 499 CAPÍTULO 18 Interpolación 503 18.1 Interpolación polinomial de Newton en diferencias divididas 503 18.2 Polinomios de interpolación de Lagrange 516 18.3 Coeficientes de un polinomio de interpolación 520 18.4 Interpolación inversa 521 18.5 Comentarios adicionales 522 18.6 Interpolación mediante trazadores (splines) 525 Problemas 537 CAPÍTULO 19 Aproximación de Fourier 539 19.1 Ajuste de curvas con funciones sinusoidales 540 19.2 Serie de Fourier continua 546 19.3 Dominios de frecuencia y de tiempo 551 AJUSTE DE CURVAS 451
  • 13. xii CONTENIDO 19.4 Integral y transformada de Fourier 554 19.5 Transformada discreta de Fourier (TDF) 556 19.6 Transformada rápida de Fourier 558 19.7 El espectro de potencia 565 19.8 Ajuste de curvas con bibliotecas y paquetes de software 566 Problemas 575 CAPÍTULO 20 Estudio de casos: ajuste de curvas 578 20.1 Regresión lineal y modelos de población (ingeniería química/ bioingeniería) 578 20.2 Uso de trazadores para estimar la transferencia de calor (ingeniería civil/ambiental) 582 20.3 Análisis de Fourier (ingeniería eléctrica) 584 20.4 Análisis de datos experimentales (ingeniería mecánica/aeronáutica) 585 Problemas 587 EPÍLOGO: PARTE CINCO PT5.4 Alternativas 597 PT5.5 Relaciones y fórmulas importantes 598 PT5.6 Métodos avanzados y referencias adicionales 599 PARTE SEIS PT6.1 Motivación 603 PT6.2 Antecedentes matemáticos 612 PT6.3 Orientación 615 CAPÍTULO 21 Fórmulas de integración de Newton-Cotes 619 21.1 La regla del trapecio 621 21.2 Reglas de Simpson 631 21.3 Integración con segmentos desiguales 640 21.4 Fórmulas de integración abierta 643 21.5 Integrales múltiples 643 Problemas 645 CAPÍTULO 22 Integración de ecuaciones 648 22.1 Algoritmos de Newton-Cotes para ecuaciones 648 22.2 Integración de Romberg 649 22.3 Cuadratura de Gauss 655 22.4 Integrales impropias 663 Problemas 666 DIFERENCIACIÓN E INTEGRACIÓN NUMÉRICAS 603
  • 14. CONTENIDO xiii CAPÍTULO 23 Diferenciación numérica 668 23.1 Fórmulas de diferenciación con alta exactitud 668 23.2 Extrapolación de Richardson 672 23.3 Derivadas de datos irregularmente espaciados 673 23.4 Derivadas e integrales para datos con errores 674 23.5 Integración/diferenciación numéricas con bibliotecas y paquetes de software 676 Problemas 679 CAPÍTULO 24 Estudio de casos: integración y diferenciación numéricas 682 24.1 Integración para determinar la cantidad total de calor (ingeniería química/bioingeniería) 682 24.2 Fuerza efectiva sobre el mástil de un bote de vela de carreras (ingeniería civil/ambiental) 684 24.3 Raíz media cuadrática de la corriente mediante integración numérica (ingeniería eléctrica) 687 24.4 Integración numérica para calcular el trabajo (ingeniería mecánica/aeronáutica) 689 Problemas 693 EPÍLOGO: PARTE SEIS 704 PT6.4 Alternativas 704 PT6.5 Relaciones y fórmulas importantes 705 PT6.6 Métodos avanzados y referencias adicionales 705 PARTE SIETE PT7.1 Motivación 709 PT7.2 Antecedentes matemáticos 713 PT7.3 Orientación 715 CAPÍTULO 25 Métodos de Runge-Kutta 719 25.1 Método de Euler 720 25.2 Mejoras del método de Euler 732 25.3 Métodos de Runge-Kutta 740 25.4 Sistemas de ecuaciones 751 25.5 Métodos adaptativos de Runge-Kutta 756 Problemas 764 CAPÍTULO 26 Métodos rígidos y de pasos múltiples 767 26.1 Rigidez 767 26.2 Métodos de pasos múltiples 771 Problemas 792 ECUACIONES DIFERENCIALES ORDINARIAS 709
  • 15. xiv CONTENIDO CAPÍTULO 27 Problemas de valores en la frontera y de valores propios 794 27.1 Métodos generales para problemas de valores en la frontera 795 27.2 Problemas de valores propios 801 27.3 EDO y valores propios con bibliotecas y paquetes de software 814 Problemas 822 CAPÍTULO 28 Estudio de casos: ecuaciones diferenciales ordinarias 825 28.1 Uso de las EDO para analizar la respuesta transitoria de un reactor (ingeniería química/bioingeniería) 825 28.2 Modelos depredador-presa y caos (ingeniería civil/ambiental) 831 28.3 Simulación de la corriente transitoria en un circuito eléctrico (ingeniería eléctrica) 837 28.4 El péndulo oscilante (ingeniería mecánica/aeronáutica) 842 Problemas 846 EPÍLOGO: PARTE SIETE 854 PT7.4 Alternativas 854 PT7.5 Relaciones y fórmulas importantes 855 PT7.6 Métodos avanzados y referencias adicionales 855 PARTE OCHO PT8.1 Motivación 859 PT8.2 Orientación 862 CAPÍTULO 29 Diferencias finitas: ecuaciones elípticas 866 29.1 La ecuación de Laplace 866 29.2 Técnica de solución 868 29.3 Condiciones en la frontera 875 29.4 El método del volumen de control 881 29.5 Software para resolver ecuaciones elípticas 884 Problemas 885 CAPÍTULO 30 Diferencias finitas: ecuaciones parabólicas 887 30.1 La ecuación de conducción de calor 887 30.2 Métodos explícitos 888 30.3 Un método implícito simple 893 30.4 El método de Crank-Nicolson 896 30.5 Ecuaciones parabólicas en dos dimensiones espaciales 899 Problemas 903 ECUACIONES DIFERENCIALES PARCIALES 859
  • 16. CONTENIDO xv CAPÍTULO 31 Método del elemento finito 905 31.1 El enfoque general 906 31.2 Aplicación del elemento finito en una dimensión 910 31.3 Problemas bidimensionales 919 31.4 Resolución de EDP con bibliotecas y paquetes de software 923 Problemas 930 CAPÍTULO 32 Estudio de casos: ecuaciones diferenciales parciales 933 32.1 Balance de masa unidimensional de un reactor (ingeniería química/ bioingeniería) 933 32.2 Deflexiones de una placa (ingeniería civil/ambiental) 938 32.3 Problemas de campo electrostático bidimensional (ingeniería eléctrica) 940 32.4 Solución por elemento finito de una serie de resortes (ingeniería mecánica/ aeronáutica) 943 Problemas 947 EPÍLOGO: PARTE OCHO 949 PT8.3 Alternativas 949 PT8.4 Relaciones y fórmulas importantes 949 PT8.5 Métodos avanzados y referencias adicionales 950 APÉNDICE A: LA SERIE DE FOURIER 951 APÉNDICE B: EMPECEMOS CON MATLAB 953 BIBLIOGRAFÍA 961 ÍNDICE 965
  • 17. PREFACIO Han pasado veinte años desde que se publicó la primera edición de este libro. Durante ese periodo, nuestro escepticismo acerca de que los métodos numéricos y las computadoras tendrían un papel prominente en el currículo de la ingeniería —particularmente en sus etapas tempranas— ha sido rebasado por mucho. Hoy día, muchas universidades ofre- cen cursos para estudiantes de nuevo ingreso, de segundo año e intermedios, tanto de introducción a la computación como de métodos numéricos. Además, muchos de nues- tros colegas integran problemas orientados a la computación con otros cursos en todos los niveles del currículo. Así, esta nueva edición aún se basa en la premisa fundamental de que debe darse a los estudiantes de ingeniería una introducción profunda y temprana a los métodos numéricos. En consecuencia, aunque la nueva edición expande sus alcan- ces, tratamos de mantener muchas de las características que hicieron accesible la prime- ra edición tanto para estudiantes principiantes como avanzados. Éstas incluyen las siguientes: • Orientado a problemas. Los estudiantes de ingeniería aprenden mejor cuando están motivados por la solución de problemas, lo cual es especialmente cierto en el caso de las matemáticas y de la computación. Por tal razón, presentamos los méto- dos numéricos desde la perspectiva de la solución de problemas. • Pedagogía orientada al estudiante. Hemos presentado varios detalles para lograr que el libro sea tan accesible para el estudiante como sea posible. Éstos comprenden la organización general, el uso de introducciones y epílogos para consolidar los temas principales, así como un amplio uso de ejemplos desarrollados y estudios de casos de las áreas principales de la ingeniería. Hemos puesto especial cuidado en que nuestras explicaciones sean claras y en que tengan una orientación práctica. • Método de la “caja clara”. Aunque hacemos especial énfasis en la solución de problemas, creemos que sería autolimitante para el ingeniero abordar los algoritmos numéricos como una “caja negra”. Por lo tanto, hemos presentado suficiente teoría para permitir al usuario comprender los conceptos básicos que están detrás de los métodos. En especial hacemos hincapié en la teoría relacionada con el análisis del error, las limitaciones de los métodos y las alternativas entre métodos. • Orientado al uso de computadoras personales. La primera vez que escribimos este libro había un gran abismo entre el mundo de las grandes computadoras de antaño y el mundo interactivo de las PC. Hoy, conforme el desarrollo de las compu- tadoras personales ha aumentado, las diferencias han desaparecido. Es decir, este libro enfatiza la visualización y los cálculos interactivos, que son el rasgo distintivo de las computadoras personales.
  • 18. PREFACIO xvii • Capacitación al estudiante. Por supuesto que presentamos al estudiante las capa- cidades para resolver problemas con paquetes como Excel y MATLAB. Sin embar- go, también se les enseña a los estudiantes cómo desarrollar programas sencillos y bien estructurados para aumentar sus capacidades básicas en dichos ambientes. Este conocimiento le permite programar en lenguajes como Fortran 90, C y C++. Creemos que el avance de la programación en computadora representa el currículum “oculto” de la ingeniería. Debido a las restricciones, muchos ingenieros no se conforman con las herramientas limitadas y tienen que escribir sus propios códigos. Actualmente se utilizan macros o archivos M. Este libro está diseñado para implementar lo anterior. Además de estos cinco principios, la mejora más significativa en la quinta edición es una revisión profunda y una expansión de las series de problemas al final de cada capítulo. La mayor parte de ellos han sido modificados de manera que permitan distin- tas soluciones numéricas a los de ediciones anteriores. Además, se ha incluido una va- riedad de problemas nuevos. Al igual que en las ediciones previas, se incluyen problemas tanto matemáticos como aplicados a todas las ramas de la ingeniería. En todos los casos, nuestro intento es brindarles a los estudiantes ejercicios que les permitan revisar su comprensión e ilustrar de qué manera los métodos numéricos pueden ayudarlos para una mejor resolución de los problemas. Como siempre, nuestro objetivo principal es proporcionarle al estudiante una intro- ducción sólida a los métodos numéricos. Consideramos que aquellos que estén motivados y que puedan disfrutar los métodos numéricos, la computación y las matemáticas, al final se convertirán en mejores ingenieros. Si nuestro libro fomenta un entusiasmo ge- nuino por estas materias, entonces consideraremos que nuestro esfuerzo habrá tenido éxito. Agradecimientos. Queremos agradecer a nuestros amigos de McGraw-Hill. En particu- lar a Amanda Green, Suzanne Jeans y Peggy Selle, quienes brindaron una atmósfera positiva y de apoyo para la creación de esta edición. Como siempre, Beatrice Sussman realizó un trabajo magistral en la edición y copiado del manuscrito, y Michael Ryder hizo contribuciones superiores durante la producción del libro. Agradecemos en especial a los profesores Wally Grant, Olga Pierrakos, Amber Phillips, Justin Griffee y Kevin Mace (Virginia Tech), y a la profesora Theresa Good (Texas A&M), quien a lo largo de los años ha aportado problemas para nuestro libro. Al igual que en ediciones anteriores, David Clough (University of Colorado) y Jerry Stedinger (Cornell University) compar- tieron con generosidad sus puntos de vista y sugerencias. Otras sugerencias útiles también provinieron de Bill Philpot (Cornell University), Jim Guilkey (University of Utah), Dong-Il Seo (Chungnam National University, Corea), y Raymundo Cordero y Karim Muci (ITESM, México). La edición actual también se benefició de las revisiones y su- gerencias que hicieron los colegas siguientes: Ella M. Atkins, University of Maryland Betty Barr, University of Houston Florin Bobaru, University of Nebraska-Lincoln Ken W. Bosworth, Idaho State University Anthony Cahill, Texas A&M University Raymond C. Y. Chin, Indiana University-Purdue, Indianapolis
  • 19. xviii PREFACIO Jason Clark, University of California, Berkeley John Collings, University of North Dakota Ayodeji Demuren, Old Dominion University Cassiano R. E. de Oliveira, Georgia Institute of Technology Subhadeep Gan, University of Cincinnati Aaron S. Goldstein, Virginia Polytechnic Institute and State University Gregory L. Griffin, Louisiana State University Walter Haisler, Texas A&M University Don Hardcastle, Baylor University Scott L. Hendricks, Virginia Polytechnic Institute and State University David J. Horntrop, New Jersey Institute of Technology Tribikram Kundu, University of Arizona Hysuk Lee, Clemson University Jichun Li, University of Nevada, Las Vegas Jeffrey S. Marshall, University of Iowa George Novacky, University of Pittsburgh Dmitry Pelinovsky, McMaster University Siva Parameswaran, Texas Technical University Greg P. Semeraro, Rochester Institute of Technology Jerry Sergent, Faifield University Dipendra K. Sinha, San Francisco State University Scott A. Socolofsky, Texas A&M University Robert E. Spall, Utah State University John C. Strikwerda, University of Wisconsin-Madison Karsten E. Thompson, Louisiana State University Kumar Vemaganti, University of Cincinnati Peter Wolfe, University of Maryland Yale Yurttas, Texas A&M University Nader Zamani, University of Windsor Viktoria Zoltay, Tufts University Debemos hacer énfasis en que si bien recibimos consejos útiles de las personas mencionadas, somos responsables de cualesquiera inexactitudes o errores que se encuen- tren en esta edición. Por favor, haga contacto con Steven Chapra por correo electrónico en caso de que detecte algún error en esta edición. Por último, queremos agradecer a nuestras familias, amigos y estudiantes por su paciencia y apoyo constantes. En particular, a Cynthia Chapra y Claire Canale, quienes siempre están presentes brindando comprensión, puntos de vista y amor. STEVEN C. CHAPRA Medford, Massachusetts steven.chapra@tufts.edu RAYMOND P. CANALE Lake Leelanau, Michigan
  • 20. PREFACIO xix Agradecemos en especial la valiosa contribución de los siguientes asesores técnicos para la presente edición en español: Abel Valdez Ramírez, ESIQIE, Instituto Politécnico Nacional, Zacatenco Alejandra González, ITESM, campus Monterrey Fernando Vera Badillo, Universidad La Salle, campus Ciudad de México Jaime Salazar Tamez, ITESM, campus Toluca Jesús Estrada Madueño, Instituto Tecnológico de Culiacán Jesús Ramón Villarreal Madrid, Instituto Tecnológico de Culiacán José Juan Suárez López, ESIME, Instituto Politécnico Nacional, Culhuacán Leonel Magaña Mendoza, Instituto Tecnológico de Morelia María de los Ángeles Contreras Flores, Universidad Autónoma del Estado de México, campus Toluca Mario Medina Valdez, Universidad Autónoma Metropolitana - Iztapalapa Olga López, ITESM, campus Estado de México Reynaldo Gómez, Universidad de Guadalajara
  • 21. xx CONTENIDO VISITA GUIADA Para ofrecer un panorama de los métodos numéricos, hemos organizado el texto en partes, y presentamos información unificadora a través de elementos de Motivación, Antecedentes Matemáticos, Orienta- ción y Epílogo. Cada capítulo contiene problemas de tarea nuevos y revisados. El ochenta por ciento de los problemas son nuevos o se han modifi- cado. El texto incluye problemas de desafío de todas las disciplinas de la ingeniería. Hay secciones del texto, así como problemas de tarea, dedicadas a implantar métodos numéricos con el software de Microsoft Excel y con el de The MathWorks, Inc. MATLAB. xx PT3.1 Motivación PT3.2 Antecedentes matemáticos PT3.3 Orientación 9.1 Sistemas pequeños 9.2 Eliminación de Gauss simple PARTE 3 Ecuaciones algebraicas lineales PT3.6 Métodos avanzados EPÍLOGO CAPÍTULO 9 Eliminación de Gauss PT3.5 Fórmulas importantes PT3.4 Alternativas 12.4 Ingeniería mecánica 12.3 Ingeniería eléctrica 12.2 Ingeniería civil 12.1 Ingeniería química 11.3 Bibliotecas y paquetes 11.2 Gauss-Seidel 11.1 Matrices especiales CAPÍTULO 10 Descomposición LU e inversión de matrices CAPÍTULO 11 Matrices especiales y el método de Gauss-Seidel CAPÍTULO 12 Estudio de casos 10.3 Análisis del error y condición del sistema 10.2 La matriz inversa 10.1 Descomposición LU 9.7 Gauss-Jordan 9.6 Sistemas no lineales 9.5 Sistemas complejos 9.4 Soluciones 9.3 Dificultades PROBLEMAS 339 Ingeniería Química/Bioingeniería 12.1 Lleve a cabo el mismo cálculo que en la sección 12.1, pero cambie c01 a 40 y c03 a 10. También cambie los flujos siguientes: Q01 = 6, Q12 = 4, Q24 = 2 y Q44 = 12. 12.2 Si la entrada al reactor 3 de la sección 12.1, disminuye 25 por ciento, utilice la matriz inversa para calcular el cambio por- centual en la concentración de los reactores 1 y 4. 12.3 Debido a que el sistema que se muestra en la figura 12.3 está en estado estacionario (estable), ¿qué se puede afirmar respecto de los cuatro flujos: Q01, Q03, Q44 y Q55? 12.4 Vuelva a calcular las concentraciones para los cinco reac- tores que se muestran en la figura 12.3, si los flujos cambian como sigue: Q01 = 5 Q31 = 3 Q25 = 2 Q23 = 2 Q15 = 4 Q55 = 3 Q54 = 3 Q34 = 7 Q12 = 4 Q03 = 8 Q24 = 0 Q44 = 10 12.5 Resuelva el mismo sistema que se especifica en el proble- ma 12.4, pero haga Q12 = Q54 = 0 y Q15 = Q34 = 3. Suponga que las entradas (Q01, Q03) y las salidas (Q44, Q55) son las mismas. Use la conservación del flujo para volver a calcular los valores de los demás flujos. 12.6 En la figura P12.6 se muestran tres reactores conectados por tubos. Como se indica, la tasa de transferencia de produc- tos químicos a través de cada tubo es igual a la tasa de flujo (Q, en unidades de metros cúbicos por segundo) multiplicada por la concentración del reactor desde el que se origina el flujo (c, en unidades de miligramos por metro cúbico). Si el sistema se PROBLEMAS 12.7 Con el empleo del mismo enfoque que en la sección 12.1, determine la concentración de cloruro en cada uno de los Gran- des Lagos con el uso de la información que se muestra en la fi- gura P12.7. 12.8 La parte baja del río Colorado consiste en una serie de cuatro almacenamientos como se ilustra en la figura P12.8. Puede escribirse los balances de masa para cada uno de ellos, lo que da por resultado el conjunto siguiente de ecuaciones alge- braicas lineales simultáneas: 13 42 0 0 0 13 422 12 252 0 0 0 12 252 12 377 0 0 0 12 . . . . . − − − . . . 377 11 797 1 2 3 4 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ c c c c ⎭ ⎭ ⎪ ⎪ = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ 750 5 300 102 30 . donde el vector del lado derecho consiste en las cargas de cloru- ro hacia cada uno de los cuatro lagos y c1, c2, c3 y c4 = las con- centraciones de cloruro resultantes en los lagos Powell, Mead, Mohave y Havasu, respectivamente. a) Use la matriz inversa para resolver cuáles son las concen- traciones en cada uno de los cuatro lagos. b) ¿En cuánto debe reducirse la carga del lago Powell para que la concentración de cloruro en el lago Havasu sea de 75? c) Con el uso de la norma columna-suma, calcule el número de condición y diga cuántos dígitos sospechosos se generarían al resolver este sistema. Se debe observar que Solver puede fallar. Su éxito depende de 1. la condición del sistema de ecuaciones y/o 2. la calidad de los valores iniciales. El resultado satisfactorio del ejemplo anterior no está garantizado. A pesar de esto, se puede encontrar a Solver bastante útil para hacer de él una buena opción en la obtención rápida de raíces para un amplio rango de aplicaciones a la ingeniería. 7.7.2 MATLAB MATLAB es capaz de localizar raíces en ecuaciones algebraicas y trascendentes, como se muestra en la tabla 7.1. Siendo excelente para la manipulación y localización de raíces en los polinomios. La función fzero está diseñada para localizar la raíz de una función. Una represen- tación simplificada de su sintaxis es fzero(f,X0,opciones) donde f es la tensión que se va a analizar, x0 es el valor inicial y opciones son los pará- metros de optimización (éstos pueden cambiarse al usar la función optimset). Si no se anotan las opciones se emplean los valores por omisión. Observe que se pueden emplear uno o dos valores iniciales, asumiendo que la raíz está dentro del intervalo. El siguiente ejemplo ilustra cómo se usa la función fzero. EJEMPLO 7.6 Uso de MATLAB para localizar raíces Planteamiento del problema. Utilice la función fzero de MATLAB para encontrar las raíces de f (x) = x10 – 1 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 191
  • 22. xxi El texto presenta numerosos ejemplos resueltos que dan a los estudiantes ilustraciones paso a paso acerca de cómo implantar los métodos numéricos. Existen 28 estudios de caso de la ingeniería para ayudar a los estudiantes a relacionar los métodos numéricos con los campos principa- les de la ingeniería. MATERIALES DE APOYO Esta obra cuenta con interesantes complementos que fortalecen los procesos de enseñanza-aprendizaje, así como la evaluación de los mismos, los cuales se otor- gan a profesores que adoptan este texto para sus cursos. Para obtener más información y conocer la política de entrega de estos materiales, contacte a su representante McGraw-Hill. EJEMPLO 11.1 Solución tridiagonal con el algoritmo de Thomas Planteamiento del problema. Resuelva el siguiente sistema tridiagonal con el algo- ritmo de Thomas. 2 04 1 1 2 04 1 1 2 04 1 1 2 04 40 8 0 8 0 8 200 8 1 2 3 4 . . . . . . . . − − − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ T T T T Solución. Primero, la descomposición se realiza así: e2 = –1/2.04 = –0.49 f2 = 2.04 – (–0.49)(–1) = 1.550 e3 = –1/1.550 = –0.645 f3 = 2.04 – (–0.645)(–1) = 1.395 e4 = –1/1.395 = –0.717 f4 = 2.04 – (–0.717)(–1) = 1.323 Así, la matriz se transforma en 2 04 0 49 1 1 550 0 645 1 1 395 0717 1 1 323 . . – . . . . − − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11.1 MATRICES ESPECIALES 307 CAPÍTULO 32 Estudio de casos: ecuaciones diferenciales parciales El propósito de este capítulo es aplicar los métodos de la parte ocho a problemas prácticos de ingeniería. En la sección 32.1 se utiliza una EDP parabólica para calcular la distribu- ción de una sustancia química, dependiente del tiempo a lo largo del eje longitudinal de un reactor rectangular. Este ejemplo ilustra cómo la inestabilidad de una solución puede deberse a la naturaleza de la EDP, más que a las propiedades del método numérico. Las secciones 32.2 y 32.3 presentan aplicaciones de las ecuaciones de Poisson y Laplace a problemas de ingeniería civil y eléctrica. Entre otras cuestiones, esto le per- mitirá distinguir tanto las similitudes como las diferencias entre los problemas en esas áreas de la ingeniería. Además, se pueden comparar con el problema de la placa calen- tada que ha servido como sistema prototipo en esta parte del libro. La sección 32.2 trata de la deflexión de una placa cuadrada; mientras que la sección 32.3 se dedica al cálculo de la distribución del voltaje y el flujo de carga en una superficie bidimensio- nal con un extremo curvado. La sección 32.4 presenta un análisis del elemento finito aplicado a una serie de resor- tes. Este problema de mecánica y estructuras ilustra mejor las aplicaciones del elemento finito, que al problema de temperatura usado para analizar el método en el capítulo 31. 32.1 BALANCE DE MASA UNIDIMENSIONAL DE UN REACTOR (INGENIERÍA QUÍMICA/BIOINGENIERÍA) Antecedentes. Los ingenieros químicos utilizan mucho los reactores idealizados en su trabajo de diseño. En las secciones 12.1 y 28.1 nos concentramos en reactores simples o acoplados bien mezclados, los cuales constituyen ejemplos de sistemas de parámetros localizados (recuerde la sección PT3.1.2). FIGURA 32.1 Reactor alargado con un solo punto de entrada y salida Un balance
  • 24. ACERCA DE LOS AUTORES Steve Chapra es profesor en el Departamento de Ingeniería Civil y Ambiental de la Universidad de Tufts. Entre sus obras publicadas se encuentran Surface Water-Quality Modeling e Introduction to Computing for Engineers. El Dr. Chapra obtuvo el grado de Ingeniero por las universidades de Manhattan y de Michigan. Antes de incorporarse a la facultad de Tufts trabajó para la Agencia de Protección Ambiental y la Administración Nacional del Océano y la Atmósfera, fue profesor asociado en las universidades de Texas A&M y de Colorado. En general, sus investigaciones están relacionadas con la modelación de la calidad del agua superficial y la aplicación de computación avanzada en la ingeniería ambiental. También ha recibido gran cantidad de reconocimientos por sus destacadas contri- buciones académicas, incluyendo la medalla Rudolph Hering (ASCE en 1993) y el premio al autor distinguido Meriam-Wiley (1987), por parte de la Sociedad Americana para la Educación en Ingeniería. Se ha reconocido como profesor emérito en las facul- tades de ingeniería de las universidades de Texas A&M (premio Tenneco, 1986) y de Colorado (premio Hitchinson, 1992). Raymond P. Canale es profesor emérito de la Universidad de Michigan. En sus más de 20 años de carrera en la universidad ha impartido numerosos cursos en la áreas de computación, métodos numéricos e ingeniería ambiental. También ha dirigido extensos programas de investigación en el área de modelación matemática y por computadora de ecosistemas acuáticos. Es autor y coautor de varios libros, ha publicado más de 100 artículos e informes científicos. También ha diseñado y desarrollado software para computadoras personales, con la finalidad de facilitar la educación en ingeniería y la solución de problemas en ingeniería. Ha recibido el premio al autor distinguido Meriam- Wiley de la Sociedad Americana para la Educación en Ingeniería por sus libros y el software desarrollado, así como otros reconocimientos por sus publicaciones técnicas. Actualmente, el profesor Canale se dedica a resolver problemas de aplicación, tra- bajando como consultor y perito en empresas de ingeniería, en la industria e institucio- nes gubernamentales.
  • 27. MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR PT1.1 MOTIVACIÓN Los métodos numéricos constituyen técnicas mediante las cuales es posible formular problemas matemáticos, de tal forma que puedan resolverse utilizando operaciones aritméticas. Aunque existen muchos tipos de métodos numéricos, éstos comparten una característica común: invariablemente requieren de un buen número de tediosos cálculos aritméticos. No es raro que con el desarrollo de computadoras digitales eficientes y rápi- das, el papel de los métodos numéricos en la solución de problemas en ingeniería haya aumentado de forma considerable en los últimos años. PT1.1.1 Métodos sin computadora Además de proporcionar un aumento en la potencia de cálculo, la disponibilidad cre- ciente de las computadoras (en especial de las personales) y su asociación con los mé- todos numéricos han influido de manera muy significativa en el proceso de la solución actual de los problemas en ingeniería. Antes de la era de la computadora los ingenieros sólo contaban con tres métodos para la solución de problemas: 1. Se encontraban las soluciones de algunos problemas usando métodos exactos o analíticos. Dichas soluciones resultaban útiles y proporcionaban una comprensión excelente del comportamiento de algunos sistemas. No obstante, las soluciones analíticas sólo pueden encontrarse para una clase limitada de problemas. Éstos in- cluyen aquellos que pueden aproximarse mediante modelos lineales y también aquellos que tienen una geometría simple y de baja dimensión. En consecuencia, las soluciones analíticas tienen un valor práctico limitado porque la mayoría de los problemas reales son no lineales, e implican formas y procesos complejos. 2. Para analizar el comportamiento de los sistemas se usaban soluciones gráficas, las cuales tomaban la forma de gráficas o nomogramas; aunque las técnicas gráficas se utilizan a menudo para resolver problemas complejos, los resultados no son muy precisos. Además, las soluciones gráficas (sin la ayuda de una computadora) son en extremo tediosas y difíciles de implementar. Finalmente, las técnicas gráficas están limitadas a los problemas que puedan describirse usando tres dimensiones o menos. 3. Para implementar los métodos numéricos se utilizaban calculadoras y reglas de cálculo. Aunque en teoría dichas aproximaciones deberían ser perfectamente ade- cuadas para resolver problemas complicados, en la práctica se presentan varias di- ficultades debido a que los cálculos manuales son lentos y tediosos. Además, los resultados no son consistentes, ya que surgen equivocaciones cuando se efectúan los numerosos cálculos de esta manera. Antes del uso de la computadora se gastaba bastante energía en la técnica misma de solución, en lugar de usarla en la definición del problema y su interpretación (figu- ra PT1.1a). Esta situación desafortunada se debía al tiempo y trabajo monótono que se requería para obtener resultados numéricos con técnicas que no utilizaban la compu- tadora.
  • 28. En la actualidad, las computadoras y los métodos numéricos ofrecen una alternati- va para los cálculos complicados. Al usar la potencia de la computadora se obtienen soluciones directamente, de esta manera se pueden aproximar los cálculos sin tener que recurrir a consideraciones de simplificación o a técnicas muy lentas. Aunque las solu- ciones analíticas aún son muy valiosas, tanto para resolver problemas como para brindar una mayor comprensión, los métodos numéricos representan opciones que aumentan, en forma considerable, la capacidad para enfrentar y resolver los problemas; como resulta- do, se dispone de más tiempo para aprovechar las habilidades creativas personales. En consecuencia, es posible dar más importancia a la formulación de un problema y a la interpretación de la solución, así como a su incorporación al sistema total, o conciencia “holística” (figura PT1.1b). PT1.1.2 Los métodos numéricos y la práctica en ingeniería Desde finales de la década de los cuarenta, la amplia disponibilidad de las computado- ras digitales han llevado a una verdadera explosión en el uso y desarrollo de los métodos numéricos. Al principio, este crecimiento estaba limitado por el costo de procesamien- to de las grandes computadoras (mainframes), por lo que muchos ingenieros seguían usando simples procedimientos analíticos en una buena parte de su trabajo. Vale la pena INTERPRETACIÓN La facilidad de calcular permite pensar holísticamente y desarrollar la intuición; es factible estudiar la sensibilidad y el comportamiento del sistema FORMULACIÓN Exposición profunda de la relación del problema con las leyes fundamentales SOLUCIÓN Método de la computadora fácil de usar b) INTERPRETACIÓN Análisis profundo limitado por una solución que consume tiempo FORMULACIÓN Leyes fundamentales explicadas brevemente SOLUCIÓN Métodos muy elaborados y con frecuencia complicados para hacer manejable el problema a) FIGURA PT1.1 Las tres fases en la solución deproblemas en ingeniería en a) la era anterior a las computadoras y b) la era de las computadoras. Los tamaños de los recuadros indican el nivel de importancia que se presenta en cada fase. Las computadoras facilitan la implementación de técnicas de solución y, así, permiten un mayor interés sobre los aspectos creativos en la formulación de problemas y la interpretación de los resultados. 4 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
  • 29. mencionar que la reciente evolución de computadoras personales de bajo costo ha per- mitido el acceso, de mucha gente, a las poderosas capacidades de cómputo. Además, existen diversas razones por las cuales se deben estudiar los métodos numéricos: 1. Los métodos numéricos son herramientas muy poderosas para la solución de pro- blemas. Son capaces de manipular sistemas de ecuaciones grandes, manejar no li- nealidades y resolver geometrías complicadas, comunes en la práctica de la ingeniería y, a menudo, imposibles de resolver en forma analítica. Por lo tanto, aumentan la habilidad de quien los estudia para resolver problemas. 2. En el transcurso de su carrera, es posible que el lector tenga la oportunidad de uti- lizar paquetes disponibles comercialmente, o programas “enlatados” que contengan métodos numéricos. El uso eficiente de estos programas depende del buen entendi- miento de la teoría básica en que se basan tales métodos. 3. Hay muchos problemas que no pueden resolverse con programas “enlatados”. Si usted es conocedor de los métodos numéricos y es hábil en la programación de computadoras, entonces tiene la capacidad de diseñar sus propios programas para resolver los problemas, sin tener que comprar un software costoso. 4. Los métodos numéricos son un vehículo eficiente para aprender a servirse de las computadoras. Es bien sabido que una forma efectiva de aprender programación consiste en escribir programas para computadora. Debido a que la mayoría de los métodos numéricos están diseñados para usarlos en las computadoras, son ideales para tal propósito.Además, son especialmente adecuados para ilustrar el poder y las limitaciones de las computadoras. Cuando usted desarrolle en forma satisfactoria los métodos numéricos en computadora y los aplique para resolver los problemas que de otra manera resultarían inaccesibles, usted dispondrá de una excelente de- mostración de cómo las computadoras sirven para su desarrollo profesional. Al mismo tiempo, aprenderá a reconocer y controlar los errores de aproximación que son inseparables de los cálculos numéricos a gran escala. 5. Los métodos numéricos son un medio para reforzar su comprensión de las matemá- ticas, ya que una de sus funciones es convertir las matemáticas superiores en ope- raciones aritméticas básicas, de esta manera se puede profundizar en los temas que de otro modo resultarían oscuros. Esta perspectiva dará como resultado un aumento de su capacidad de comprensión y entendimiento en la materia. PT1.2 ANTECEDENTES MATEMÁTICOS Cada parte de este libro requiere de algunos conocimientos matemáticos, por lo que el material introductorio de cada parte comprende una sección que incluye los fundamen- tos matemáticos. Como la parte uno, que está dedicada a aspectos básicos sobre las matemáticas y la computación, en esta sección no se revisará ningún tema matemático específico. En vez de ello se presentan los temas del contenido matemático que se cubren en este libro. Éstos se resumen en la figura PT1.2 y son: 1. Raíces de ecuaciones (figura PT1.2a). Estos problemas se relacionan con el valor de una variable o de un parámetro que satisface una ecuación no lineal. Son espe- cialmente valiosos en proyectos de ingeniería, donde con frecuencia resulta impo- sible despejar de manera analítica los parámetros de las ecuaciones de diseño. PT1.2 ANTECEDENTES MATEMÁTICOS 5
  • 30. 2. Sistemas de ecuaciones algebraicas lineales (figura PT1.2b). En esencia, se trata de problemas similares a los de raíces de ecuaciones, en el sentido de que están rela- cionados con valores que satisfacen ecuaciones. Sin embargo, en lugar de satisfacer una sola ecuación, se busca un conjunto de valores que satisfaga simultáneamente un conjunto de ecuaciones algebraicas lineales, las cuales surgen en el contexto de f(x) x Raíz x2 x1 Solución Mínimo f(x) x Interpolación f(x) x f(x) x Regresión f(x) I a) Parte 2: Raíces de ecuaciones Resuelva f(x) = 0 para x. c) Parte 4: Optimización b) Parte 3: Sistema de ecuaciones algebraicas lineales Dadas las a’s y las c’s, resolver a11x1 + a12x2 = c1 a21x1 + a22x2 = c2 para las x’s. Determine la x que da el óptimo de f(x). e) Parte 6: Integración I = 兰a b f(x) dx Encuentre el área bajo la curva. d) Parte 5: Ajuste de curvas x FIGURA PT1.2 Resumen de los métodos numéricos que se consideran en este libro. 6 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
  • 31. una gran variedad de problemas y en todas las disciplinas de la ingeniería. En par- ticular, se originan a partir de modelos matemáticos de grandes sistemas de elemen- tos interrelacionados, tal como estructuras, circuitos eléctricos y redes de flujo; aunque también se llegan a encontrar en otras áreas de los métodos numéricos como el ajuste de curvas y las ecuaciones diferenciales. 3. Optimización (figura PT1.2c). En estos problemas se trata de determinar el valor o los valores de una variable independiente que corresponden al “mejor” o al valor óptimo de una función. De manera que, como se observa en la figura PT1.2c, la optimización considera la identificación de máximos y mínimos. Tales problemas se presentan comúnmente en el contexto del diseño en ingeniería. También surgen en otros métodos numéricos. Nosotros nos ocuparemos de la optimización tanto para una sola variable sin restricciones como para varias variables sin restricciones. También describiremos la optimización restringida dando especial énfasis a la pro- gramación lineal. 4. Ajuste de curvas (figura PT1.2d). A menudo se tendrá que ajustar curvas a un con- junto de datos representados por puntos. Las técnicas desarrolladas para tal propó- sito se dividen en dos categorías generales: regresión e interpolación. La primera se emplea cuando hay un significativo grado de error asociado con los datos; con fre- cuencia los datos experimentales son de este tipo. Para estas situaciones, la estrate- gia es encontrar una curva que represente la tendencia general de los datos, sin necesidad de tocar los puntos individuales. En contraste, la interpolación se utiliza cuando el objetivo es determinar valores intermedios entre datos que estén, relati- vamente, libres de error. Tal es el caso de la información tabulada. En dichas situa- ciones, la estrategia consiste en ajustar una curva directamente mediante los puntos obtenidos como datos y usar la curva para predecir valores intermedios. 5. Integración (figura PT1.2e). Como hemos representado gráficamente, la interpreta- ción de la integración numérica es la determinación del área bajo la curva. La inte- y x g) Parte 8: Ecuaciones diferenciales parciales Dada determine u como función de x y y = f(x, y) 2 u x2 2 u y2 + t Pendiente = f(ti, yi) y t ti ti + 1 f ) Parte 7: Ecuaciones diferenciales ordinarias Dada resolver para y como función de t. yi + 1 = yi + f(ti , yi ) t ⯝ = f(t, y) dy dt y t FIGURA PT1.2 (Conclusión) PT1.2 ANTECEDENTES MATEMÁTICOS 7
  • 32. gración tiene diversas aplicaciones en la práctica de la ingeniería, que van desde la determinación de los centroides de objetos con formas extrañas, hasta el cálculo de cantidades totales basadas en conjuntos de medidas discretas. Además, las fórmulas de integración numérica desempeñan un papel importante en la solución de ecua- ciones diferenciales. 6. Ecuaciones diferenciales ordinarias (figura PT1.2f). Éstas tienen una enorme im- portancia en la práctica de la ingeniería, lo cual se debe a que muchas leyes físicas están expresadas en términos de la razón de cambio de una cantidad, más que en términos de la cantidad misma. Entre los ejemplos tenemos desde los modelos de predicción demográfica (razón de cambio de la población), hasta la aceleración de un cuerpo que cae (razón de cambio de la velocidad). Se tratan dos tipos de pro- blemas: problemas con valor inicial y problemas con valores en la frontera.Además veremos el cálculo de valores propios. 7. Ecuaciones diferenciales parciales (figura PT1.2g). Las ecuaciones diferenciales parciales sirven para caracterizar sistemas de ingeniería, en los que el comporta- miento de una cantidad física se expresa en términos de su razón de cambio con respecto a dos o más variables independientes. Entre los ejemplos tenemos la dis- tribución de temperatura en estado estacionario sobre una placa caliente (espacio bidimensional) o la temperatura variable con el tiempo de una barra caliente (tiem- po y una dimensión espacial). Para resolver numéricamente las ecuaciones diferen- ciales parciales se emplean dos métodos bastante diferentes. En el presente texto haremos énfasis en los métodos de las diferencias finitas que aproximan la solución usando puntos discretos (figura PT1.2g). No obstante, también presentaremos una introducción a los métodos de elementos finitos, los cuales usan una aproximación con piezas discretas. PT1.3 ORIENTACIÓN Resulta útil esta orientación antes de proceder a la introducción de los métodos numé- ricos. Lo que sigue está pensado como una vista general del material contenido en la parte uno. Se incluyen, además, algunos objetivos como ayuda para concentrar el esfuer- zo del lector en el estudio de los temas. PT1.3.1 Alcance y presentación preliminar La figura PT1.3 es una representación esquemática del material contenido en la parte uno. Este diagrama se elaboró para ofrecer un panorama global de esta parte del libro. Se considera que un sentido de “imagen global” resulta importante para desarrollar una verdadera comprensión de los métodos numéricos. Al leer un texto es posible que se pierda uno en los detalles técnicos. Siempre que el lector perciba que está perdiendo la “imagen global” vuelva a la figura PT1.3 para orientarse nuevamente. Cada parte de este libro contiene una figura similar. La figura PT1.3 también sirve como una breve revisión inicial del material que se cubre en la parte uno. El capítulo 1 está diseñado para orientarle en los métodos numé- ricos y para motivarlo mostrándole cómo se utilizan dichas técnicas, en el proceso de elaborar modelos matemáticos aplicados a la ingeniería. El capítulo 2 es una introducción 8 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
  • 33. y un repaso de los aspectos de computación que están relacionados con los métodos numéricos y presenta las habilidades de programación que se deben adquirir para ex- plotar de manera eficiente la siguiente información. Los capítulos 3 y 4 se ocupan del importante tema del análisis del error, que debe entenderse bien para el uso efectivo de los métodos numéricos. Además, se incluye un epílogo que presenta los elementos de juicio que tienen una gran importancia para el uso efectivo de los métodos numéricos. CAPÍTULO 1 Modelos matemáticos y solución de problemas en ingeniería PARTE 1 Modelos, computadoras y análisis del error CAPÍTULO 2 Programación y software CAPÍTULO 3 Aproximaciones y errores de redondeo CAPÍTULO 4 Errores de truncamiento y la serie de Taylor EPÍLOGO 2.6 Otros lenguajes y bibliotecas 2.5 MATLAB 2.4 Excel 2.3 Programación modular 2.2 Programación estructurada 2.1 Paquetes y programación PT1.2 Antecedentes matemáticos PT1.6 Métodos avanzados PT1.5 Fórmulas importantes 4.4 Varios tipos de error 4.3 Error numérico total 4.2 Propagación del error 4.1 La serie de Taylor 3.4 Errores de redondeo 3.1 Cifras significativas 3.3 Definiciones de error 3.2 Exactitud y precisión PT1.4 Alternativas PT1.3 Orientación PT1.1 Motivación 1.2 Leyes de conservación 1.1 Un modelo simple FIGURA PT1.3 Esquema de la organización del material en la parte uno: Modelos, computadoras y análisis del error. PT1.3 ORIENTACIÓN 9
  • 34. PT1.3.2 Metas y objetivos Objetivos de estudio. Al terminar la parte uno el lector deberá estar preparado para aventurarse en los métodos numéricos. En general, habrá adquirido una comprensión fundamental de la importancia de las computadoras y del papel que desempeñan las aproximaciones y los errores en el uso y desarrollo de los métodos numéricos. Además de estas metas generales, deberá dominar cada uno de los objetivos de estudio específicos que se muestran en la tabla PT1.1. Objetivos de cómputo. Al terminar de estudiar la parte uno, usted deberá tener su- ficientes habilidades en computación para desarrollar su propio software para los méto- dos numéricos de este texto. También será capaz de desarrollar programas de computadora bien estructurados y confiables basándose en seudocódigos, diagramas de flujo u otras formas de algoritmo. Usted deberá desarrollar la capacidad de documen- tar sus programas de manera que sean utilizados en forma eficiente por otros usuarios. Por último, además de sus propios programas, usted deberá usar paquetes de software junto con este libro. Paquetes como MATLAB y Excel son los ejemplos de dicho soft- ware. Usted deberá estar familiarizado con ellos, ya que será más cómodo utilizarlos para resolver después los problemas numéricos de este texto. TABLA PT1.1 Objetivos específicos de estudio de la parte uno. 1. Reconocer la diferencia entre soluciones analíticas y numéricas. 2. Entender cómo las leyes de la conservación se emplean para desarrollar modelos matemáticos de sistemas físicos. 3. Definir diseño modular y top-down. 4. Definir las reglas para la programación estructurada. 5. Ser capaz de elaborar programas estructurados y modulares en un lenguaje de alto nivel. 6. Saber cómo se traducen los diagramas de flujo estructurado y el seudocódigo al código en un lenguaje de alto nivel. 7. Empezar a familiarizarse con cualquier software que usará junto con este texto. 8. Reconocer la diferencia entre error de truncamiento y error de redondeo. 9. Comprender los conceptos de cifras significativas, exactitud y precisión. 10. Conocer la diferencia entre error relativo verdadero ev, error relativo aproximado ea y error aceptable es y entender cómo ea y es sirven para terminar un cálculo iterativo. 11. Entender cómo se representan los números en las computadoras y cómo tal representación induce errores de redondeo. En particular, conocer la diferencia entre precisión simple y extendida. 12. Reconocer cómo la aritmética de la computadora llega a presentar y amplificar el error de redondeo en los cálculos. En particular, apreciar el problema de la cancelación por sustracción. 13. Saber cómo la serie de Taylor y su residuo se emplean para representar funciones continuas. 14. Conocer la relación entre diferencias finitas divididas y derivadas. 15. Ser capaz de analizar cómo los errores se propagan a través de las relaciones funcionales. 16. Estar familiarizado con los conceptos de estabilidad y condición. 17. Familiarizarse con las consideraciones que se describen en el epílogo de la parte uno. 10 MODELOS, COMPUTADORAS Y ANÁLISIS DEL ERROR
  • 35. CAPÍTULO 1 Modelos matemáticos y solución de problemas en ingeniería El conocimiento y la comprensión son prerrequisitos para la aplicación eficaz de cualquier herramienta. Si no sabemos cómo funcionan las herramientas, por ejemplo, tendremos serios problemas para reparar un automóvil, aunque la caja de herramientas sea de lo más completa. Ésta es una realidad, particularmente cuando se utilizan computadoras para resolver problemas de ingeniería. Aunque las computadoras tienen una gran utilidad, son prác- ticamente inútiles si no se comprende el funcionamiento de los sistemas de ingeniería. Esta comprensión inicialmente es empírica —es decir, se adquiere por observación y experimentación—. Sin embargo, aunque esta información obtenida de manera empí- rica resulta esencial, sólo estamos a la mitad del camino. Durante muchos años de ob- servación y experimentación, los ingenieros y los científicos han advertido que ciertos aspectos de sus estudios empíricos ocurren una y otra vez. Este comportamiento general puede expresarse como las leyes fundamentales que engloba, en esencia, el conocimien- to acumulado de la experiencia pasada. Así, muchos problemas de ingeniería se resuel- ven con el empleo de un doble enfoque: el empirismo y el análisis teórico (figura 1.1). Debe destacarse que ambos están estrechamente relacionados. Conforme se obtie- nen nuevas mediciones, las generalizaciones llegan a modificarse o aun a descubrirse otras nuevas. De igual manera, las generalizaciones tienen una gran influencia en la experimentación y en las observaciones. En lo particular, las generalizaciones sirven para organizar principios que se utilizan para sintetizar los resultados de observaciones y experimentos en un sistema coherente y comprensible, del que se pueden obtener conclusiones. Desde la perspectiva de la solución de un problema de ingeniería, el sis- tema es aún más útil cuando el problema se expresa por medio de un modelo matemá- tico. El primer objetivo de este capítulo consiste en introducir al lector a la modelación matemática y su papel en la solución de problemas en ingeniería. Se mostrará también la forma en que los métodos numéricos figuran en el proceso. 1.1 UN MODELO MATEMÁTICO SIMPLE Un modelo matemático se define, de manera general, como una formulación o una ecuación que expresa las características esenciales de un sistema físico o de un proceso en términos matemáticos. En general, el modelo se representa mediante una relación funcional de la forma: Variable variables funciones dependiente = f 冢independientes , parámetros, de fuerza冣 (1.1)
  • 36. 12 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA donde la variable dependiente es una característica que generalmente refleja el com- portamiento o estado de un sistema; las variables independientes son, por lo común, dimensiones tales como tiempo y espacio, a través de las cuales se determina el com- portamiento del sistema; los parámetros son el reflejo de las propiedades o la composi- ción del sistema; y las funciones de fuerza son influencias externas que actúan sobre el sistema. La expresión matemática de la ecuación (1.1) va desde una simple relación algebrai- ca hasta un enorme y complicado grupo de ecuaciones diferenciales. Por ejemplo, a través de sus observaciones, Newton formuló su segunda ley del movimiento, la cual establece que la razón de cambio del momentum con respecto al tiempo de un cuerpo, es igual a la fuerza resultante que actúa sobre él. La expresión matemática, o el modelo, de la segunda ley es la ya conocida ecuación F = ma (1.2) donde F es la fuerza neta que actúa sobre el objeto (N, o kg m/s2 ), m es la masa del objeto (kg) y a es su aceleración (m/s2 ). Instauración Resultados numéricos o gráficos Modelo matemático Definición del problema TEORÍA DATOS Herramientas para resolver problemas: computadoras, estadística, métodos numéricos, gráficas, etcétera. Relaciones grupales: programación, optimización, comunicación, interacción pública, etcétera. FIGURA 1.1 Proceso de solución de problemas en ingeniería.
  • 37. La segunda ley puede escribirse en el formato de la ecuación (1.1), dividiendo, simplemente, ambos lados entre m para obtener a F m = (1.3) donde a es la variable dependiente que refleja el comportamiento del sistema, F es la función de fuerza y m es un parámetro que representa una propiedad del sistema. Ob- serve que en este caso específico no existe variable independiente porque aún no se predice cómo varía la aceleración con respecto al tiempo o al espacio. La ecuación (1.3) posee varias de las características típicas de los modelos matemá- ticos del mundo físico: 1. Describe un proceso o sistema natural en términos matemáticos. 2. Representa una idealización y una simplificación de la realidad. Es decir, ignora los detalles insignificantes del proceso natural y se concentra en sus manifestaciones esenciales. Por ende, la segunda ley de Newton no incluye los efectos de la relati- vidad, que tienen una importancia mínima cuando se aplican a objetos y fuerzas que interactúan sobre o alrededor de la superficie de la Tierra, a velocidades y en escalas visibles a los seres humanos. 3. Finalmente, conduce a resultados reproducibles y, en consecuencia, llega a emplear- se con la finalidad de predecir. Por ejemplo, dada la fuerza aplicada sobre un objeto de masa conocida, la ecuación (1.3) se emplea para calcular la aceleración. Debido a su forma algebraica sencilla, la solución de la ecuación (1.2) se obtiene con facilidad. Sin embargo, es posible que otros modelos matemáticos de fenómenos físicos sean mucho más complejos y no se resuelvan con exactitud, o que requieran para su solución de técnicas matemáticas más sofisticadas que la simple álgebra. Para ilustrar un modelo más complicado de este tipo, se utiliza la segunda ley de Newton para deter- minar la velocidad final de la caída libre de un cuerpo que se encuentra cerca de la su- perficie de la Tierra. Nuestro cuerpo en caída libre será el de un paracaidista (figura 1.2). Un modelo para este caso se obtiene expresando la aceleración como la razón de cambio de la velocidad con respecto al tiempo (dv/dt), y sustituyendo en la ecuación (1.3). Se tiene d dt F m v = (1.4) donde v es la velocidad (m/s) y t es el tiempo (s). Así, la masa multiplicada por la razón de cambio de la velocidad es igual a la fuerza neta que actúa sobre el cuerpo. Si la fuer- za neta es positiva, el cuerpo se acelerará. Si es negativa, el cuerpo se desacelerará. Si la fuerza neta es igual a cero, la velocidad del cuerpo permanecerá constante. Ahora expresemos la fuerza neta en términos de variables y parámetros mensurables. Para un cuerpo que cae a distancias cercanas a la Tierra (figura 1.2), la fuerza total está compuesta por dos fuerzas contrarias: la atracción hacia abajo debida a la gravedad FD y la fuerza hacia arriba debida a la resistencia del aire FU. F = FD + FU (1.5) FIGURA 1.2 Representación esquemática de las fuerzas que actúan sobre un paracaidista en descenso. FD es la fuerza hacia abajo debida a la atracción de la gravedad. FU es la fuerza hacia arriba debida a la resistencia del aire. FU FD 1.1 UN MODELO MATEMÁTICO SIMPLE 13
  • 38. 14 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA Si a la fuerza hacia abajo se le asigna un signo positivo, se usa la segunda ley de Newton para expresar la fuerza debida a la gravedad como FD = mg (1.6) donde g es la constante gravitacional, o la aceleración debida a la gravedad, que es aproximadamente igual a 9.8 m/s2 . La resistencia del aire puede expresarse de varias maneras. Una forma sencilla consiste en suponer que es linealmente proporcional a la velocidad,1 y que actúa en di- rección hacia arriba tal como FU = –cv (1.7) donde c es una constante de proporcionalidad llamada coeficiente de resistencia o arrastre (kg/s). Así, cuanto mayor sea la velocidad de caída, mayor será la fuerza hacia arriba debida a la resistencia del aire. El parámetro c toma en cuenta las propiedades del objeto que cae, tales como su forma o la aspereza de su superficie, que afectan la resis- tencia del aire. En este caso, c podría ser función del tipo de traje o de la orientación usada por el paracaidista durante la caída libre. La fuerza total es la diferencia entre las fuerzas hacia abajo y las fuerzas hacia arriba. Por lo tanto, combinando las ecuaciones (1.4) a (1.7), se obtiene d dt mg c m v v = – (1.8) o simplificando el lado derecho de la igualdad, d dt g c m v v = – (1.9) La ecuación (1.9) es un modelo que relaciona la aceleración de un cuerpo que cae con las fuerzas que actúan sobre él. Se trata de una ecuación diferencial porque está escrita en términos de la razón de cambio diferencial (dv/dt) de la variable que nos interesa predecir. Sin embargo, en contraste con la solución de la segunda ley de Newton en la ecuación (1.3), la solución exacta de la ecuación (1.9) para la velocidad del paracaidista que cae no puede obtenerse mediante simples manipulaciones algebraicas. Siendo ne- cesario emplear técnicas más avanzadas, del cálculo, para obtener una solución exacta o analítica. Por ejemplo, si inicialmente el paracaidista está en reposo (v = 0 en t = 0), se utiliza el cálculo integral para resolver la ecuación (1.9), así v( ) ( – ) –( / ) t gm c e c m t = 1 (1.10) Note que la ecuación (1.10) es un ejemplo de la forma general de la ecuación (1.1), don- de v(t) es la variable dependiente, t es la variable independiente, c y m son parámetros, y g es la función de fuerza. 1 De hecho, la relación es realmente no lineal y podría ser representada mejor por una relación con potencias como FU = –cv2 . Al final de este capítulo, investigaremos, en un ejercicio, de qué manera influyen estas no linealidades en el modelo.
  • 39. EJEMPLO 1.1 1.1 UN MODELO MATEMÁTICO SIMPLE 15 Solución analítica del problema del paracaidista que cae Planteamiento del problema. Un paracaidista con una masa de 68.1 kg salta de un globo aerostático fijo. Aplique la ecuación (1.10) para calcular la velocidad antes de que se abra el paracaídas. Considere que el coeficiente de resistencia es igual a 12.5 kg/s. Solución. Al sustituir los valores de los parámetros en la ecuación (1.10) se obtiene v( ) . ( . ) . ( – ) . ( – ) –( . / . ) – . t e e t t = = 9 8 68 1 12 5 1 53 39 1 12 5 68 1 0 18355 que sirve para calcular la velocidad del paracaidista a diferentes tiempos, tabulando se tiene t, s v, m/s 0 0.00 2 16.40 4 27.77 6 35.64 8 41.10 10 44.87 12 47.49 • 53.39 De acuerdo con el modelo, el paracaidista acelera rápidamente (figura 1.3). Se alcanza una velocidad de 44.87 m/s (100.4 mi/h) después de 10 s. Observe también que, después de un tiempo suficientemente grande, alcanza una velocidad constante llamada velocidad terminal o velocidad límite de 53.39 m/s (119.4 mi/h). Esta velocidad es constante por- que después de un tiempo la fuerza de gravedad estará en equilibrio con la resistencia del aire. Entonces, la fuerza total es cero y cesa la aceleración. A la ecuación (1.10) se le llama solución analítica o exacta ya que satisface con exactitud la ecuación diferencial original. Por desgracia, hay muchos modelos matemá- ticos que no pueden resolverse con exactitud. En muchos de estos casos, la única alter- nativa consiste en desarrollar una solución numérica que se aproxime a la solución exacta. Como ya se mencionó, los métodos numéricos son aquellos en los que se reformula el problema matemático para lograr resolverlo mediante operaciones aritméticas. Esto puede ilustrarse para el caso de la segunda ley de Newton, observando que a la razón de cambio de la velocidad con respecto al tiempo se puede aproximar mediante (figu- ra 1.4): d dt t t t t t i i i i v v v v ≅ = + + ∆ ∆ ( ) – ( ) – 1 1 (1.11) donde ∆v y ∆t son diferencias en la velocidad y en el tiempo, respectivamente, calculadas sobre intervalos finitos, v(ti) es la velocidad en el tiempo inicial ti, y v(ti+1) es la veloci-
  • 40. 16 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA dad algún tiempo más tarde ti + l. Observe que dv/dt ≅ ∆v/∆t es aproximado porque ∆t es finito. Recordando los cursos de cálculo tenemos que d dt t t v v = → lím ∆ ∆ ∆ 0 La ecuación (1.11) representa el proceso inverso. 0 0 20 40 4 8 12 t, s v, m/s Velocidad terminal FIGURA 1.3 Solución analítica al problema del paracaidista que cae según se calcula en el ejemplo 1.1. La velocidad aumenta con el tiempo y tiende asintóticamente a una velocidad terminal. FIGURA 1.4 Uso de una diferencia finita para aproximar la primera derivada de v con respecto a t. v(ti +1) v(ti ) v Pendiente verdadera dv/dt Pendiente aproximada v t v(ti +1) – v(ti ) ti +1 – ti = ti +1 ti t t
  • 41. A la ecuación (1.11) se le denomina una aproximación en diferencia finita dividida de la derivada en el tiempo ti. Sustituyendo en la ecuación (1.9), tenemos v v v ( ) – ( ) – – ( ) t t t t g c m t i i i i i + + = 1 1 Esta ecuación se reordena para obtener v v v ( ) ( ) – ( ) ( – ) t t g c m t t t i i i i i + + = + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 1 1 (1.12) Note que el término entre corchetes es el lado derecho de la propia ecuación diferen- cial [ecuación (1.9)]. Es decir, este término nos da un medio para calcular la razón de cambio o la pendiente de v. Así, la ecuación diferencial se ha transformado en una ecua- ción que puede utilizarse para determinar algebraicamente la velocidad en ti+1, usando la pendiente y los valores anteriores de v y t. Si se da un valor inicial para la velocidad en algún tiempo ti, es posible calcular con facilidad la velocidad en un tiempo posterior ti+1. Este nuevo valor de la velocidad en ti+1 sirve para calcular la velocidad en ti+2 y así sucesivamente. Es decir, a cualquier tiempo, valor nuevo = valor anterior + pendiente × tamaño del paso Observe que esta aproximación formalmente se conoce como método de Euler. EJEMPLO 1.2 Solución numérica al problema de la caída de un paracaidista Planteamiento del problema. Realice el mismo cálculo que en el ejemplo 1.1, pero usando la ecuación (1.12) para obtener la velocidad. Emplee un tamaño de paso de 2 s para el cálculo. Solución. Al empezar con los cálculos (ti = 0), la velocidad del paracaidista es igual a cero. Con esta información y los valores de los parámetros del ejemplo 1.1, se utiliza la ecuación (1.12) para calcular la velocidad en ti+l = 2 s: v = + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ = 0 9 8 12 5 68 1 0 2 19 60 . – . . ( ) . m/s Para el siguiente intervalo (de t = 2 a 4 s), se repite el cálculo y se obtiene v = + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ = 19 60 9 8 12 5 68 1 19 60 2 32 00 . . – . . ( . ) . m/s Se continúa con los cálculos de manera similar para obtener los valores siguientes: 1.1 UN MODELO MATEMÁTICO SIMPLE 17
  • 42. 18 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA t, s v, m/s 0 0.00 2 19.60 4 32.00 6 39.85 8 44.82 10 47.97 12 49.96 • 53.39 Los resultados se muestran gráficamente en la figura 1.5, junto con la solución exacta. Como se puede ver, el método numérico se aproxima bastante a la solución exac- ta. Sin embargo, debido a que se emplean segmentos de rectas para aproximar una función que es una curva continua, hay algunas diferencias entre los dos resultados. Una forma de reducir estas diferencias consiste en usar un tamaño de paso menor. Por ejem- plo, si se aplica la ecuación (1.12) con intervalos de 1 s, se obtendría un error menor, ya que los segmentos de recta estarían un poco más cerca de la verdadera solución. Con los cálculos manuales, el esfuerzo asociado al usar incrementos cada vez más pequeños haría poco prácticas tales soluciones numéricas. No obstante, con la ayuda de una compu- tadora personal es posible efectuar fácilmente un gran número de cálculos; por lo tanto, se puede modelar con más exactitud la velocidad del paracaidista que cae, sin tener que resolver la ecuación diferencial en forma analítica. Como se vio en el ejemplo anterior, obtener un resultado numérico más preciso tiene un costo en términos del número de cálculos. Cada división a la mitad del tamaño de paso para lograr mayor precisión nos lleva a duplicar el número de cálculos. Como 0 0 20 40 4 8 12 t, s v, m/s Velocidad terminal o límite Solución analítica, exacta Solución numérica aproximada FIGURA 1.5 Comparación de las soluciones numéricas y analíticas para el problema del paracaidista que cae.
  • 43. vemos, existe un costo inevitable entre la exactitud y la cantidad de operaciones. Esta relación es de gran importancia en los métodos numéricos y constituyen un tema rele- vante de este libro. En consecuencia, hemos dedicado el epílogo de la parte uno para ofrecer una introducción a dicho tipo de relaciones. 1.2 LEYES DE CONSERVACIÓN E INGENIERÍA Aparte de la segunda ley de Newton, existen otros principios importantes en ingeniería. Entre los más importantes están las leyes de conservación. Éstas son fundamentales en una gran variedad de complicados y poderosos modelos matemáticos, las leyes de la conservación en la ciencia y en la ingeniería conceptualmente son fáciles de entender. Puesto que se pueden reducir a Cambio = incremento – decremento (1.13) Éste es precisamente el formato que empleamos al usar la segunda ley de Newton para desarrollar un equilibrio de fuerzas en la caída del paracaidista [ecuación (1.8)]. Pese a su sencillez, la ecuación (1.13) representa una de las maneras fundamentales en que las leyes de conservación se emplean en ingeniería —esto es, predecir cambios con respecto al tiempo—. Nosotros le daremos a la ecuación (1.13) el nombre especial de cálculo de variable-tiempo (o transitorio). Además de la predicción de cambios, las leyes de la conservación se aplican también en casos en los que no existe cambio. Si el cambio es cero, la ecuación (1.3) será Cambio = 0 = incremento – decremento o bien, Incremento = decremento (1.14) Así, si no ocurre cambio alguno, el incremento y el decremento deberán estar en equi- librio. Este caso, al que también se le da una denominación especial —cálculo en esta- do estacionario—, tiene diversas aplicaciones en ingeniería. Por ejemplo, para el flujo Tubería 2 Flujo de entrada = 80 Tubería 3 Flujo de salida = 120 Tubería 4 Flujo de salida = ? Tubería 1 Flujo de entrada = 100 FIGURA 1.6 Equilibrio del flujo de un fluido incompresible en estado estacionario a través de tuberías. 1.2 LEYES DE CONSERVACIÓN E INGENIERÍA 19
  • 44. 20 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA de un fluido incompresible en estado estacionario a través de tuberías, el flujo de entra- da debe estar en equilibrio con el flujo de salida, esto es Flujo de entrada = flujo de salida Para la unión de tuberías de la figura 1.6, esta ecuación de equilibrio se utiliza para calcular el flujo de salida de la cuarta tubería, que debe ser de 60. Para la caída del paracaidista, las condiciones del estado estacionario deberían corres- ponder al caso en que la fuerza total fuera igual a cero o [ecuación (1.8) con dv/dt = 0] mg = cv (1.15) Así, en el estado estacionario, las fuerzas hacia abajo y hacia arriba están equilibradas, y en la ecuación (1.15) puede encontrarse la velocidad terminal. v = mg c Aunque las ecuaciones (1.13) y (1.14) pueden parecer triviales, éstas determinan las dos maneras fundamentales en que las leyes de la conservación se emplean en ingenie- ría. Como tales, en los capítulos siguientes serán parte importante de nuestros esfuerzos por mostrar la relación entre los métodos numéricos y la ingeniería. Nuestro primer medio para establecer tal relación son las aplicaciones a la ingeniería que aparecen al final de cada parte del libro. En la tabla 1.1 se resumen algunos de los modelos sencillos de ingeniería y las leyes de conservación correspondientes, que constituirán la base de muchas de las aplicaciones a la ingeniería. La mayoría de aplicaciones de ingeniería química harán énfasis en el balance de masa para el estudio de los reactores. El balance de masa es una consecuen- cia de la conservación de la masa. Éste especifica que, el cambio de masa de un com- puesto químico en un reactor, depende de la cantidad de masa que entra menos la cantidad de masa que sale. Las aplicaciones en ingeniería civil y mecánica se enfocan al desarrollo de modelos a partir de la conservación del momentum. En la ingeniería civil se utilizan fuerzas en equilibrio para el análisis de estructuras como las armaduras sencillas de la tabla. El mismo principio se aplica en ingeniería mecánica, con la finalidad de analizar el movi- miento transitorio hacia arriba o hacia abajo, o las vibraciones de un automóvil. Por último, las aplicaciones en ingeniería eléctrica emplean tanto balances de co- rriente como de energía para modelar circuitos eléctricos. El balance de corriente, que resulta de la conservación de carga, es similar al balance del flujo representado en la figura 1.6. Así como el flujo debe equilibrarse en las uniones de tuberías, la corriente eléctrica debe estar balanceada o en equilibrio en las uniones de alambres eléctricos. El balance de energía especifica que la suma algebraica de los cambios de voltaje alrededor de cualquier malla de un circuito debe ser igual a cero. Las aplicaciones en ingeniería se proponen para ilustrar cómo se emplean actualmente los métodos numéricos en la solu- ción de problemas en ingeniería. Estas aplicaciones nos permitirán examinar la solución a los problemas prácticos (tabla 1.2) que surgen en el mundo real. Establecer la relación entre las técnicas matemáticas como los métodos numéricos y la práctica de la ingeniería es un paso decisivo para mostrar su verdadero potencial. Examinar de manera cuidado- sa las aplicaciones a la ingeniería nos ayudará a establecer esta relación.
  • 45. Estructura Ingeniería civil Conservación del momentum Ingeniería química Campo Dispositivo Principio aplicado Expresión matemática Conservación de la masa Equilibrio de fuerzas: Ingeniería mecánica Conservación del momentum Máquina Equilibrio de fuerzas: Ingeniería eléctrica Conservación de la carga Balance de corriente: Conservación de la energía Balance de voltaje: Balance de la masa: Reactores Entrada Salida En un periodo masa = entradas – salidas En cada nodo fuerzas horizontales (FH) = 0 fuerzas verticales (FV) = 0 En cada nodo corriente (i) = 0 Alrededor de cada malla fems – caída de potencial en los resistores = 0 – iR = 0 –FV +FV +FH –FH +i2 –i3 +i1 + – Circuito i1R1 i3R3 i2R2 Fuerza hacia arriba Fuerza hacia abajo x = 0 m = Fuerza hacia abajo – fuerza hacia arriba d2 x dt2 TABLA 1.1 Dispositivos y tipos de balances que se usan comúnmente en las cuatro grandes áreas de la ingeniería. En cada caso se especifica la ley de conservación en que se fundamenta el balance. 1.2 LEYES DE CONSERVACIÓN E INGENIERÍA 21
  • 46. 22 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA TABLA 1.2 Algunos aspectos prácticos que se investigarán en las aplicaciones a la ingeniería al final de cada parte del libro. 1. No lineal contra lineal. Mucho de la ingeniería clásica depende de la linealización que permite soluciones analíticas. Aunque esto es con frecuencia apropiado, puede lograrse una mejor comprensión cuando se revisan los problemas no lineales. 2. Grandes sistemas contra pequeños. Sin una computadora, no siempre es posible examinar sistemas en que intervienen más de tres componentes. Con las computadoras y los métodos numéricos, se pueden examinar en forma más realista sistemas multicomponentes. 3. No ideal contra ideal. En ingeniería abundan las leyes idealizadas. A menudo, hay alternativas no idealizadas que son más realistas pero que demandan muchos cálculos. La aproximación numérica llega a facilitar la aplicación de esas relaciones no ideales. 4. Análisis de sensibilidad. Debido a que están involucrados, muchos cálculos manuales requieren una gran cantidad de tiempo y esfuerzo para su correcta realización. Esto algunas veces desalienta al analista cuando realiza los múltiples cálculos que son necesarios al examinar cómo responde un sistema en diferentes condiciones. Tal análisis de sensibilidad se facilita cuando los métodos numéricos permiten que la computadora asuma la carga de cálculo. 5. Diseño. Determinar el comportamiento de un sistema en función de sus parámetros es a menudo una proposición sencilla. Por lo común, es más difícil resolver el problema inverso; es decir, determinar los parámetros cuando se especifica el comportamiento requerido. Entonces, los métodos numéricos y las computadoras permiten realizar esta tarea de manera eficiente. PROBLEMAS 1.1 Aproximadamente, 60% del peso total del cuerpo correspon- de al agua. Si se supone que es posible separarla en seis regiones, los porcentajes serían los que siguen. Al plasma corresponde 4.5% del peso corporal y 7.5% del total del agua en el cuerpo. Los tejidos conectivos densos y los cartílagos ocupan 4.5% del peso total del cuerpo y 7.5% del total de agua. La linfa intersticial equivale a 12% del peso del cuerpo y 20% del total de agua en éste. El agua inaccesible en los huesos es aproximadamente 7.5% del total de agua corporal y 4.5% del peso del cuerpo. Si el agua intracelular equivale a 33% del peso total del cuerpo y el agua transcelular ocupa 2.5% del total de agua en el cuerpo, ¿qué porcentaje del peso total corporal debe corresponder al agua transcelular, y qué porcentaje del total de agua del cuerpo debe ser el del agua intracelular? 1.2 Un grupo de 30 estudiantes asiste a clase en un salón que mide 10 m por 8 m por 3 m. Cada estudiante ocupa alrededor de 0.075 m3 y genera cerca de 80 W de calor (1 W = 1 J/s). Calcule el incremento de la temperatura del aire durante los primeros 15 minutos de la clase, si el salón está sellado y aislado por com- pleto. Suponga que la capacidad calorífica del aire, Cu, es de 0.718 kJ/(kg K). Suponga que el aire es un gas ideal a 20° C y 101.325 kPa. Obsérvese que el calor absorbido por el aire Q está relacionado con la masa de aire m, la capacidad calorífica, y el cambio en la temperatura, por medio de la relación siguiente: Q m C dT mC T T T T = = ∫1 2 2 1 v v ( – ) La masa del aire se obtiene de la ley del gas ideal: PV m RT = Mwt donde P es la presión del gas, V es el volumen de éste, Mwt es el peso molecular del gas (para el aire, 28.97 kg/kmol), y R es la constante del gas ideal [8.314 kPa m3 /(kmol K)]. 1.3 Se dispone de la información siguiente de una cuenta ban- caria: Fecha Depósitos Retiros Balance 5/1 1512.33 220.13 327.26 6/1 216.80 378.61 7/1 450.25 106.80 8/1 127.31 350.61 9/1 Utilice la conservación del efectivo para calcular el balance al 6/1, 7/1, 8/1 y 9/1. Demuestre cada paso del cálculo. ¿Este cálcu- lo es de estado estacionario o transitorio? 1.4 La tasa de flujo volumétrico a través de un tubo está dado por la ecuación Q = vA, donde v es la velocidad promedio y A
  • 47. es el área de la sección transversal. Utilice la continuidad volu- métrica para resolver cuál es el área requerida en el tubo 3. 1.5 En la figura P1.5 se ilustran formas distintas en las que un hombre promedio gana o pierde agua durante el día. Se ingiere un litro en forma de comida, y el cuerpo produce en forma me- tabólica 0.3 L. Al respirar aire, el intercambio es de 0.05 L al inhalar, y 0.4 L al exhalar, durante el periodo de un día. El cuer- po también pierde 0.2, 1.4, 0.2 y 0.35 L a través del sudor, la orina, las heces y por la piel, respectivamente. Con objeto de mantener la condición de estado estacionario, ¿cuánta agua debe tomarse por día? 1.6 Para el paracaidista en caída libre con arrastre lineal, supon- ga un primer saltador de 70 kg con coeficiente de arrastre de 12 kg/s. Si un segundo saltador tiene un coeficiente de arrastre de 15 kg/s y una masa de 75 kg, ¿cuánto tiempo le tomará alcan- zar la misma velocidad que el primero adquiera en 10 s? 1.7 Utilice el cálculo para resolver la ecuación (1.9) para el caso en que la velocidad inicial, v(0) es diferente de cero. 1.8 Repita el ejemplo 1.2. Calcule la velocidad en t = 10 s, con un tamaño de paso de a) 1 y b) 0.5 s. ¿Puede usted establecer algún enunciado en relación con los errores de cálculo con base en los resultados? 1.9 En vez de la relación lineal de la ecuación (1.7), elija mode- lar la fuerza hacia arriba sobre el paracaidista como una relación de segundo orden, FU = –c′v2 donde c′ = un coeficiente de arrastre de segundo orden (kg/m). a) Con el empleo del cálculo, obtenga la solución de forma cerrada para el caso en que al inicio el saltador se encuentra en reposo (v = 0 en t = 0). b) Repita el cálculo numérico en el ejemplo 1.2 con los mismos valores de condición inicial y de parámetros. Utilice un valor de 0.225 kg/m para c′. 1.10 Calcule la velocidad de un paracaidista en caída libre con el empleo del método de Euler para el caso en que m = 80 kg y c = 10 kg/s. Lleve a cabo el cálculo desde t = 0 hasta t = 20 s con un tamaño de paso de 1 s. Use una condición inicial en que el paracaidista tiene una velocidad hacia arriba de 20 m/s en t = 0. Suponga que el paracaídas se abre instantáneamente en t = 10 s, de modo que el coeficiente de arrastre sube a 50 kg/s. 1.11 En el ejemplo del paracaidista en caída libre, se supuso que la aceleración debida a la gravedad era un valor constante de 9.8 m/s2 .Aunque ésta es una buena aproximación cuando se estu- dian objetos en caída cerca de la superficie de la tierra, la fuerza gravitacional disminuye conforme se acerca al nivel del mar. Una representación más general basada en la ley de Newton del inver- so del cuadrado de la atracción gravitacional, se escribe como g x g R R x ( ) ( ) ( ) = + 0 2 2 donde g(x) = aceleración gravitacional a una altitud x (en m) medida hacia arriba a partir de la superficie terrestre (m/s2 ), g(0) = aceleración gravitacional en la superficie terrestre (⬵ 9.8 m/s2 ), y R = el radio de la tierra (⬵ 6.37 ¥ 106 m). a) En forma similar en que se obtuvo la ecuación (1.9), use un balance de fuerzas para obtener una ecuación diferencial para la velocidad como función del tiempo que utilice esta representación más completa de la gravitación. Sin embargo, para esta obtención, suponga como positiva la velocidad hacia arriba. b) Para el caso en que el arrastre es despreciable, utilice la regla de la cadena para expresar la ecuación diferencial como función de la altitud en lugar del tiempo. Recuerde que la regla de la cadena es dv dt dv dx dx dt = c) Use el cálculo para obtener la forma cerrada de la solución donde v = v0 en = 0. d) Emplee el método de Euler para obtener la solución numé- rica desde x = 0 hasta 100000 m, con el uso de un paso de V3,sal = 6 m/s A3 = ? Q2,sal = 20 m3 /s Q1,ent = 40 m3 /s PROBLEMAS 23 Piel Orina CUERPO Comida Bebida Heces Sudor Aire Metabolismo Figura P1.4 Figura P1.5
  • 48. 24 MODELOS MATEMÁTICOS Y SOLUCIÓN DE PROBLEMAS EN INGENIERÍA 10000 m, donde la velocidad inicial es de 1400 m/s hacia arriba. Compare su resultado con la solución analítica. 1.12 La cantidad de un contaminante radiactivo distribuido uniformemente que se encuentra contenido en un reactor cerrado, se mide por su concentración c (becquerel/litro, o Bq/L). El con- taminante disminuye con una tasa de decaimiento proporcional a su concentración, es decir: tasa de decaimiento = –kc donde k es una constante con unidades de día–1 . Entonces, de acuerdo con la ecuación (1.13), puede escribirse un balance de masa para el reactor, así: dc dt kc – = ( )= de la masa cambio por de ecaimiento disminución ( ) a) Use el método de Euler para resolver esta ecuación desde t = 0 hasta 1 d, con k = 0.2 d–1 . Emplee un tamaño de paso de ∆t = 0.1. La concentración en t = 0 es de 10 Bq/L. b) Grafique la solución en papel semilogarítmico (p.ej., ln c ver- sus t) y determine la pendiente. Interprete sus resultados. 1.13 Un tanque de almacenamiento contiene un líquido con profundidad y, donde y = 0 cuando el tanque está lleno a la mitad. El líquido se extrae con una tasa de flujo constante Q a fin de satisfacer las demandas. Se suministra el contenido a una tasa senoidal de 3Q sen2 (t). Para este sistema, la ecuación (1.13) puede escribirse como d Ay dx Q t Q ( ) – = ( ) 3 sen el volumen cambio en 2 = = (flujo de entrada) – (flujo de salida) o bien, como el área de la superficie A es constante dy dx Q A t Q A = 3 sen2 – Emplee el método de Euler para resolver cuál sería la profundi- dad y, desde t = 0 hasta 10 d, con un tamaño de paso de 0.5 d. Los valores de los parámetros son A = 1200 m2 y Q = 500 m3 /d. Suponga que la condición inicial es y = 0. 1.14 Para el mismo tanque de almacenamiento que se describe en el problema 1.13, suponga que el flujo de salida no es cons- tante sino que la tasa depende de la profundidad. Para este caso, la ecuación diferencial para la profundidad puede escribirse como dy dx Q A t y A = + 3 1 1 5 sen2 – ( ) . α Use el método de Euler para resolver cuál sería la profundidad y, desde t = 0 hasta 10 d, con un tamaño de paso de 0.5 d. Los valores de los parámetros son A = 1200 m2 , Q = 500 m3 /d, y a = 300. Suponga que la condición inicial es y = 0. 1.15 Suponga que una gota esférica de líquido se evapora a una tasa proporcional al área de su superficie. dV dt kA = − donde V = volumen (mm3 ), t = tiempo (h), k = la tasa de evapo- ración (mm/h), y A = área superficial (mm2 ). Emplee el método de Euler para calcular el volumen de la gota desde t = 0 hasta 10 min usando un tamaño de paso de 0.25 min. Suponga que k = 0.1 mm/min, y que al inicio la gota tiene un radio de 3 mm. Evalúe la validez de sus resultados por medio de determinar el radio de su volumen final calculado y la verificación de que es consisten- te con la tasa de evaporación. 1.16 La ley de Newton del enfriamiento establece que la tempe- ratura de un cuerpo cambia con una tasa que es proporcional a la diferencia de su temperatura y la del medio que lo rodea (tem- peratura ambiente). dT dt k T Ta = − − ( ) donde T = temperatura del cuerpo (°C), t = tiempo (min), k = constante de proporcionalidad (por minuto), y Ta = temperatu- ra del ambiente (°C). Suponga que una tasa de café tiene origi- nalmente una temperatura de 68°C. Emplee el método de Euler para calcular la temperatura desde t = 0 hasta 10 min, usando un tamaño de paso de 1 min, si Ta = 21°C y k = 0.017/min. 1.17 Las células cancerosas crecen en forma exponencial con un tiempo de duplicación de 20 h cuando tienen una fuente ili- mitada de nutrientes. Sin embargo, conforme las células comien- zan a formar un tumor de forma esférica sin abasto de sangre, el y 0 Figura P1.13
  • 49. crecimiento en el centro del tumor queda limitado, y eventual- mente las células empiezan a morir. a) El crecimiento exponencial del número de células N puede expresarse como se indica, donde µ es la tasa de crecimiento de las células. Encuentre el valor de µ para las células can- cerosas. dN dt N = µ b) Construya una ecuación que describa la tasa de cambio del volumen del tumor durante el crecimiento exponencial, dado que el diámetro de una célula individual es de 20 micras. c) Una vez que un tipo particular de tumor excede las 500 micras de diámetro, las células del centro del tumor se mueren (pero continúan ocupando espacio en el tumor). Determine cuánto tiempo tomará que el tumor exceda ese tamaño crítico. 1.18 Se bombea un fluido por la red que se ilustra en la figura P1.18. Si Q2 = 0.6, Q3 = 0.4, Q7 = 0.2 y Q8 = 0.3 m3 /s, determine los otros flujos. Figura P1.18 Q1 Q10 Q9 Q8 Q3 Q5 Q7 Q6 Q4 Q2 PROBLEMAS 25
  • 50. CAPÍTULO 2 Programación y software En el capítulo anterior, desarrollamos un modelo matemático a partir de la fuerza total para predecir la velocidad de caída de un paracaidista. Este modelo tenía la forma de una ecuación diferencial, d dt g c m v v = − También vimos que se obtenía una solución de esta ecuación utilizando un método nu- mérico simple, llamado método de Euler, v v v i i i d dt t + = + 1 ∆ Dada una condición inicial, se emplea esta ecuación repetidamente para calcular la velocidad como una función del tiempo. Sin embargo, para obtener una buena precisión sería necesario desarrollar muchos pasos pequeños. Hacerlo a mano sería muy laborio- so y tomaría mucho tiempo; pero, con la ayuda de las computadoras tales cálculos pueden realizarse fácilmente. Por ende, nuestro siguiente objetivo consiste en observar cómo se hace esto. En el presente capítulo daremos una introducción al uso de la computadora como una herra- mienta para obtener soluciones de este tipo. 2.1 PAQUETES Y PROGRAMACIÓN En la actualidad existen dos tipos de usuarios de software. Por un lado están aquellos que toman lo que se les da. Es decir, quienes se limitan a las capacidades que encuentran en el modo estándar de operación del software existente. Por ejemplo, resulta muy sen- cillo resolver un sistema de ecuaciones lineales o generar una gráfica con valores x-y con Excel o con MATLAB. Como este modo de operación por lo común requiere un mínimo esfuerzo, muchos de los usuarios adoptan este modo de operación. Además, como los diseñadores de estos paquetes se anticipan a la mayoría de las necesidades tí- picas de los usuarios, muchos de los problemas pueden resolverse de esta manera. Pero, ¿qué pasa cuando se presentan problemas que están más allá de las capacida- des estándar de dichas herramientas? Por desgracia, decir “Lo siento jefe, pero no lo sé hacer” no es algo aceptado en la mayoría de los círculos de la ingeniería. En tales casos usted tiene dos alternativas. La primera sería buscar otro paquete y ver si sirve para resolver el problema. Ésta es una de las razones por las que quisimos usar tanto Excel como MATLAB en este libro. Como veremos, ninguno de los dos abarca todo y cada uno tiene sus ventajas.
  • 51. Sabiendo usar ambos, se amplía de forma notable el rango de problemas que pueden resolverse. La segunda sería que es posible volverse un “potente usuario” si se aprende a escri- bir macros en Excel VBA1 o archivos M (M-files) en MATLAB. ¿Y qué son tales cues- tiones? No son más que programas computacionales que permiten ampliar la capacidad de estas herramientas. Como los ingenieros nunca se sentirán satisfechos al verse limi- tados por las herramientas, harán todo lo que sea necesario para resolver sus problemas. Una buena manera de lograrlo consiste en aprender a escribir programas en los ambien- tes de Excel y MATLAB. Además, las habilidades necesarias para crear macros o ar- chivos M (M-files) son las mismas que se necesitan para desarrollar efectivamente programas en lenguajes como Fortran 90 o C. El objetivo principal del capítulo es enseñarle cómo se hace esto. Sin embargo, supondremos que usted ya ha tenido contacto con los rudimentos de la programación y, por tal razón, destacaremos las facetas de la programación que afectan directamente su uso en la solución de problemas en ingeniería. 2.1.1 Programas computacionales Los programas computacionales son únicamente conjuntos de instrucciones que dirigen a la computadora para realizar una cierta tarea. Hay mucha gente que escribe programas para un amplio rango de aplicaciones en los lenguajes de alto nivel, como Fortran 90 o C, porque tienen una gran variedad de capacidades. Aunque habrá algunos ingenieros que usarán toda la amplia gama de capacidades, la mayoría sólo necesitará realizar los cálculos numéricos orientados a la ingeniería. Visto desde esta perspectiva, reducimos toda esa complejidad a unos cuantos tópicos de programación, que son: • Representación de información sencilla (declaración de constantes, variables y ti- pos) • Representación de información más compleja (estructuras de datos, arreglos y re- gistros) • Fórmulas matemáticas (asignación, reglas de prioridad y funciones intrínsecas) • Entrada/Salida • Representación lógica (secuencia, selección y repetición) • Programación modular (funciones y subrutinas) Como suponemos que el lector ya ha tenido algún contacto con la programación, no dedicaremos mucho tiempo en las cuatro primeras áreas. En lugar de ello, las pre- sentamos como una lista para que el lector verifique lo que necesitará saber para desa- rrollar los programas que siguen. No obstante, sí dedicaremos algún tiempo a los dos últimos tópicos. Destacaremos la representación lógica porque es el área que más influye en la coherencia y la compren- sión de un algoritmo. Trataremos la programación modular porque también contribuye de manera importante en la organización de un programa. Además, los módulos son un medio para almacenar algoritmos utilizados frecuentemente en un formato adecuado para aplicaciones subsecuentes. 1 VBA son las siglas de Visual Basic for Applications. 2.1 PAQUETES Y PROGRAMACIÓN 27
  • 52. 28 PROGRAMACIÓN Y SOFTWARE 2.2 PROGRAMACIÓN ESTRUCTURADA En los comienzos de la computación, los programadores no daban mucha importancia a que sus programas fueran claros y fáciles de entender. Sin embargo, hoy se reconoce que escribir programas organizados y bien estructurados tiene muchas ventajas. Además de las ventajas obvias de tener un software más accesible para compartirlo, también ayuda a generar programas mucho más eficientes. Es decir, algoritmos bien estructura- dos, que son invariablemente mucho más fáciles de depurar y de probar, lo que resulta en programas que toman menos tiempo desarrollar, probar y actualizar. Los científicos de la computación han estudiado sistemáticamente los factores y los procedimientos necesarios para desarrollar software de alta calidad de este tipo. En esencia la programación estructurada es un conjunto de reglas que desarrollan en el programador los hábitos para lograr un buen estilo. Aunque la programación estructu- rada es bastante flexible para permitir considerable creatividad y expresión personal, sus reglas imponen suficientes restricciones para hacer que los programas resultantes sean muy superiores a sus versiones no estructuradas. En particular, el producto terminado es mucho más elegante y fácil de entender. La idea clave detrás de la programación estructurada es que cualquier algoritmo numérico requiere tan sólo de tres estructuras de control fundamentales: secuencia, se- lección y repetición. Limitándonos a dichas estructuras el programa resultante será claro y fácil de seguir. En los párrafos siguientes describiremos cada una de estas estructuras. Para man- tener esta descripción de una manera general usaremos diagramas de flujo y seudocó- digo. Un diagrama de flujo es una representación visual o gráfica de un algoritmo. Un diagrama de flujo emplea una serie de cajas o bloques y flechas, cada una de las cuales representa un determinado paso u operación del algoritmo (figura 2.1). Las flechas re- presentan el orden en el que se realizarán las operaciones. No todas las personas relacionadas con la computación están de acuerdo en que los diagramas de flujo sean una buena opción. Incluso, algunos programadores experimen- tados no usan los diagramas de flujo. Sin embargo, nosotros pensamos que existen tres buenas razones para estudiarlos. La primera es que sirven para expresar y comunicar algoritmos. La segunda es que aunque no se empleen de manera rutinaria, algunas veces resultarán útiles para planear, aclarar o comunicar la lógica del propio programa o del de otra persona. Por último, que es lo más importante para nuestros objetivos, son exce- lentes herramientas didácticas. Desde el punto de vista de la enseñanza, son los medios ideales para visualizar algunas de las estructuras de control fundamentales que se em- plean en la programación. Otra manera de expresar algoritmos, y que constituye un puente de unión entre los diagramas de flujo y el código de la computadora, es el seudocódigo. En esta técnica se utilizan expresiones semejantes a las del código, en lugar de los símbolos gráficos del diagrama de flujo. En esta obra, para el seudocódigo hemos adoptado algunas conven- ciones de estilo. Escribiremos con mayúsculas las palabras clave como IF, DO, INPUT, etc., mientras que las condiciones, pasos del proceso y tareas irán en minúsculas. Además, los pasos del proceso se escribirán en forma indentada. De esta manera las palabras clave forman un “sandwich” alrededor de los pasos para definir visualmente lo que abarca cada estructura de control.
  • 53. Una ventaja del seudocódigo es que con él resulta más fácil desarrollar un programa que con el diagrama de flujo. El seudocódigo es también más fácil de modificar y de compartir con los demás. No obstante, los diagramas de flujo, debido a su forma gráfi- ca, resultan a veces más adecuados para visualizar algoritmos complejos. Nosotros emplearemos diagramas de flujo con fines didácticos, y el seudocódigo será el principal medio que usaremos para comunicar algoritmos relacionados con métodos numéricos. 2.2.1 Representación lógica Secuencia. La estructura secuencial expresa la trivial idea de que, a menos que se indique otra cosa, el código debe realizarse instrucción por instrucción. Como en la fi- gura 2.2, la estructura se puede expresar de manera general como un diagrama de flujo o como un seudocódigo. Selección. En contraste con el paso por paso de la estructura secuencial, la selección nos ofrece un medio de dividir el flujo del programa en ramas considerando el resultado de una condición lógica. La figura 2.3 muestra las dos principales maneras de hacer esto. La decisión ante una sola alternativa, o estructura IF/THEN (figura 2.3a), nos per- mite una desviación en el flujo del programa si una condición lógica es verdadera. Si esta condición es falsa no ocurre nada y el programa continúa con la indicación que se encuentra después del ENDIF. La decisión ante dos alternativas, o estructura IF/THEN/ ELSE (figura 2.3b), se comporta de la misma manera si la condición es verdadera; sin embargo, si la condición es falsa, el programa realiza las instrucciones entre el ELSE y el ENDIF. SÍMBOLO NOMBRE Terminal Líneas de flujo Proceso Entrada/Salida Decisión Unión Conexión de fin de página Ciclo de cuenta controlada FUNCIÓN Representa el inicio o el final de un programa. Representan el flujo de la lógica. Los arcos en la flecha horizontal indican que ésta pasa sobre las líneas de flujo verticales y no se conecta con ellas. Representa cálculos o manipulación de datos. Representa entrada o salida de datos e información. Representa una comparación, una pregunta o una decisión que determina los caminos alternativos a seguir. Representa la confluencia de líneas de flujo. Representa una interrupción que continúa en otra página. Se usa para ciclos que repiten un número predeterminado de iteraciones. FIGURA 2.1 Símbolos usados en los diagramas de flujo. 2.2 PROGRAMACIÓN ESTRUCTURADA 29
  • 54. 30 PROGRAMACIÓN Y SOFTWARE AunquelasestructurasIF/THENeIF/THEN/ELSEsonsuficientesparaconstruircual- quier algoritmo numérico, por lo común también se usan otras dos variantes. Suponga que el ELSE de un IF/THEN/ELSE contiene otro IF/THEN. En tales casos el ELSE y el IF se pue- den combinar en la estructura IF/THEN/ELSEIF que se muestra en la figura 2.4a. Instrucción1 Instrucción2 Instrucción3 Instrucción4 Instrucción1 Instrucción2 Instrucción3 Instrucción4 a) Diagrama de flujo b) Seudocódigo a) Estructura (IF/THEN) para una sola alternativa b) Estructura (IF/THEN/ELSE) para dos alternativas Diagrama de flujo Seudocódigo IF condición THEN Bloque verdadero ENDIF Verdadero Condición ? Bloque verdadero IF condición THEN Bloque verdadero ELSE Bloque falso ENDIF Verdadero Falso Condición ? Bloque verdadero Bloque falso FIGURA 2.2 a) Diagrama de flujo y b) seudocódigo para la estructura secuencial. FIGURA 2.3 Diagrama de flujo y seudo- código para estructuras de selección simple. a) Selección con una alter- nativa (IF/THEN) y b) se- lección con dos alternativas (IF/THEN/ELSE).
  • 55. a) Estructura con múltiples alternativas (IF/THEN/ELSEIF) b) Estructura CASE (SELECCIONA o DESVÍA) Diagrama de flujo Seudocódigo SELECT CASE Expresión de prueba CASE Valor1 Bloque1 CASE Valor2 Bloque2 CASE Valor3 Bloque3 CASE ELSE Bloque4 END SELECT Valor1 Valor2 Valor3 Otro Expresión de prueba Bloque1 Bloque2 Bloque3 Bloque4 IF condición1 THEN Bloque1 ELSEIF condición2 Bloque2 ELSEIF condición3 Bloque3 ELSE Bloque4 ENDIF Verdadero Falso Verdadero Verdadero Condición1 ? Falso Condición3 ? Falso Condición2 ? Bloque1 Bloque2 Bloque3 Bloque4 FIGURA 2.4 Diagrama de flujo y seudocódigo para construcciones de selección o ramificación. a) Selección de múltiples alternativas (IF/THEN/ELSEIF) y b) Construcción CASE. Observe que en la figura 2.4a hay una cadena o “cascada” de decisiones. La prime- ra es una instrucción IF y cada una de las decisiones sucesivas es un ELSEIF. Siguiendo la cadena hacia abajo, la primera condición que resulte verdadera ocasionará una des- viación a su correspondiente bloque de código, seguida por la salida de la estructura. Al final de la cadena de condiciones, si todas las condiciones resultaron falsas, se puede adicionar un bloque ELSE opcional. 2.2 PROGRAMACIÓN ESTRUCTURADA 31
  • 56. 32 PROGRAMACIÓN Y SOFTWARE La estructura CASE es una variante de este tipo de toma de decisiones (figura 2.4b). En lugar de probar condiciones individuales, las ramificaciones dependen del valor de una sola expresión de prueba. Según sea su valor, se presentarán diferentes bloques de código. Además, si la expresión no toma ninguno de los valores previstos, se puede proponer un bloque opcional (CASE ELSE). Repetición. La repetición nos proporciona una manera de llevar a cabo instrucciones repetidamente. Las estructuras resultantes, llamadas loops o ciclos, se presentan en dos formas distintas que se diferencian por la manera en que terminan. El primer tipo, y el fundamental, es el llamado loop de decisión debido a que ter- mina basándose en el resultado de una condición lógica. La figura 2.5 muestra el tipo general de loop de decisión, la construcción DOEXIT, también llamada loop de inte- rrupción (break loop). Esta estructura realiza repeticiones hasta que una condición ló- gica resulte verdadera. En esta estructura no es necesario tener dos bloques. Cuando se omite el primer bloque, a la estructura se le suele llamar loop de preprueba porque la prueba lógica se realiza antes de que ocurra algo. Si se omite el segundo bloque, se le llama loop pos- prueba. Al caso general, en el que se incluyen los dos bloques, se le llama loop de prueba intermadia (midtest). Hay que hacer notar que el loop DOEXIT fue introducido en Fortran 90 para tratar de simplificar los loops de decisión. Esta estructura de control es parte estándar del lenguaje VBA de macros en Excel; pero no forma parte estándar de C o de MATLAB, que usan la estructura llamada WHILE. Como nosotros consideramos superior a la estructura DOEXIT, la hemos adoptado en este libro como la estructura de loop de decisión. Para que nuestros algoritmos se realicen tanto en MATLAB como en Excel, mostraremos más adelante, en este capítulo (véase la sección 2.5), cómo simular el loop de interrupción usando la estructura WHILE. Falso Verdadero Condición ? DO Bloque1 IF condición EXIT Bloque2 ENDDO Diagrama de flujo Seudocódigo Bloque1 Bloque2 FIGURA 2.5 Loop DOEXIT o de interrupción.
  • 57. Al loop de interrupción que se presenta en la figura 2.5 se le llama loop lógico porque termina a causa de una condición lógica. Por otro lado, se tiene el loop contro- lado por contador o loop DOFOR (figura 2.6) que realiza un número determinado de repeticiones o iteraciones. El loop controlado por contador funciona como sigue. El índice (representado por i en la figura 2.6) es una variable a la que se le da un valor inicial. El programa prueba si el índice es menor o igual al valor final, fin. Si es así, entonces ejecuta el cuerpo del loop y vuelve al DO. Cada vez que encuentra el ENDDO el índice se incrementa auto- máticamente con el valor definido por el incremento. De manera que el índice actúa como un contador. Cuando el índice es mayor que el valor final (fin), la computadora sale automáticamente del loop y transfiere el control a la línea que sigue después del ENDDO. Observe que casi en todos los lenguajes de programación, incluyendo Excel y MATLAB, si se omite el incremento, la computadora supone que éste es igual a 1.2 Los algoritmos numéricos que se describen en las páginas siguientes se desarrolla- rán usando únicamente las estructuras presentadas en las figuras 2.2 a 2.6. El ejemplo siguiente presenta el método básico para desarrollar un algoritmo que determine las raíces de la ecuación cuadrática. EJEMPLO 2.1 Algoritmo para las raíces de la ecuación cuadrática Planteamiento del problema. Las raíces de una ecuación cuadrática ax2 + bx + c = 0 se determinan mediante la fórmula cuadrática, x x b b ac a 1 2 2 4 2 = ± – | – | (2.1) FIGURA 2.6 Construcción controlada por conteo o construcción DOFOR. i = inicio Verdadero Falso i fin ? i = i + incr. DOFOR i = inicio, fin, incremento ENDDO Diagrama de flujo Seudocódigo Bloque 2 Se puede usar incremento (decremento) negativo, en cuyo caso el loop termina cuando el índice es menor que el valor final. 2.2 PROGRAMACIÓN ESTRUCTURADA 33
  • 58. 34 PROGRAMACIÓN Y SOFTWARE Desarrolle un algoritmo que haga lo siguiente: Paso 1: Pida al usuario los coeficientes a, b y c. Paso 2: Realice las operaciones de la fórmula cuadrática previendo todas las eventualidades (como, por ejemplo, evitar la división entre cero y permitir raíces complejas). Paso 3: Dé la solución, es decir, los valores de x. Paso 4: Dé al usuario la opción de volver al paso 1 y repetir el proceso. Solución. Para desarrollar el algoritmo usaremos un método que va de lo general a lo particular (método top-down). Esto es, iremos refinando cada vez más el algoritmo en lugar de detallar todo a la primera vez. Para esto, supongamos, por lo pronto, que ya probamos que están bien los valores de los coeficientes de la fórmula cuadrática (claro que esto no es cierto, pero por lo pronto así lo consideraremos). Un algoritmo estructurado para realizar la tarea es DO INPUT a, b, c r1 = (—b + SQRT (b2 — 4ac))/(2a) r2 = (—b — SQRT (b2 — 4ac))/(2a) DISPLAY r1, r2 DISPLAY ‘¿Repetir? Conteste sí o no’ INPUT respuesta IF respuesta = ‘no’ EXIT ENDDO La construcción DOEXIT se utiliza para repetir el cálculo de la ecuación cuadráti- ca siempre que la condición sea falsa. La condición depende del valor de la variable de tipo carácter respuesta. Si respuesta es igual a ‘sí’ entonces se llevan a cabo los cálculos. Si no es así, si respuesta es igual a ‘no’, el loop termina. De esta manera, el usuario controla la terminación mediante el valor de respuesta. Ahora bien, aunque el algoritmo anterior funcionará bien en ciertos casos, todavía no está completo. El algoritmo quizá no funcione para algunos valores de las variables. Esto es: • Si a = 0 se presentará inmediatamente un problema debido a la división entre cero. Si inspeccionamos cuidadosamente la ecuación (2.1) veremos que aquí se pueden presentar dos casos: Si b ≠ 0, la ecuación se reduce a una ecuación lineal con una raíz real, –c/b Si b = 0, entonces no hay solución. Es decir, el problema es trivial. • Si a ≠ 0, entonces, según sea el valor del discriminante, d = b2 – 4ac, se pueden presentar también dos casos, Si d ≥ 0, habrá dos raíces reales.* Si d 0, habrá dos raíces complejas. Observe cómo hemos dejado una sangría adicional para hacer resaltar la estructura de decisión que subyace a las matemáticas. Esta estructura se traduce, después, en un con- junto de estructuras IF/THEN/ELSE acopladas que se pueden insertar en la parte con los comandos sombreados en el código anterior, obteniéndose finalmente el algoritmo: * En realidad si d = 0 las dos raíces reales tienen el mismo valor x = –b/2a.
  • 59. DO INPUT a, b, c r1 = 0: r2 = 0: i1 = 0: i2 = 0 IF a = 0 THEN IF b ≠ 0 THEN r1 = –c/b ELSE DISPLAY “Solución trivial” ENDIF ELSE discr = b2 – 4 * a * c IF discr ≥ 0 THEN r1 = (–b + Sqrt(discr))/(2 * a) r2 = (–b – Sqrt(discr))/(2 * a) ELSE r1 = –b/(2 * a) r2 = r1 i1 = Sqrt(Abs(discr))/(2 * a) i2 = –i1 ENDIF ENDIF DISPLAY r1, r2, i1, i2 DISPLAY ‘¿Repetir? Conteste sí o no’ INPUT respuesta IF respuesta = ‘no’ EXIT ENDDO El método que se utilizó en el problema anterior puede emplearse para desarrollar un algoritmo para el problema del paracaidista. Recordemos que, dadas la condición inicial para tiempo y velocidad, el problema consistía en resolver de manera iterativa la fórmula v v v i i i d dt t + = + 1 ∆ (2.2) Como sabemos, para lograr una buena precisión será necesario emplear incrementos pequeños. Por lo que será necesario emplear la fórmula repetidas veces, desde el tiempo inicial hasta el tiempo final. En consecuencia, un algoritmo para resolver este problema estará basado en el uso de un loop. Supongamos, por ejemplo, que empezamos los cálculos en t = 0 y queremos prede- cir la velocidad en t = 4 s con incrementos de tiempo ∆t = 0.5 s. Entonces tendremos que aplicar la ecuación (2.2) ocho veces, esto es, n = = 4 0 5 8 . donde n es el número de iteraciones del loop. Como este número es exacto, es decir, esta división nos da un número entero, podemos usar como base del algoritmo un loop con- trolado por contador. A continuación damos un ejemplo de seudocódigo. 2.2 PROGRAMACIÓN ESTRUCTURADA 35
  • 60. 36 PROGRAMACIÓN Y SOFTWARE g = 9.8 INPUT cd, m INPUT ti, vi, tf, dt t = ti v = vi n = (tf — ti) / dt DOFOR i = 1 TO n dvdt = g — (cd / m) * v v = v + dvdt * dt t = t + dt ENDDO DISPLAY v 3 Este problema se combina con el hecho de que las computadoras usan internamente, para la representación de números, la base 2. En consecuencia, algunos números que aparentemente son divisibles no dan exactamente un entero cuando la división se hace en una computadora. De esto hablaremos en el capítulo 3. Aunque este esquema es fácil de programar, no está completo. Sólo funcionará si el intervalo es divisible exactamente entre el incremento.3 Para tomar en cuenta el otro caso, en el código anterior, en lugar del área sombreada se puede usar un loop de decisión. El resultado es: g = 9.8 INPUT cd, m INPUT ti, vi, tf, dt t = ti v = vi h = dt DO IF t + dt tf THEN h = tf — t ENDIF dvdt = g — (cd / m) * v v = v + dvdt * h t = t + h IF t ≥ tf EXIT ENDDO DISPLAY v Al introducir el loop, usamos la estructura IF/THEN para probar si el valor t + dt nos lleva más allá del final del intervalo. Si no es así, lo cual comúnmente será el caso al principio, no hacemos nada. De lo contrario, necesitaremos reducir el intervalo ha- ciendo el tamaño de incremento h igual a tf – t. Así, garantizamos que el paso siguiente caiga precisamente en tf. Después de hacer este paso final, el loop terminará, debido a que t ≥ tf será verdadero. Observe que antes de entrar en el loop hemos asignado el valor del incremento, dt, a otra variable, h. Creamos esta variable con el objeto de que nuestra rutina no cambie el valor de dt cuando tengamos que reducir el incremento. Hacemos esto anticipándonos a que tengamos que usar el valor original de dt en algún otro lado, en el caso de que este programa sea parte de otro programa mayor.
  • 61. Hay que destacar que este algoritmo aún no está terminado. Puede ser, por ejemplo, que el usuario dé por error un incremento que sea mayor que el intervalo, como por ejemplo, tf – ti = 5 y dt = 20. Entonces, habrá que poner, en el programa, trampas para detectar tales errores y que el usuario pueda corregirlos. 2.3 PROGRAMACIÓN MODULAR Imaginemos qué difícil sería estudiar un libro que no tuviera capítulos, ni secciones, ni párrafos. Dividir una tarea o una materia complicada en partes más accesibles es una manera de hacerla más fácil. Siguiendo esta misma idea, los programas de computación se dividen en subprogramas más pequeños, o módulos que pueden desarrollarse y pro- barse por separado. A esta forma de trabajar se le llama programación modular. La principal cualidad de los módulos es que son tan independientes y autosuficien- tes como sea posible. Además, en general, están diseñados para llevar a cabo una función específica y bien definida, y tienen un punto de entrada y un punto de salida. Los mó- dulos a menudo son cortos (50 a 100 instrucciones) y están bien enfocados. En los lenguajes estándar de alto nivel como Fortran 90 y C, el principal elemento de programación usado para representar módulos es el procedimiento. Un procedimien- to es un conjunto de instrucciones para computadora que juntas realizan una tarea dada. Se emplean comúnmente dos tipos de procedimientos: funciones y subrutinas. Las primeras normalmente dan un solo resultado, mientras que las últimas dan varios. Además, hay que mencionar que gran parte de la programación relacionada con paque- tes de software como Excel y MATLAB implica el desarrollo de subprogramas. Así, los macros de Excel y las funciones de MATLAB están diseñadas para recibir información, llevar a cabo un cálculo y dar un resultado. De manera que el pensamiento modular también es consistente con la manera en que se programa en ambientes de paquetes. La programación modular tiene diversas ventajas. El uso de unidades pequeñas e independientes hace que la lógica subyacente sea más fácil de seguir y de entender, tanto para el que desarrolla el módulo como para el usuario. Se facilita el desarrollo debido a que se puede perfeccionar cada módulo por separado. En proyectos grandes, varios programadores pueden trabajar por separado las diferentes partes individuales. En el diseño modular también la depuración y la prueba de un programa se simplifican debido a que los errores se pueden encontrar con facilidad. Por último, es más sencillo el mantenimiento y la modificación del programa. Esto se debe principalmente a que se pueden desarrollar nuevos módulos que desarrollen tareas adicionales e incorporarlos en el esquema coherente y organizado que ya se tiene. Aunque todas esas ventajas son razones suficientes para usar módulos, la razón más importante, relacionada con la solución de problemas numéricos en ingeniería, es que permiten tener una biblioteca de módulos útiles para posteriores usos en otros programas. Ésta será la filosofía de la presente obra: todos los algoritmos serán presentados como módulos. El procedimiento anterior se ilustra en la figura 2.7 que muestra una función desa- rrollada para usar el método de Euler. Observe que esa función y las versiones previas difieren en cómo manipulan la entrada y la salida (input/output). En las versiones ante- riores directamente la entrada viene (mediante el INPUT) del usuario, y la salida va (mediante el DISPLAY) al usuario. En la función, se le da la entrada a ésta mediante su lista de argumentos FUNCTION 2.3 PROGRAMACIÓN MODULAR 37
  • 62. 38 PROGRAMACIÓN Y SOFTWARE Function Euler(dt, ti, tf, yi) FIGURA 2.7 Seudocódigo para una función que resuelve una ecuación diferencial usando el método de Euler. FUNCTION Euler(dt, ti, tf, yi) t = ti y = yi h = dt DO IF t + dt tf THEN h = tf — t ENDIF dydt = dy(t, y) y = y + dydt * h t = t + h IF t ≥ tf EXIT ENDDO Euler = y END y la salida es regresada mediante una asignación y = Euler(dt, ti, tf, yi) Observe, además, lo general que se ha vuelto esta rutina. No se hace para nada re- ferencia al caso específico del paracaidista. Por ejemplo, dentro de la función, en lugar de llamar a la variable dependiente v, de velocidad, se le nombra y, de manera más ge- neral. Asimismo, note que la derivada no se calcula mediante una ecuación explícita dentro de la función. En lugar de ello se llama a otra función dy para calcularla, lo cual indica el hecho de que podemos usar esta función en muchos problemas distintos, además de encontrar la velocidad del paracaidista. 2.4 EXCEL Excel es una hoja de cálculo producida por Microsoft Inc. Las hojas de cálculo son un tipo especial de software para matemáticas que permite al usuario ingresar y realizar cálculos en renglones y columnas de datos. Como tales, son una versión computarizada de una gran hoja de contabilidad en la que se lleva a cabo una gran cantidad de cálculos interrelacionados. Puesto que cuando se modifica un valor de la hoja, hay que actualizar todos los cálculos, las hojas de cálculo son ideales para hacer análisis del tipo “¿y qué pasa si...?” Excel cuenta con varios recursos numéricos interconstruidos como resolución de ecuaciones, ajuste de curvas y optimización. Incluye también VBA como un lenguaje de macro que sirve para hacer cálculos numéricos. Por último, tiene varias herramientas para la visualización como diagramas y gráficas tridimensionales, que son un valioso complemento para el análisis numérico. En esta sección mostraremos cómo se utilizan estos recursos en la solución del problema del paracaidista.
  • 63. Para ello, construimos primero una hoja de cálculo sencilla. Como se ve abajo, el primer paso consiste en colocar números y letras o palabras en las celdas de la hoja de cálculo. Antes de escribir un programa de macro para calcular el valor numérico, podemos facilitar el trabajo consecuente dando nombres a los valores de los parámetros. Para esto, seleccione las celdas A3:B5 (la manera más fácil de hacerlo es mover el ratón hasta A3, mantener oprimido el botón izquierdo del ratón y arrastrarlo hasta B5). Después selec- cione, del menú, Insert Name Create Left column OK Para verificar que todo haya funcionado correctamente, seleccione la celda B3 y verifi- que que aparezca la etiqueta “m” en la casilla del nombre (casilla que se encuentra en el lado izquierdo de la hoja, justo debajo de las barras del menú). Muévase hasta la celda C8 e introduzca la solución analítica (ecuación 1.9), =9.8*m/cd*(1-exp(-cd/m*A8)) Al introducir esta fórmula debe aparecer el valor 0 en la celda C8. Después copie la fórmula a la celda C9 para obtener 16.405 m/s. Todo lo anterior es típico del uso estándar de Excel. Hecho esto, podría, por ejemplo, cambiar los valores de los parámetros y observar cómo se modifica la so- lución analítica. Ahora mostraremos cómo se usan las macros de VBA para extender los recursos estándar. En la figura 2.8 se da una lista que contiene, para cada una de las estructuras de control dadas en la sección anterior (figuras 2.2 a 2.6), el seudocódigo junto con el código VBA de Excel. Observe que, aunque los detalles difieren, la estructura del seu- docódigo y la del código VBA son idénticas. Ahora podemos usar algunas de las construcciones dadas en la figura 2.8 para es- cribir una función de macro que calcule la velocidad. Para abrir VBA seleccione4 Tools Macro Visual Basic Editor 4 ¡La combinación de las teclas Alt-F11 es más rápida! A B C D 1 Problema del paracaidista 2 3 m 68.1 kg 4 cd 12.5 kg/s 5 dt 0.1 s 6 7 t vnum (m/s) vanal (m/s) 8 0 0.000 9 2 2.4 EXCEL 39
  • 64. 40 PROGRAMACIÓN Y SOFTWARE a) Seudocódigo b) Excel VBA IF/THEN: IF condición THEN If b 0 Then Bloque verdadero r1 = —c / b ENDIF End If IF/THEN/ELSE: IF condición THEN If a 0 Then Bloque verdadero b = Sqr(Abs(a)) ELSE Else Bloque falso b = Sqr(a) ENDIF End If IF/THEN/ELSEIF: IF condición1 THEN If class = 1 Then Bloque1 x = x + 8 ELSEIF condición2 ElseIf class 1 Then Bloque2 x = x – 8 ELSEIF condición3 ElseIf class 10 Then Bloque3 x = x — 32 ELSE Else Bloque4 x = x — 64 ENDIF End If CASE: SELECT CASE Expresión de prueba Select Case a + b CASE Valor1 Case Is —50 Bloque1 x = —5 CASE Valor2 Case Is 0 Bloque2 x = —5 — (a + b) / 10 CASE Valor3 Case Is 50 Bloque3 x = (a + b) / 10 CASE ELSE Case Else Bloque4 x = 5 END SELECT End Select DOEXIT: DO Do Bloque1 i = i + 1 IF condición EXIT If i = 10 Then Exit Do Bloque2 j = i*x ENDIF Loop LOOP CONTROLADO POR CONTADOR: DOFOR i = inicio, fin, incremento For i = 1 To 10 Step 2 Bloque x = x + i ENDDO Next i FIGURA 2.8 Estructuras de control funda- mentales en a) seudo- código y b) VBA de Excel.
  • 65. Una vez dentro del Visual Basic Editor (VBE), seleccione Insert Module y se abrirá una nueva ventana para código. La siguiente función en VBA se puede obte- ner directamente del seudocódigo de la figura 2.7. Escriba la función dentro de la nueva ventana. Option Explicit Function Euler(dt, ti, tf, yi, m, cd) Dim h As Single, t As Single, y As Single, dydt As Single t = ti y = yi h = dt Do If t + dt tf Then h = tf – t End If dydt = dy(t, y, m, cd) y = y + dydt * h t = t + h If t = tf Then Exit Do Loop Euler = y End Function Compare esta macro con el seudocódigo de la figura 2.7 y vea que son muy simila- res. Observe también cómo la lista de argumentos de la función se hizo más larga al incluir los parámetros necesarios para el modelo de la velocidad del paracaidista. La velocidad obtenida, v, pasa a la hoja de cálculo mediante el nombre de la función. Note también cómo, para calcular la derivada, hemos usado otra función. Ésta se puede introducir en el mismo módulo tecleándola directamente debajo de la función Euler, Function dy(t, v, m, cd) Const g As Single = 9.8 dy = g – (cd / m) * v End Function El paso final consiste en volver a la hoja de cálculo y llamar a la función introdu- ciendo la siguiente expresión en la celda B9. =Euler(dt,A8,A9,B8,m,cd) El resultado de la integración numérica, 16.531, aparecerá en la celda B9. Vamos a ver qué ha pasado aquí. Cuando usted da la función en la celda de la hoja de cálculo, los parámetros pasan al programa VBA, donde se realizan los cálculos y, después, el resultado regresa a la celda. En efecto, el lenguaje de macros VBA le permi- te usar Excel como mecanismo de entradas y salidas (input/output). Esta característica resulta de mucha utilidad. 2.4 EXCEL 41
  • 66. 42 PROGRAMACIÓN Y SOFTWARE Por ejemplo, ahora que ya tiene todos los cálculos, puede jugar con ellos. Suponga que el paracaidista fuera mucho más pesado, digamos, m = 100 kg (alrededor de 200 libras). Introduzca 100 en la celda B3 y la hoja de cálculo se modificará de inmediato mostrando el valor 17.438 en la celda B9. Cambie la masa nuevamente a 68.1 kg y el resultado anterior, 16.531 reaparecerá de forma automática en la celda B9. Ahora vayamos un poco más adelante dando algunos valores más para el tiempo. Introduzca los números 4, 6, …, 16 en las celdas A10 a A16. Después copie las fórmulas de las celdas B9:C9 hacia abajo en los renglones 10 a 16. Observe cómo el programa VBA calcula correctamente los resultados numéricos en cada uno de los nuevos renglo- nes. (Para verificar esto cambie el valor de dt por 2 y compare los resultados con los cálculos a mano obtenidos anteriormente, en el ejemplo 1.2.) Para mejorar la presentación se pueden graficar los resultados en un plano x-y usando Excel Chart Wizard. Arriba se muestra la hoja de cálculo resultante. Hemos creado una valiosa herra- mienta para la solución de problemas. Puede realizar un análisis de sensibilidad cam- biando los valores de cada uno de los parámetros. Cada vez que se introduce un nuevo valor, se modificarán automáticamente los cálculos y la gráfica. Tal característica de interactividad es lo que hace tan potente a Excel. No obstante, se debe reconocer que resolver este problema dependerá de la habilidad para escribir el macro en VBA. La combinación del ambiente de Excel con el lenguaje de programación VBA nos abre un mundo de posibilidades para la solución de problemas en ingeniería. En los capítulos siguientes ilustraremos cómo se logra esto. 2.5 MATLAB MATLAB es el principal producto de software de Mathworks, Inc., fundada por los analistas numéricos Cleve Moler y John N. Little. Como su nombre lo indica, MATLAB se desarrolló originalmente como un laboratorio para matrices. Hoy, el elemento principal 1 Problema del paracaidista 2 3 m 68.1 kg 4 cd 12.5 kg/s 5 dt 0.1 s 6 7 t vmun (m/s) vanal (m/s) 8 0 0.000 0.000 9 2 16.531 16.405 10 4 27.943 27.769 11 6 35.822 35.642 12 8 41.262 41.095 13 10 45.017 41.873 14 12 47.610 47.490 15 14 49.400 49.303 16 16 50.635 50.559 17 18 A B C D E F G H 60 50 40 30 20 10 0 0 10 20 vnum (m/s) vanal (m/s)
  • 67. de MATLAB sigue siendo la matriz. La manipulación matemática de matrices se ha realizado muy adecuadamente en un ambiente interactivo fácil de utilizar. A esta mani- pulación matricial, MATLAB agrega varias funciones numéricas, cálculos simbólicos y herramientas para visualización. En consecuencia, la versión actual representa un ambiente computacional bastante amplio. MATLAB tiene diferentes funciones y operadores que permiten la adecuada reali- zación de los métodos numéricos que aquí desarrollamos. Éstos se describirán con de- talle en los capítulos siguientes. Además, se pueden escribir programas como los llamados archivos M (m-files) que sirven para realizar cálculos numéricos. Vamos a explorar cómo funciona. Primero, usted se dará cuenta de que el uso normal de MATLAB está estrechamen- te relacionado con la programación. Supongamos, por ejemplo, que queremos determi- nar la solución analítica al problema del paracaidista, lo cual haríamos con los siguientes comandos de MATLAB g=9.8; m=68.1; cd=12.5; tf=2; v=g*m/cd*(1-exp(-cd/m*tf)) obteniéndose como resultado v = 16.4050 La secuencia de comandos es como la secuencia de instrucciones en un lenguaje de programación típico. Pero, ¿qué ocurre si usted se quiere desviar de la estructura secuencial? Aunque hay algunos caminos bien definidos para establecer recursos no secuenciales en el modo estándar de comandos, para introducir decisiones y loops, lo mejor es crear un docu- mento de MATLAB al que se le llama archivo-m (m-file). Para hacer esto haga clic en File New Mfile y se abrirá una ventana nueva con el encabezado “MATLAB Editor/Debugger”. En esta ventana usted puede escribir y editar programas en MATLAB. Escriba ahí el código siguiente: g=9.8; m=68.1; cd=12.5; tf=2; v=g*m/cd*(1-exp(-cd/m*tf)) Obsérvese que los comandos se escriben exactamente en la misma forma en que se haría en el extremo frontal de MATLAB. Guarde el programa con el mismo nombre: analpara. MATLAB agregará en forma automática la extensión .m para denotar que se trata de un archivo M: analpara.m. Para correr el programa, se debe regresar al modo de comando. La forma más di- recta de efectuar esto consiste en hacer clic en el botón “MATLAB Command Window” 2.5 MATLAB 43
  • 68. 44 PROGRAMACIÓN Y SOFTWARE que se encuentra en la barra de tareas (que por lo general está en la parte inferior de la pantalla). Ahora, el programa se puede correr al hacer clic en el archivo M, analpara, que debe parecerse a lo siguiente: analpara Si usted ha hecho todo en forma correcta, MATLAB debe responder con la respuesta correcta: v = 16.4050 Ahora, un problema con lo anterior es que está preparado para calcular sólo un caso. El lector lo puede hacer más flexible si hace que el usuario introduzca algunas de las variables. Por ejemplo, suponga que desea evaluar el efecto de la masa sobre la velocidad a los 2 s. Para hacer esto, el archivo M podría reescribirse como sigue: g=9.8; m=input(‘masa (kg):’); cd=12.5; tf=2; v=g*m/cd*(1-exp(-cd/m*tf)) Guarde esto con el nombre de analpara2.m. Si escribió analpara2 mientras se encontra- ba en el modo de comando, la línea mostrará lo que sigue: masa (kg): Entonces, el usuario introduce un valor como 100, y el resultado aparecerá como: v = 17.3420 Ahora, debe quedar bastante claro cómo se puede programar una solución numéri- ca por medio de un archivo M. A fin de hacerlo, primero debemos entender la manera en que MATLAB maneja las estructuras lógica y de lazo (ciclos o loops). En la figura 2.9 se enlista el seudocódigo junto con el código de MATLAB para todas las estructuras de control, con base en la sección anterior. Aunque las estructuras del seudocódigo y el código MATLAB son muy similares, existen algunas diferencias pequeñas que deben destacarse. En especial, observe cómo hemos expresado la estructura DOEXIT. En lugar del DO usamos el WHILE(1). Como MATLAB interpreta al número 1 como correspon- diente a “verdadero”, esta instrucción se repetirá indefinidamente de la misma manera que el DO. El loop termina con un comando de interrupción (break), el cual transfiere el control a la instrucción que se encuentra a continuación, de la instrucción end que termina el ciclo. También hay que observar que los parámetros del lazo controlado por contador están ordenados de modo diferente. Para el seudocódigo, los parámetros del lazo están
  • 69. a) Seudocódigo b) MATLAB IF/THEN: IF condición THEN if b ~= 0 Bloque verdadero r1 = —c / b; ENDIF end IF/THEN/ELSE: IF condición THEN if a 0 Bloque verdadero b = sqrt(abs(a)); ELSE else Bloque falso b = sqrt(a); ENDIF end IF/THEN/ELSEIF: IF condición1 THEN if class == 1 Bloque1 x = x + 8; ELSEIF condición2 elseif class 1 Bloque2 x = x – 8; ELSEIF condición3 elseif class 10 Bloque3 x = x — 32; ELSE else Bloque4 x = x — 64; ENDIF end CASE: SELECT CASE Expresión de prueba switch a + b CASE Valor1 case 1 Bloque1 x = —5; CASE Valor2 case 2 Bloque2 x = —5 — (a + b) / 10; CASE Valor3 case 3 Bloque3 x = (a + b) / 10; CASE ELSE otherwise Bloque4 x = 5; END SELECT end DOEXIT: DO while (1) Bloque1 i = i + 1; IF condición EXIT if i = 10, break, end Bloque2 j = i*x; ENDIF end LOOP CONTROLADO POR CONTADOR: DOFOR i = inicio, fin, incremento for i = 1:10:2 Bloque x = x + i; ENDO end FIGURA 2.9 Estructuras de control fundamentales en a) seudo- código y b) lenguaje de programación en MATLAB. 2.5 MATLAB 45
  • 70. 46 PROGRAMACIÓN Y SOFTWARE especificados como start, finish, step. Para MATLAB, los parámetros están ordenados como start:step:finish. Ahora el siguiente archivo-m de MATLAB se puede desarrollar directamente, a partir del seudocódigo dado en la figura 2.7. Escriba lo siguiente en el Editor/Debugger de MATLAB: g=9.8; m=input(‘mass (kg):’); cd=12.5; ti=0; tf=2; vi=0; dt=0.1; t = ti; v = vi; h = dt; while (1) if t + dt tf h = tf – t; end dvdt = g – (cd / m) * v; v = v + dvdt * h; t = t + h; if t = tf, break, end end disp(‘velocity (m/s):’) disp(v) Guarde este archivo como numpara.m, vuelva al modo de comandos y córralo dando numpara. Obtendrá la siguiente salida: masa (kg): 100 velocity (m/s): 17.4381 Por último vamos a convertir este archivo-m en una función. Esto se puede hacer en el siguiente archivo-m basado en el seudocódigo de la figura 2.7: function euler = f(dt,ti,tf,yi,m,cd) t = ti; y = yi; h = dt; while (1) if t + dt tf h = tf – t; end dydt = dy(t, y, m, cd); y = y + dydt * h; t = t + h; if t = tf, break, end end yy = y;
  • 71. Guarde este archivo como euler.m y después cree otro archivo-m para calcular la deri- vada, function dydt = dy(t, v, m, cd) g = 9.8; dydt = g – (cd / m) * v; Guarde este archivo como dy.m y regrese al modo de comandos. Para llamar la función y ver el resultado, teclee los siguientes comandos m=68.1; cd=12.5; ti=0; tf=2.; vi=0; dt=0.1; euler(dt,ti,tf,vi,m,cd) Una vez dado el último comando, se desplegará el resultado ans = 16.5309 La combinación del ambiente de MATLAB con el lenguaje de programación para los archivos-m nos abre un mundo de posibilidades para la solución de problemas en ingeniería. En el siguiente capítulo veremos cómo se hace esto. 2.6 OTROS LENGUAJES Y BIBLIOTECAS En la sección anterior mostramos cómo se escribe una función en Excel o MATLAB, para el método de Euler, a partir de un algoritmo expresado en seudocódigo. Funciones semejantes se escriben en los lenguajes de alto nivel como Fortran 90 y C++. Por ejem- plo, una función en Fortran 90 para el método de Euler es Function Euler(dt, ti, tf, yi, m, cd) REAL dt, ti, tf, yi, m, cd Real h, t, y, dydt t = ti y = yi h = dt Do If (t + dt tf) Then h = tf – t End If dydt = dy(t, y, m, cd) y = y + dydt * h t = t + h If (t = tf) Exit End Do 2.6 OTROS LENGUAJES Y BIBLIOTECAS 47
  • 72. 48 PROGRAMACIÓN Y SOFTWARE Euler = y End Function En C el resultado sería bastante similar a la función escrita en MATLAB. El punto es que una vez que se ha desarrollado bien un algoritmo estructurado en seudocódigo, es fácil implementarlo en diversos ambientes de programación. En este libro daremos al lector procedimientos bien estructurados escritos en seu- docódigo. Esta colección de algoritmos constituirá una biblioteca numérica, que se puede usar para realizar tareas numéricas específicas con diversas herramientas de soft- ware y lenguajes de programación. Además de tener sus propios programas, usted debe recordar que las bibliotecas comerciales de programación tienen muchos procedimientos numéricos útiles. Por ejemplo, la biblioteca Numerical Recipe contiene una gran variedad de algoritmos es- critos en Fortran y C.5 Estos procedimientos se describen tanto en libros (por ejemplo, Press et al., 1992) como en forma electrónica. En Fortran, la IMSL (International Mathematical and Statistical Library) ofrece más de 700 procedimientos que comprenden todas las áreas numéricas cubiertas en este libro. Dada la amplia divulgación de Fortran en la ingeniería, incluimos algunas aplicaciones de IMSL. 5 Los procedimientos Numerical Recipe también están disponibles en libro y en formato electrónico para Pascal, MS BASIC y MATLAB. En http://www.nr.com se puede encontrar la información sobre todos los productos Numerical Recipe. 2.1 Escriba el seudocódigo para implementar el diagrama de flujo que se ilustra en la figura P2.1. Asegúrese de incluir la in- dentación apropiada para que la estructura sea clara. 2.2 Vuelva a escribir el seudocódigo siguiente, con el uso de la indentación apropiada. DO i = i + 1 IF z 50 EXIT x = x + 5 IF x 5 THEN y = x ELSE y = 0 ENDIF z = x + y ENDDO PROBLEMAS Figura P2.1 F F F T T T x = 7.5 x = 5 x = x – 5 x 50 x 5 x ≥ 10
  • 73. 2.3 En cada una de las tarjetas de un conjunto de cartas índice, se registra un valor para la concentración de un contaminante en un lago.Al final del conjunto, se coloca una carta marcada como “fin de los datos”. Escriba un algoritmo para determinar la suma, el promedio y el máximo de dichos valores. 2.4 Escriba un diagrama de flujo estructurado para el proble- ma 2.3. 2.5 Desarrolle, depure y documente un programa para determinar las raíces de una ecuación cuadrática, ax2 + bx + c, en cualquier lenguaje de alto nivel, o de macros, de su elección. Utilice un procedimiento de subrutina para calcular las raíces (sean reales o complejas). Ejecute corridas de prueba para los casos en que a) a = 1, b = 6, c = 2; b) a = 0, b = –4, c = 1.6; c) a = 3, b = 2.5, c = 7. 2.6 La función coseno puede evaluarse por medio de la serie infinita siguiente: cos x x x x = − + − + 1 2 4 6 2 4 6 ! ! ! Escriba un algoritmo para implementar esta fórmula de modo que calcule e imprima los valores de cos x conforme se agregue cada término de la serie. En otras palabras, calcule e imprima la secuencia de valores para cos cos cos x x x x x x = = − = − + 1 1 2 1 2 4 2 2 4 ! ! ! hasta el término de orden n que usted elija. Para cada uno de los valores anteriores, calcule y haga que se muestre el error porcen- tual relativo: % % error = valor verdadero – aproximación con la serie valor verdadero ×100 2.7 Escriba el algoritmo para el problema 2.6 en forma de a) diagrama de flujo estructurado, y b) seudocódigo. 2.8 Desarrolle, depure y documente un programa para el problema 2.6 en cualquier lenguaje de alto nivel o de macros, de su elección. Emplee la función coseno de la biblioteca de su computadora para determinar el valor verdadero. Haga que el programa imprima en cada paso la serie de aproximación y el error. Como caso de prue- ba, utilice el programa para calcular valores desde cos(1.25) hasta incluir el término x10 /10! Interprete los resultados. 2.9 El algoritmo siguiente está diseñado para determinar la ca- lificación de un curso que consiste en cuestionarios, tareas y un examen final: Paso 1: Introducir la clave y nombre del curso. Paso 2: Introducir factores de ponderación para los cuestionarios (C), tareas (T) y examen final (E). Paso 3: Introducir las calificaciones de las preguntas y determi- nar su promedio (PC). Paso 4: Introducir las calificaciones de las tareas y determinar su promedio (PT). Paso 5: Si el curso tiene una calificación final, continuar con el paso 6. Si no, ir al paso 9. Paso 6: Introducir la calificación del examen final, (F). Paso 7: Determinar la calificación promedio, CP, de acuerdo con CP C PC T PT E F C T E = × + × + × + + ( ) × ( ) % 100 Paso 8: Ir al paso 10. Paso 9: Determinar la calificación promedio, CP, de acuerdo con CP C PC T PT C T = × + × + ( ) × ( ) % 100 Paso 10: Imprimir la clave y nombre del curso, y la calificación promedio. Paso 11: Finalizar el cálculo. a) Escriba un seudocódigo bien estructurado para implementar este algoritmo. b) Escriba, depure y documente un programa estructurado de computadora basado en este algoritmo. Pruébelo con los datos siguientes para calcular una calificación sin el examen final, y otra con éste. C = 35; T = 30; E = 35; cuestionario = 98, 85, 90, 65 y 99; tareas = 95, 90, 87, 100, 92 y 77; y examen final = 92. 2.10 El método antiguo de dividir y promediar, para obtener el valor aproximado de la raíz cuadrada de cualquier número posi- tivo a se puede formular como x x a x = + / 2 a) Escriba un seudocódigo bien estructurado para implementar este algoritmo como se ilustra en la figura P2.10. Utilice la indentación apropiada para que la estructura sea clara. b) Desarrolle, depure y documente un programa para imple- mentar esta ecuación en cualquier lenguaje de algo nivel, o de macros, de su elección. Estructure su código de acuerdo con la figura P2.10. 2.11 Se invierte cierta cantidad de dinero en una cuenta en la que el interés se capitaliza al final del periodo. Debe determinar- se el valor futuro, F, que se obtiene con cierta tasa de interés, i, después de n periodos, por medio de la fórmula siguiente: F = P (1 + i)n PROBLEMAS 49
  • 74. 50 PROGRAMACIÓN Y SOFTWARE Escriba un programa que calcule el valor futuro de una inversión para cada año, desde 1 hasta n. La entrada para la función debe incluir la inversión inicial, P, la tasa de interés, i (en forma de- cimal), y el número de años, n, para el que ha de calcularse el valor futuro. La salida debe consistir en una tabla con encabeza- dos y columnas para n y F. Corra el programa para P = $100000, i = 0.06, y n = 5 años. 2.12 Las fórmulas económicas están disponibles para calcular los pagos anuales de préstamos. Suponga que obtiene en présta- mo cierta cantidad de dinero P y acuerda devolverla en n pagos anuales con una tasa de interés de i. La fórmula para calcular el pago anual A es: A P i i i n n = + + − ( ) ( ) 1 1 1 Escriba un programa para calcular A. Pruébelo con P = $55000 y una tasa de interés de 6.6% (i = 0.066). Calcule los resultados para n = 1, 2, 3, 4 y 5, y muestre los resultados en forma de tabla con encabezados y columnas para n y A. 2.13 La temperatura promedio diaria para cierta área se aproxi- ma por medio de la función siguiente, T = Tmedia + (Tmáxima – Tmedia ) cos(w(t – tmáxima )) donde Tmedia = temperatura promedio anual, tmáxima = temperatura máxima, w = frecuencia de la variación anual (= 2π/365), y tmáxima = día de la temperatura máxima (≅ 205 d). Desarrolle un programa que calcule la temperatura promedio entre dos días del año para una ciudad en particular. Pruébelo para a) enero-febre- ro (t = 0 a 59) en Miami, Florida (Tmedia = 22.1ºC; Tmáxima = 28.3ºC), y b) julio-agosto (t = 180 a 242) en Boston, Massachussetts (Tmedia = 10.7ºC; Tmáxima = 22.9ºC). 2.14 Desarrolle, depure y pruebe un programa en cualquier len- guaje de alto nivel, o de macros, de su elección, a fin de calcular la velocidad del paracaídas que cae como se explicó en el ejemplo 1.2. Diseñe el programa de modo que permita al usuario introducir valores para el coeficiente de arrastre y la masa. Pruebe el progra- ma con la reproducción de los resultados del ejemplo 1.2. Repita el cálculo pero utilice tamaños de paso de 1 y 0.5 s. Compare sus resultados con la solución analítica que se obtuvo previamente, en el Ejemplo 1.1. Un tamaño de paso más pequeño, ¿hace que los resultados sean mejores o peores? Explique sus resultados. 2.15 El método de la burbuja es una técnica de ordenamiento ineficiente pero fácil de programar. La idea que subyace al orde- namiento consiste en avanzar hacia abajo a través de un arreglo, comparar los pares adyacentes e intercambiar los valores si no están en orden. Para que este método ordene por completo un arreglo, es necesario que lo recorra muchas veces. Conforme se avanza para un ordenamiento en orden ascendente, los elementos más pequeños del arreglo parecen ascender como burbujas. Eventualmente, habrá un paso por el arreglo que ya no requiera intercambios. En ese momento, el arreglo estará ordenado. Des- pués del primer paso, el valor más grande cae directamente hasta el fondo. En consecuencia, el segundo paso sólo tiene que proceder del segundo al último valor, y así sucesivamente. De- sarrolle un programa que tome un arreglo de 20 números al azar y los ordene en forma ascendente con la técnica de la burbuja (véase la figura P2.15). 2.16 En la figura P2.16 se muestra un tanque cilíndrico con base cónica. Si el nivel del líquido está muy bajo en la parte cónica, el volumen simplemente es el volumen del cono de líquido. Si el nivel del líquido está entre la parte cilíndrica, el volumen total de líquido incluye la parte cónica llena y la parte cilíndrica par- cialmente llena. Escriba un procedimiento bien estructurado de función para calcular el volumen del tanque como función de los valores dados de R y d. Utilice estructuras de control de decisio- nes (como If/Then, Elself, Else, End If). Diseñe la función de modo que produzca el volumen en todos los casos en los que la profundidad sea menor que 3R. Genere un mensaje de error (“Sobrepasado”) si se rebasa la altura del tanque, es decir, d 3R. Pruébelo con los datos siguientes: R 1 1 1 1 d 0.5 1.2 3.0 3.1 F F T T Raíz cuadrada = 0 Raíz cuadrada = x y = (x + a/x)/2 e = |(y – x)/y| x = y tol = 105 x = a/2 a 0 e tol Figura P2.10
  • 75. r x y = + 2 2 Si las coordenadas quedan dentro del primer o cuarto cuadrante (p. ej., x 0), entonces se emplea una fórmula sencilla para el cálculo de q: θ = ⎛ ⎝ ⎞ ⎠ tan–1 y x La dificultad surge en los demás casos. La tabla siguiente resume las posibilidades: x y θ 0 0 tan–1 (y/x) + p 0 0 tan–1 (y/x) – p 0 =0 p =0 0 p/2 =0 0 – p/2 =0 =0 0 a) Escriba un diagrama de flujo bien estructurado para un pro- cedimiento de subrutina a fin de calcular r y q como función de x y y. Exprese los resultados finales para q, en grados. b) Escriba una procedimiento bien estructurado de función con base en el diagrama de flujo. Pruebe el programa de modo que se llene la tabla que sigue: x y r θ 1 0 1 1 0 1 –1 1 –1 0 –1 –1 0 –1 1 –1 0 0 PROBLEMAS 51 2R R d Figura P2.16 Figura P2.15 T T T F F F m = n – 1 cambio = falso cambio = verdadero m = m – 1 i = 1 i = i + 1 i m cambiar ai ai+1 inicio fin ai ai+1 No cambiar 2.17 Se requieren dos distancias para especificar la ubicación de un punto en relación con el origen en un espacio de dos di- mensiones (Véase la figura P2.17): • Las distancias horizontal y vertical (x, y) en coordenadas cartesianas. • El radio y el ángulo (r, q) en coordenadas radiales. Es relativamente fácil calcular las coordenadas cartesianas (x, y) sobre la base de las coordenadas polares (r, q). El proceso inverso no es tan simple. El radio se calcula con la fórmula que sigue: I II III IV ␪ r x y Figura P2.17
  • 76. 52 PROGRAMACIÓN Y SOFTWARE 2.18 Desarrolle un procedimiento bien estructurado de función que lea una calificación numérica entre 0 y 100 y devuelva una letra, de acuerdo con el esquema siguiente: Letra Criterio A 90 ≤ calificación numérica ≤ 100 B 80 ≤ calificación numérica 90 C 70 ≤ calificación numérica 80 D 60 ≤ calificación numérica 70 F calificación numérica 60 2.19 Desarrolle un procedimiento bien estructurado de función para determinar a) el factorial de un número; b) el valor más pequeño de un vector, y c) el promedio de los valores de un vector. 2.20 Desarrolle programas bien estructurados para a) determinar la raíz cuadrada de la suma de los cuadrados de los elementos de un arreglo bidimensional (p. ej., una matriz), y b) normalizar una matriz por medio de dividir cada renglón entre el valor absolu- to máximo en el renglón de modo que el elemento mayor en cada renglón sea 1.
  • 77. CAPÍTULO 3 Aproximaciones y errores de redondeo A causa de que la mayor parte de los métodos expuestos en este libro son muy sencillos en su descripción y en sus aplicaciones, en este momento resulta tentador ir directamen- te al cuerpo principal del texto y averiguar el empleo de dichas técnicas. Sin embargo, entender el concepto de error es tan importante para utilizar en forma efectiva los mé- todos numéricos que los dos siguientes capítulos se eligieron para tratar el tema. La importancia de los errores se mencionó por primera vez en el análisis de la caí- da del paracaidista en el capítulo 1. Recuerde que la velocidad de caída del paracaidista se determinó por métodos analíticos y numéricos. Aunque con la técnica numérica se obtuvo una aproximación a la solución analítica exacta, hubo cierta discrepancia o error, debido a que los métodos numéricos dan sólo una aproximación. En realidad fuimos afortunados en este caso porque teníamos la solución analítica que nos permitía calcular el error en forma exacta. Pero en muchos problemas de aplicación en ingeniería no es posible obtener la solución analítica; por lo tanto, no se pueden calcular con exactitud los errores en nuestros métodos numéricos. En tales casos debemos usar aproximaciones o estimaciones de los errores. La mayor parte de las técnicas desarrolladas en este libro tienen la característica de poseer errores. En primera instancia, esto puede parecer contradictorio, ya que no coin- cide con la imagen que se tiene de una buena ingeniería. Los estudiantes y los practi- cantes de la ingeniería trabajan constantemente para limitar este tipo de errores en sus actividades. Cuando hacen un examen o realizan sus tareas, son sancionados, mas no premiados por sus errores. En la práctica profesional, los errores llegan a resultar cos- tosos y, en algunas ocasiones, catastróficos. Si una estructura o un dispositivo falla, esto puede costar vidas. Aunquelaperfecciónesunametadignadealabarse,esdifícil,sinoimposible,alcanzar- la. Por ejemplo, a pesar de que el modelo obtenido mediante la segunda ley de Newton es una aproximación excelente, en la práctica jamás predecirá con exactitud la caída del paracaidis- ta. Fenómenos tales como la velocidad del viento y alguna ligera variación de la resistencia delairedesviaríanlapredicción.Sitalesdesviacionessonsistemáticamentegrandesopeque- ñas, habría entonces que formular un nuevo modelo. No obstante, si su distribución es alea- toria y se agrupan muy cerca de la predicción, entonces las desviaciones se considerarían insignificantes y el modelo parecerá adecuado. Las aproximaciones numéricas también pre- sentan discrepancias similares en el análisis. De nuevo, las preguntas son: ¿qué tanto error se presenta en los cálculos? y ¿es tolerable? Este capítulo y el siguiente cubren aspectos básicos relacionados con la identificación, cuantificación y minimización de dichos errores. En las primeras secciones se revisa la información referente a la cuantificación de los errores. En seguida, se estudia uno de
  • 78. 54 APROXIMACIONES Y ERRORES DE REDONDEO los dos errores numéricos más comunes: errores de redondeo. Los errores de redondeo se deben a que la computadora tan sólo representa cantidades con un número finito de dígitos. En el siguiente capítulo nos ocuparemos de otra clase importante de error: el de truncamiento. Los errores de truncamiento representan la diferencia entre una formu- lación matemática exacta de un problema y su aproximación obtenida por un método numérico. Por último, se analizan los errores que no están relacionados directamente con el método numérico en sí. Éstos son equivocaciones, errores de formulación o del modelo, y la incertidumbre en la obtención de los datos, entre otros. 3.1 CIFRAS SIGNIFICATIVAS En esta obra se trata de manera extensa con aproximaciones que se relacionan con el manejo de números. En consecuencia, antes de analizar los errores asociados con los métodos numéricos, es útil repasar algunos conceptos básicos referentes a la represen- tación aproximada de los números mismos. Cuando se emplea un número para realizar un cálculo, debe haber seguridad de que pueda usarse con confianza. Por ejemplo, la figura 3.1 muestra un velocímetro y un odómetro (contador de kilometraje) de un automóvil. Con un simple vistazo al velocí- metro se observa que el vehículo viaja a una velocidad comprendida entre 48 y 49 km/h. Como la aguja está más allá de la mitad entre las marcas del indicador, es posible ase- gurar que el automóvil viaja aproximadamente a 49 km/h. Tenemos confianza en este resultado, ya que dos o más individuos que hicieran esta lectura llegarían a la misma conclusión. Sin embargo, supongamos que se desea obtener una cifra decimal en la es- timación de la velocidad. En tal caso, alguien podría decir 48.8, mientras que otra per- sona podría decir 48.9 km/h. Por lo tanto, debido a los límites del instrumento, 40 8 7 3 2 4 4 5 0 120 20 40 60 80 100 FIGURA 3.1 El velocímetro y el odómetro de un automóvil ejemplifican el concepto de cifras significativas.
  • 79. únicamente se emplean con confianza los dos primeros dígitos. Para estimaciones del tercer dígito (o más allá) sólo se considerarían aproximaciones. Sería ridículo afirmar, considerando el velocímetro de la figura, que el automóvil viaja a 48.8642138 km/h. En contraste, el odómetro muestra hasta seis dígitos confiables. De la figura 3.1 se conclu- ye que el automóvil ha recorrido un poco menos de 87324.5 km durante su uso. Aquí el séptimo dígito (y los siguientes) resultan inciertos. El concepto de cifras o dígitos significativos se ha desarrollado para designar for- malmente la confiabilidad de un valor numérico. Las cifras significativas de un número son aquellas que pueden utilizarse en forma confiable. Se trata del número de dígitos que se ofrecen con certeza, más uno estimado. Por ejemplo, el velocímetro y el odóme- tro de la figura 3.1 muestran lecturas de hasta tres y siete cifras significativas, respecti- vamente. Para el velocímetro, los dos dígitos seguros son 48. Por convención al dígito estimado se le da el valor de la mitad de la escala menor de división en el instrumento de medición. Así, la lectura del velocímetro consistirá de las tres cifras significati- vas: 48.5. En forma similar, el odómetro dará una lectura con siete cifras significativas, 87324.45. Aunque, por lo común, determinar las cifras significativas de un número es un procedimiento sencillo, en algunos casos genera cierta confusión. Por ejemplo, los ceros no siempre son cifras significativas, ya que pueden usarse sólo para ubicar el punto decimal: los números 0.00001845, 0.0001845 y 0.001845 tienen cuatro cifras significa- tivas. Asimismo, cuando se incluye ceros en números muy grandes, no queda claro cuántos son significativos. Por ejemplo, el número 45300 puede tener tres, cuatro o cinco dígitos significativos, dependiendo de si los ceros se conocen o no con exactitud. La incertidumbre se puede eliminar utilizando la notación científica, donde 4.53 × 104 , 4.530 × 104 , 4.5300 × 104 muestran, respectivamente, que el número tiene tres, cuatro y cinco cifras significativas. El concepto de cifras significativas tiene dos implicaciones importantes en el estu- dio de los métodos numéricos. 1. Como se mencionó en el problema de la caída del paracaidista, los métodos nu- méricos dan resultados aproximados. Por lo tanto, se deben desarrollar criterios para especificar qué tan confiables son dichos resultados. Una manera de hacerlo es en términos de cifras significativas. Por ejemplo, es posible afirmar que la aproximación es aceptable siempre y cuando sea correcta con cuatro cifras signi- ficativas. 2. Aunque ciertas cantidades tales como p, e, o 7 representan cantidades específicas, no se pueden expresar exactamente con un número finito de dígitos. Por ejemplo, p = 3.141592653589793238462643... hasta el infinito. Como las computadoras retienen sólo un número finito de cifras significativas, tales números jamás se podrán representar con exactitud.Ala omisión del resto de cifras significativas se le conoce como error de redondeo. Los errores de redondeo y el uso de cifras significativas para expresar nuestra con- fianza en un resultado numérico se estudiarán con mayor detalle en las siguientes sec- ciones. Además, el concepto de cifras significativas tendrá mucha importancia en la definición de exactitud y de precisión en la siguiente sección. 3.1 CIFRAS SIGNIFICATIVAS 55
  • 80. 56 APROXIMACIONES Y ERRORES DE REDONDEO 3.2 EXACTITUD Y PRECISIÓN Los errores en cálculos y medidas se pueden caracterizar con respecto a su exactitud y su precisión. La exactitud se refiere a qué tan cercano está el valor calculado o medido del valor verdadero. La precisión se refiere a qué tan cercanos se encuentran, unos de otros, diversos valores calculados o medidos. Estos conceptos se ilustran gráficamente utilizando la analogía con una diana en la práctica de tiro. Los agujeros en cada blanco de la figura 3.2 se consideran como las predicciones con una técnica numérica; mientras que el centro del blanco representa la verdad. La inexactitud (conocida también como sesgo) se define como una desviación sistemática del valor verdadero. Por lo tanto, aunque los disparos en la figura 3.2c están más juntos que los de la figura 3.2a, los dos casos son igualmente inexactos, ya que ambos se centran en la esquina superior izquierda del blanco. La imprecisión (también llamada incertidumbre), por otro lado, se refiere a la magnitud en la dispersión de los disparos. Por consiguiente, aunque las figuras 3.2b y 3.2d son igualmente exactas (esto es, igualmente centradas respecto al blanco), la última es más precisa, pues los disparos están agrupados en forma más compacta. c) a) d) b) Aumenta la exactitud Aumenta la precisión FIGURA 3.2 Un ejemplo de puntería ilustra los conceptos de exactitud y precisión. a) Inexacto e impreci- so; b) exacto e impreciso; c) inexacto y preciso; d) exacto y preciso.
  • 81. Los métodos numéricos deben ser lo suficientemente exactos o sin sesgo para sa- tisfacer los requisitos de un problema particular de ingeniería. También deben ser sufi- cientemente precisos para ser adecuados en el diseño de la ingeniería. En este libro se usa el término error para representar tanto la inexactitud como la imprecisión en las predicciones. Con dichos conceptos como antecedentes, ahora analizaremos los factores que contribuyen al error en los cálculos numéricos. 3.3 DEFINICIONES DE ERROR Los errores numéricos surgen del uso de aproximaciones para representar operaciones y cantidades matemáticas exactas. Éstas incluyen los errores de truncamiento que re- sultan del empleo de aproximaciones como un procedimiento matemático exacto, y los errores de redondeo que se producen cuando se usan números que tienen un límite de cifras significativas para representar números exactos. Para ambos tipos de errores, la relación entre el resultado exacto, o verdadero, y el aproximado está dada por Valor verdadero = Valor aproximado + error (3.1) Reordenando la ecuación (3.1) se encuentra que el error numérico es igual a la diferencia entre el valor verdadero y el valor aproximado, es decir Et = valor verdadero – valor aproximado (3.2) donde Et se usa para denotar el valor exacto del error. El subíndice t indica que se trata del error “verdadero” (true). Como ya se mencionó brevemente, esto contrasta con los otros casos, donde se debe emplear una estimación “aproximada” del error. Una desventaja en esta definición es que no toma en consideración el orden de la magnitud del valor que se estima. Por ejemplo, un error de un centímetro es mucho más significativo si se está midiendo un remache en lugar de un puente. Una manera de tomar en cuenta las magnitudes de las cantidades que se evalúan consiste en normalizar el error respecto al valor verdadero, es decir error verdadero Error relativo fraccional verdadero = ——————— valor verdadero donde, como ya se mencionó en la ecuación (3.2), error = valor verdadero – valor aproxi- mado. El error relativo también se puede multiplicar por 100% para expresarlo como error verdadero et = ——————— 100% (3.3) valor verdadero donde et denota el error relativo porcentual verdadero. EJEMPLO 3.1 Cálculo de errores Planteamiento del problema. Suponga que se tiene que medir la longitud de un puente y la de un remache, y se obtiene 9999 y 9 cm, respectivamente. Si los valores verdaderos son 10000 y 10 cm, calcule a) el error verdadero y b) el error relativo por- centual verdadero en cada caso. 3.3 DEFINICIONES DE ERROR 57
  • 82. 58 APROXIMACIONES Y ERRORES DE REDONDEO Solución a) El error en la medición del puente es [ecuación (3.2)] Et = 10000 – 9 999 = 1 cm y en la del remache es de Et = 10 – 9 = 1 cm b) El error relativo porcentual para el puente es [ecuación (3.3)] 1 et = ——— 100% = 0.01% 10000 y para el remache es de 1 et = —– 100% = 10% 10 Por lo tanto, aunque ambas medidas tienen un error de 1 cm, el error relativo porcentual del remache es mucho mayor. Se concluye entonces que se ha hecho un buen trabajo en la medición del puente; mientras que la estimación para el remache dejó mucho que desear. Observe que en las ecuaciones (3.2) y (3.3), E y e tienen un subíndice t que signifi- ca que el error ha sido normalizado al valor verdadero. En el ejemplo 3.1 teníamos el valor verdadero. Sin embargo, en las situaciones reales a veces es difícil contar con tal información. En los métodos numéricos, el valor verdadero sólo se conocerá cuando se tengan funciones que se resuelvan analíticamente. Éste comúnmente será el caso cuan- do se estudie el comportamiento teórico de una técnica específica para sistemas simples. Sin embargo, en muchas aplicaciones reales, no se conoce a priori la respuesta verda- dera. Entonces en dichos casos, una alternativa es normalizar el error, usando la mejor estimación posible al valor verdadero; es decir, para la aproximación misma, como en error aproximado ea = —————–—— 100% (3.4) valor aproximado donde el subíndice a significa que el error está normalizado a un valor aproximado. Observe también que en aplicaciones reales la ecuación (3.2) no se puede usar para calcular el término del error de la ecuación (3.4). Uno de los retos que enfrentan los métodos numéricos es el de determinar estimaciones del error en ausencia del conoci- miento de los valores verdaderos. Por ejemplo, ciertos métodos numéricos usan un método iterativo para calcular los resultados. En tales métodos se hace una aproximación considerando la aproximación anterior. Este proceso se efectúa varias veces, o de forma iterativa, para calcular en forma sucesiva, esperando cada vez mejores aproximaciones. En tales casos, el error a menudo se calcula como la diferencia entre la aproximación previa y la actual. Por lo tanto, el error relativo porcentual está dado por aproximación actual – aproximación anterior ea = ———————————————–——— 100% (3.5) aproximación actual
  • 83. En capítulos posteriores se explicarán con detalle éste y otros métodos para expresar errores. Los signos de las ecuaciones (3.2) a (3.5) pueden ser positivos o negativos. Si la aproximación es mayor que el valor verdadero (o la aproximación previa es mayor que la aproximación actual), el error es negativo; si la aproximación es menor que el valor verdadero, el error es positivo. También en las ecuaciones (3.3) a (3.5), el denominador puede ser menor a cero, lo cual también llevaría a un error negativo. A menudo, cuando se realizan cálculos, no importa mucho el signo del error, sino más bien que su valor absoluto porcentual sea menor que una tolerancia porcentual prefijada es. Por lo tanto, es útil emplear el valor absoluto de las ecuaciones (3.2) a (3.5). En tales casos, los cálcu- los se repiten hasta que |ea| es (3.6) Si se cumple la relación anterior, entonces se considera que el resultado obtenido está dentro del nivel aceptable fijado previamente es. Observe que en el resto del texto en general emplearemos exclusivamente valores absolutos cuando utilicemos errores rela- tivos. Es conveniente también relacionar estos errores con el número de cifras significa- tivas en la aproximación. Es posible demostrar (Scarborough, 1966) que si el siguiente criterio se cumple, se tendrá la seguridad que el resultado es correcto en al menos n cifras significativas. es = (0.5 × 102–n )% (3.7) EJEMPLO 3.2 Estimación del error con métodos iterativos Planteamiento del problema. En matemáticas con frecuencia las funciones se repre- sentan mediante series infinitas. Por ejemplo, la función exponencial se calcula usando x2 x3 xn ex = 1 + x + —– + —– +…+ —– (E3.2.1) 2! 3! n! Así cuanto más términos se le agreguen a la serie, la aproximación será cada vez más una mejor estimación del valor verdadero de ex . La ecuación (E3.2.1) se conoce como expansión en series de Maclaurin. Empezando con el primer término ex = 1 y agregando término por término, estime el valor de e0.5 . Después de agregar cada término, calcule los errores: relativo porcentual verdadero y normalizado a un valor aproximado usando las ecuaciones (3.3) y (3.5), respectivamente. Observe que el valor verdadero es e0.5 = 1.648721… Agregue términos hasta que el valor absoluto del error aproximado ea sea menor que un criterio de error preestablecido es con tres cifras significativas. Solución. En primer lugar la ecuación (3.7) se emplea para determinar el criterio de error que asegura que un resultado sea correcto en al menos tres cifras significativas: es = (0.5 × 102–3 )% = 0.05% Por lo tanto, se agregarán términos a la serie hasta que ea sea menor que este valor. 3.3 DEFINICIONES DE ERROR 59
  • 84. 60 APROXIMACIONES Y ERRORES DE REDONDEO La primera estimación es igual a la ecuación (E3.2.1) con un solo término. Entonces, la primera estimación es igual a 1. La segunda estimación se obtiene agregando el se- gundo término, así: ex = 1 + x y para x = 0.5, e0.5 = 1 + 0.5 = 1.5 Esto representa el error relativo porcentual verdadero de [ecuación (3.3)] 1.648721 – 1.5 et = —————–— 100% = 9.02% 1.648721 La ecuación (3.5) se utiliza para determinar una estimación aproximada del error, dada por: 1.5 – 1 ea = ——— 100% = 33.3% 1.5 Como ea no es menor que el valor requerido es, se deben continuar los cálculos agregan- do otro término, x2 /2!, repitiendo el cálculo del error. El proceso continúa hasta que ea es. Todos los cálculos se resumen de la siguiente manera Términos Resultado εt (%) εa (%) 1 1 39.3 2 1.5 9.02 33.3 3 1.625 1.44 7.69 4 1.645833333 0.175 1.27 5 1.648437500 0.0172 0.158 6 1.648697917 0.00142 0.0158 Así, después de usar seis términos, el error aproximado es menor que es = 0.05%, y el cálculo termina. Sin embargo, observe que, ¡el resultado es exacto con cinco cifras sig- nificativas! en vez de tres cifras significativas. Esto se debe a que, en este caso, las ecua- ciones (3.5) y (3.7) son conservadoras. Es decir, aseguran que el resultado es, por lo menos, tan bueno como lo especifican. Aunque, como se analiza en el capítulo 6, éste no es siempre el caso al usar la ecuación (3.5), que es verdadera en la mayoría de las veces. Con las definiciones anteriores como antecedente, se procede ahora a examinar los dos tipos de error relacionados directamente con los métodos numéricos: el error de redondeo y el error de truncamiento. 3.4 ERRORES DE REDONDEO Como se mencionó antes, los errores de redondeo se originan debido a que la compu- tadora emplea un número determinado de cifras significativas durante un cálculo. Los
  • 85. números tales como p, e o 7 no pueden exspresarse con un número fijo de cifras significativas. Por lo tanto, no pueden ser representados exactamente por la computado- ra. Además, debido a que las computadoras usan una representación en base 2, no pue- den representar exactamente algunos números en base 10. Esta discrepancia por la omisión de cifras significativas se llama error de redondeo. 3.4.1 Representación de números en la computadora Numéricamente los errores de redondeo se relacionan de manera directa con la forma en que se guardan los números en la memoria de la computadora. La unidad fundamen- tal mediante la cual se representa la información se llama palabra. Ésta es una entidad que consiste en una cadena de dígitos binarios o bits (binary digits). Por lo común, los números son guardados en una o más palabras. Para entender cómo se realiza esto, se debe revisar primero algún material relacionado con los sistemas numéricos. Sistemas numéricos. Un sistema numérico es simplemente una convención para re- presentar cantidades. Debido a que se tienen 10 dedos en las manos y 10 dedos en los pies, el sistema de numeración que nos es muy familiar es el decimal o de base 10. Una base es el número que se usa como referencia para construir un sistema. El sistema de base 10 utiliza 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) para representar números. Tales dígitos son satisfactorios por sí mismos para contar de 0 a 9. Para grandes cantidades se usa la combinación de estos dígitos básicos; con la po- sición o valor de posición se especifica su magnitud. El dígito en el extremo derecho de un número entero representa un número del 0 al 9. El segundo dígito a partir de la de- recha representa un múltiplo de 10. El tercer dígito a partir de la derecha representa un múltiplo de 100 y así sucesivamente. Por ejemplo, si se tiene el número 86409 se tienen 8 grupos de 10000, seis grupos de 1000, cuatro grupos de 100 y cero grupos de 10, y nueve unidades, o bien (8 × 104 ) + (6 × 103 ) + (4 × 102 ) + (0 × 101 ) + (9 × 100 ) = 86409 La figura 3.3a ofrece una representación de cómo se formula un número en el sis- tema de base 10. Este tipo de representación se llama notación posicional. Debido a que el sistema decimal resulta ser tan familiar, no es común darse cuenta de que existen otras alternativas. Por ejemplo, si el ser humano tuviera ocho dedos en las manos y ocho en los pies, se tendría, sin duda, una representación en un sistema octal o de base 8. En tal sentido nuestra amiga la computadora es como un animal que tiene dos dedos, limitado a dos estados: 0 o 1. Esto se relaciona con el hecho de que las unidades lógicas fundamentales de las computadoras digitales sean componentes elec- trónicos de apagado/encendido. Por lo tanto, los números en la computadora se repre- sentan con un sistema binario o de base 2. Del mismo modo que con el sistema decimal, las cantidades pueden representarse usando la notación posicional. Por ejemplo, el nú- mero binario 11 es equivalente a (l × 21 ) + (1 × 20 ) = 2 + 1 = 3 en el sistema decimal. En la figura 3.3b se ilustra un ejemplo más complejo. Representación entera. Ahora que se ha revisado cómo los números de base 10 se representan en forma binaria, es fácil concebir cómo los enteros se representan en la computadora. El método más sencillo se denomina método de magnitud con signo y 3.4 ERRORES DE REDONDEO 61
  • 86. 62 APROXIMACIONES Y ERRORES DE REDONDEO emplea el primer bit de una palabra para indicar el signo: con un 0 para positivo y un 1 para el negativo. Los bits sobrantes se usan para guardar el número. Por ejemplo, el valor entero –173 puede guardarse en la memoria de una computadora de 16 bits como se muestra en la figura 3.4. 1 ⫻ 1 = 0 ⫻ 2 = 1 ⫻ 4 = 1 ⫻ 8 = 0 ⫻ 16 = 1 ⫻ 32 = 0 ⫻ 64 = 1 ⫻ 128 = 1 0 4 8 0 32 0 128 173 27 1 26 0 25 1 24 0 23 1 22 1 21 0 20 1 9 ⫻ 1 = 0 ⫻ 10 = 4 ⫻ 100 = 6 ⫻ 1 000 = 8 ⫻ 10 000 = 9 0 400 6 000 80 000 86 409 104 8 103 6 102 4 101 0 100 9 a) b) FIGURA 3.3 Cómo trabajan los sistemas a) decimal (base 10) y b) binario (base 2). En b) el número binario 10101101 es equivalente al número decimal 173. 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 Signo Número FIGURA 3.4 La representación de un entero decimal –173 en una computadora de 16 bits usando el método de magnitud con signo.
  • 87. EJEMPLO 3.3 Rango de enteros Planteamiento del problema. Determine el rango de enteros de base 10 que pueda representarse en una computadora de 16 bits. Solución. De los 16 bits, se tiene el primer bit para el signo. Los 15 bits restantes pueden contener los números binarios de 0 a 111111111111111. El límite superior se convierte en un entero decimal, así (1 × 1214 ) + (1 × 213 ) + ··· + (1 × 21 ) + (1 × 20 ) que es igual a 32767 (observe que esta expresión puede simplemente evaluarse como 215 – 1). Así, en una computadora de 16 bits una palabra puede guardar en memoria un entero decimal en el rango de –32767 a 32767. Además, debido a que el cero está ya definido como 0000000000000000, sería redundante usar el número 1000000000000000 para definir “menos cero”. Por lo tanto, es usualmente empleado para representar un número negativo adicional: –32768, y el rango va de –32768 a 32767. Observe que el método de magnitud con signo descrito antes no se utiliza para re- presentar enteros en computadoras convencionales. Se prefiere usar una técnica llamada complemento de 2 que incorpora en forma directa el signo dentro de la magnitud del número, en lugar de emplear un bit adicional para representar más o menos (véase Cha- pra y Canale, 1994). Sin embargo, en el ejemplo 3.3 sigue sirviendo para ilustrar cómo todas las computadoras digitales están limitadas en cuanto a su capacidad para repre- sentar enteros. Esto es, los números por encima o por debajo de este rango no pueden representarse. Una limitación más importante se encuentra en el almacenaje y la mani- pulación de cantidades fraccionarias, como se describe a continuación. Representación del punto-flotante. Las cantidades fraccionarias generalmente se representan en la computadora usando la forma de punto flotante. Con este método, el número se expresa como una parte fraccionaria, llamada mantisa o significando, y una parte entera, denominada exponente o característica, esto es, m · be donde m = la mantisa, b = la base del sistema numérico que se va a utilizar y e = el ex- ponente. Por ejemplo, el número 156.78 se representa como 0.15678 × 103 en un sistema de base 10 de punto flotante. En 1a figura 3.5 se muestra una forma en que el número de punto flotante se guar- da en una palabra. El primer bit se reserva para el signo; la siguiente serie de bits, para el exponente con signo; y los últimos bits, para la mantisa. Observe que la mantisa es usualmente normalizada si tiene primero cero dígitos. Por ejemplo, suponga que la cantidad 1/34 = 0.029411765… se guarda en un sistema de base 10 con punto flotante, que únicamente permite guardar cuatro lugares decimales. Entonces, 1/34 se guardaría como 0.0294 × l00 Sin embargo, al hacerlo así, la inclusión del cero “inútil” a la derecha del punto decimal nos obliga a eliminar el dígito 1 del quinto lugar decimal. El número puede normalizarse 3.4 ERRORES DE REDONDEO 63
  • 88. 64 APROXIMACIONES Y ERRORES DE REDONDEO para eliminar el cero multiplicando la mantisa por 10 y diminuyendo el exponente en 1, para quedar 0.2941 × 10–1 Así, se conserva una cifra significativa adicional al guardar el número. La consecuencia de la normalización es que el valor absoluto de m queda limitado. Esto es, 1 — ≤ m 1 (3.8) b donde b = la base. Por ejemplo, para un sistema de base 10, m estaría entre 0.1 y 1; y para un sistema de base 2, entre 0.5 y 1. La representación de punto flotante permite que tanto fracciones como números muy grandes se expresen en la computadora. Sin embargo, hay algunas desventajas. Por ejemplo, los números de punto flotante requieren más espacio y más tiempo de proce- sado que los números enteros. Más importante aun es que su uso introduce una fuente de error debido a que la mantisa conserva sólo un número finito de cifras significativas. Por lo tanto, se introduce un error de redondeo. EJEMPLO 3.4 Conjunto hipotético de números con punto flotante Planteamiento del problema. Determine un conjunto hipotético de números con pun- to flotante para una máquina que guarda información usando palabras de 7 bits. Emplee el primer bit para el signo del número, los siguientes tres para el signo y la magnitud del exponente, y los últimos tres para la magnitud de la mantisa (véase figura 3.6). Solución. El número positivo más pequeño posible se representa en la figura 3.6. El 0 inicial señala que la cantidad es positiva. El 1 en el segundo lugar indica que el expo- nente tiene signo negativo. Los 1, en el tercero y cuarto lugar dan un valor máximo al exponente de 1 × 21 + 1 × 20 = 3 Por lo tanto, el exponente será –3. Por último, la mantisa está especificada por el 100 en los últimos tres lugares, lo cual nos da 1 × 2–1 + 0 × 2–2 + 0 × 2–3 = 0.5 Signo Exponente con signo Mantisa FIGURA 3.5 La forma en que un número de punto flotante se guarda en una palabra.
  • 89. Aunque es posible tomar una mantisa más pequeña (por ejemplo, 000, 001, 010, 011), se emplea el valor de 100 debido al límite impuesto por la normalización [ecuación (3.8)]. Así, el número positivo más pequeño posible en este sistema es +0.5 × 2–3 , el cual es igual a 0.0625 en el sistema de base 10. Los siguientes números más grandes se desa- rrollan incrementando la mantisa como sigue: 0111101 = (1 × 2–1 + 0 × 2–2 + 1 × 2–3 ) × 2–3 = (0.078125)10 0111110 = (1 × 2–1 + 1 × 2–2 + 0 × 2–3 ) × 2–3 = (0.093750)10 0111111 = (1 × 2–1 + 1 × 2–2 + 1 × 2–3 ) × 2–3 = (0.109375)10 Observe que las equivalencias de base 10 se esparcen de manera uniforme en un inter- valo de 0.015625. En este punto, para continuar el incremento se debe disminuir el exponente a 10, lo cual da un valor de 1 × 21 + 0 × 20 = 2 La mantisa disminuye hasta su valor más pequeño: 100. Por lo tanto, el siguiente núme- ro es 0110100 = (1 × 2–1 + 0 × 2–2 + 0 × 2–3 ) × 2–2 = (0.125000)10 Esto todavía representa una brecha o espacio de 0.l25000 – 0.109375 = 0.015625. Sin embargo, cuando los números grandes se generan incrementando la mantisa, la brecha es de 0.03125, 0110101 = (1 × 2–1 + 0 × 2–2 + 1 × 2–3 ) × 2–2 = (0.156250)10 0110110 = (1 × 2–1 + 1 × 2–2 + 0 × 2–3 ) × 2–2 = (0.187500)10 0110111 = (1 × 2–1 + 1 × 2–2 + 1 × 2–3 ) × 2–2 = (0.218750)10 Este patrón se repite conforme se formula una cantidad mayor hasta que se alcanza un número máximo: 0011111 = (1 × 2–1 + 1 × 2–2 + 1 × 2–3 ) × 23 = (7)10 El conjunto del número final se muestra en la figura 3.7. 0 1 1 1 1 0 0 Signo del número Signo del exponente Magnitud del exponente Magnitud de la mantisa 21 20 2–1 2–2 2–3 FIGURA 3.6 El número positivo de punto flotante más pequeño posible del ejemplo 3.4. 3.4 ERRORES DE REDONDEO 65
  • 90. 66 APROXIMACIONES Y ERRORES DE REDONDEO En la figura 3.7 se presentan diversos aspectos de la representación de punto flotan- te, que son importantes respecto de los errores de redondeo en las computadoras. 1. El rango de cantidades que pueden representarse es limitado. Como en el caso de los enteros, hay números grandes positivos y negativos que no pueden representar- se. Intentar emplear números fuera del rango aceptable dará como resultado el llamado error de desbordamiento (overflow). Sin embargo, además de las grandes cantidades, la representación de punto flotante tiene la limitación adicional de que números muy pequeños no pueden representarse. Esto se ilustra por el “agujero” underflow entre el cero y el primer número positivo en la figura 3.7. Se debe ob- servar que este agujero aumenta por las limitaciones de normalización de la ecua- ción (3.8). 2. Existe sólo un número finito de cantidades que puede representarse dentro de un rango. Así, el grado de precisión es limitado. Es evidente que los números irraciona- les no pueden representarse de manera exacta. Además, los números racionales que no concuerdan exactamente con uno de los valores en el conjunto tampoco pueden ser representados en forma precisa. A los errores ocasionados por la aproximación ⌬x x – ⌬x ⌬x/2 ⌬x/2 x – ⌬x x + ⌬x Corte Redondeo 0 0 7 Overflow(1) Underflow(2) “agujero” en el cero (1) Se genera una cantidad demasiado grande, en una operación aritmética, que rebasa la capacidad del registro (2) Se genera una cantidad, en una operación aritmética, demasiado pequeña, para que pueda ser almacenada. FIGURA 3.7 Sistema numérico hipotético desarrollado en el ejemplo 3.4. Cada valor se indica con una marca. Tan sólo se muestran los números positivos. Un conjunto idéntico se extendería en dirección negativa.
  • 91. en ambos casos se les conoce como errores de cuantificación. La aproximación real se realiza por dos caminos: cortando o redondeando. Por ejemplo, suponga que el valor de p = 3.14159265358… se va a guardar en un sistema de numeración de base 10 con 7 cifras significativas. Un método de aproximación podría ser simplemente omitir, o “cortar”, el octavo y demás términos, como en p = 3.141592, con la intro- ducción de un error asociado de [ecuación (3.2)] Et = 0.00000065… Esta técnica de mantener sólo términos significativos fue originalmente conocida como “truncamiento” en la jerga computacional. Preferimos llamarla corte para distinguirla de los errores de truncamiento que se analizarán en el capítulo 4. Ob- serve que en el sistema numérico de base 2 de la figura 3.7, corte significa que cualquier cantidad que esté dentro de un intervalo de longitud ∆x se guardará en memoria como una cantidad en el extremo inferior del intervalo. Así, el error máxi- mo por corte es ∆x. Además, se presenta un sesgo porque todos los errores son po- sitivos. La deficiencia del corte se atribuye al hecho de que los términos superiores de la representación decimal completa no tienen impacto en la versión cortada. Así, en el ejemplo de p, el primer dígito descartado es 6. El último dígito retenido debe- ría redondearse a 3.141593. Tal redondeo reduce el error a Et = –0.00000035… En consecuencia, el redondeo produce un error absoluto menor que el de corte. Observe que, en el sistema numérico de base 2 de la figura 3.7, redondear significa que cualquier cantidad que esté en un intervalo de longitud ∆x se representará como el número más cercano permitido. Entonces, el error máximo de redondeo es ∆x/2. Además, no se presenta sesgo porque ciertos errores son positivos y otros son nega- tivos. Algunas computadoras emplean redondeo. Sin embargo, esto aumenta el trabajo computacional y, en consecuencia, muchas máquinas simplemente usan el corte. Dicho enfoque se justifica con la suposición de que el número de cifras significativas es suficientemente grande para que los errores de redondeo resultantes sean despreciables. 3. El intervalo entre los números, ∆x, aumenta conforme los números crecen en mag- nitud. Ésta es la característica, por supuesto, que permite que la representación de punto flotante conserve los dígitos significativos. Sin embargo, también quiere decir que los errores de cuantificación sean proporcionales a la magnitud del número que será representado. Para normalizar los números de punto flotante, esta proporciona- lidad se expresa, para los casos en que se emplea el corte, como ∆x x ≤ Ᏹ (3.9) y, para los casos donde se utiliza el redondeo, como ∆x x ≤ Ᏹ 2 (3.10) 3.4 ERRORES DE REDONDEO 67
  • 92. 68 APROXIMACIONES Y ERRORES DE REDONDEO donde a Ᏹ se le denomina épsilon de la máquina, el cual se calcula como Ᏹ = b1–t (3.11) donde b es el número base y t es el número de dígitos significativos en la mantisa. Ob- serve que las desigualdades en las ecuaciones (3.9) y (3.10) quieren decir que éstos son los límites de los errores. Es decir, especifican los casos extremos. EJEMPLO 3.5 Épsilon de la máquina Planteamiento del problema. Determine el épsilon de la máquina y verifique su efectividad para caracterizar los errores del sistema numérico del ejemplo 3.4. Suponga que se usa al corte. Solución. El sistema de punto flotante hipotético del ejemplo 3.4 empleaba valores de base b = 2, y número de bits de la mantisa t = 3. Por lo tanto, el épsilon de la máquina debe ser [ecuación (3.11)] Ᏹ = 21–3 = 0.25 En consecuencia, el error de cuantificación relativo estará limitado por 0.25, para el corte. El error relativo más grande debería ocurrir para aquellas cantidades que caen justo debajo del límite superior del primer intervalo entre números equidistantes suce- sivos (véase figura 3.8). Aquellos números que caen en los intervalos sucesivos siguien- tes tendrán el mismo valor de ∆x pero un mayor valor de x y, por lo tanto, tendrán un error relativo bajo. Un ejemplo de un error máximo sería un valor que cae justo por debajo de límite superior del intervalo entre (0.125000)10 y (0.156250)10. Para este caso, el error sería menor a 0 03125 0 125000 0 25 . . . = Entonces, el error es como se predijo mediante la ecuación (3.9). Error relativo mayor FIGURA 3.8 El error de cuantificación más grande ocurrirá para aquellos valores que caigan justo debajo del límite superior del primero de una serie de intervalos equiespaciados. El hecho de que los errores de cuantificación dependan de la magnitud tiene varias aplicaciones prácticas en los métodos numéricos. Muchas de ellas están relacionadas con la comúnmente empleada operación de probar si dos números son iguales. Ello
  • 93. ocurre cuando se prueba la convergencia de cantidades, así como en los mecanismos para detener procesos iterativos (véase el ejemplo 3.2). En estos casos deberá ser claro que más que probar si las dos cantidades son iguales, es recomendable probar si su di- ferencia es menor que una pequeña tolerancia aceptable. Además, deberá ser evidente que más que la diferencia absoluta, deberá compararse la diferencia normalizada, en especial cuando se trabaja con números de gran magnitud. El épsilon de la máquina, además, se emplea al formular criterios de paro o de convergencia. Esto asegura que los programas sean portátiles, es decir, que no sean dependientes de la computadora sobre la cual se hayan implementado. En la figura 3.9 se presenta un seudocódigo que auto- máticamente determina el épsilon de la máquina en una computadora binaria. Precisión extendida. Aquí se debe observar que, aunque los errores de redondeo llegan a ser importantes en contextos tales como pruebas de convergencia, el número de dígitos significativos que tiene la mayoría de las computadoras permite que muchos cálculos de ingeniería se realicen con una precisión más que aceptable. Por ejemplo, el sistema numérico hipotético de la figura 3.7 es una enorme exageración que se usó con propósitos ilustrativos. En las computadoras comerciales se utilizan conjuntos mucho más grandes y por consiguiente se permite que los números queden expresados con una precisión adecuada. Por ejemplo, las computadoras que usan el formato IEEE permiten 24 bits para ser usados por la mantisa, lo cual se traduce en cerca de siete cifras signifi- cativas de precisión1 en dígitos de base 10 con un rango aproximado de 10–38 a 1039 . Se debe reconocer que aún hay casos donde el error de redondeo resulta crítico. Por tal razón muchas computadoras permiten la especificación de precisión extendida. La más común de estas especificaciones es la doble precisión, en la cual se duplica el nú- mero de palabras utilizado para guardar números de punto flotante. Esto proporciona de 15 a 16 dígitos decimales de precisión y un rango aproximado de 10–308 a 10308 . En muchos casos el uso de cantidades de doble precisión llega a reducir, en gran medida, el efecto del error de redondeo. Sin embargo, el precio que se paga por tales medidas remediales consiste en mayores requerimientos de memoria y de tiempo de ejecución. La diferencia en el tiempo de ejecución de un cálculo pequeño podría parecer insignificante. No obstante, conforme los programas van siendo cada vez más grandes y complicados, el tiempo de ejecución agregado se vuelve más considerable y repercute de manera negativa para resolver el problema en forma efectiva. Por lo tanto, la precisión extendida no debería utilizarse en forma generalizada. Por el contrario, deberá ser em- pleada en forma selectiva, donde se obtenga un máximo beneficio al menor costo en términos de tiempo de ejecución. En las siguientes secciones veremos más de cerca cómo los errores de redondeo afectan los cálculos y ello nos servirá para comprender los fun- damentos que nos guíen en el uso de la capacidad de la doble precisión. Antes de proseguir, debemos observar que algunos paquetes de software de uso común (por ejemplo, Excel o Mathcad) normalmente utilizan doble precisión para re- presentar las cantidades numéricas. Así, quienes desarrollaron estos paquetes decidieron reducir los errores de redondeo sacrificando velocidad para usar una precisión extendi- da. Otros, como el MATLAB, permiten usar la precisión extendida, si se desea. 1 Observe que, de hecho, únicamente 23 bits se emplean en la memoria para la mantisa. Sin embargo, debido a la normalización, el primer bit de la mantisa es siempre 1 y, por lo tanto, no se guarda. Así, el primer bit junto con los 23 bits de memoria dan 24 bits en total para la precisión de la mantisa. 3.4 ERRORES DE REDONDEO 69 epsilon = 1 DO IF (epsilon+1 ≤ 1) EXIT epsilon = epsilon/2 END DO epsilon = 2 × epsilon FIGURA 3.9 Seudocódigo para deter- minar el épsilon de la má- quina en una computadora binaria.
  • 94. 70 APROXIMACIONES Y ERRORES DE REDONDEO 3.4.2 Manipulación aritmética de números en la computadora Junto con las limitaciones del sistema numérico de una computadora, las manipulaciones aritméticas que se usan con tales números también pueden dar como resultado errores de redondeo. En la siguiente sección se ilustrará primero cómo afectan las operaciones aritméticas comunes a los errores de redondeo. De este modo, investigaremos varias manipulaciones que son especialmente propensas a errores de redondeo. Operaciones aritméticas comunes. A causa de que estamos familiarizados con los números de base 10, los emplearemos para ilustrar el efecto del error de redondeo en las operaciones básicas: suma, resta, multiplicación y división. Otras bases de números pueden tener un comportamiento similar. Para simplificar el análisis, emplearemos una computadora decimal hipotética con una mantisa de 4 dígitos y un exponente de 1 dígi- to. Además, se usará el corte. El redondeo puede implicar errores similares, aunque menos dramáticos. Cuando se suman dos números de punto flotante, el número de la mantisa con el exponente menor se modifica de tal forma que los exponentes sean los mismos. Esto tiene el efecto de alinear los puntos decimales. Por ejemplo, suponga que se quiere sumar 0.1557 · 101 + 0.4381 · 10–1 . El decimal de la mantisa del segundo número se recorre a la izquierda un número de lugares igual a la diferencia de los exponentes [1 – (–1) = 2], así, 0.4381 · 10–1 → 0.004381 · 101 Ahora se suman los números, 0.1557 · 101 0.004381· 101 0.160081· 101 y el resultado es cortado a 0.1600 · 101 . Note cómo los últimos dos dígitos del segundo número que se recorrieron a la derecha fueron eliminados de los cálculos. La resta se realiza en forma idéntica a la suma, con la excepción del signo del sus- traendo, que es negativo. Por ejemplo, suponga que hacemos la resta 36.41 menos 26.86. Esto es, 0.3641 · 102 –0.2686 · 102 0.0955 · 102 Aquí el resultado no está normalizado y se debe recorrer el decimal un lugar a la derecha para obtener 0.9550 · 101 = 9.550. Observe que el cero sumado al final de la man- tisa no es relevante, tan sólo llena el espacio vacío creado al recorrer los números. Es posible obtener resultados más dramáticos todavía, cuando las cantidades estén muy cercanas, como por ejemplo, 0.7642 · 103 –0.7641 · 103 0.0001 · 103
  • 95. que podría convertirse en 0.1000 · 100 = 0.1000. Así, en este caso, se agregan tres ceros no significativos, lo cual introduce un error sustancial de cálculo debido a que las ma- nipulaciones siguientes actúan como si los ceros fueran significativos. Como se verá más adelante en otra sección, la pérdida significativa durante la resta de números casi iguales es una de las principales fuentes de errores de redondeo en los métodos numéricos. La multiplicación y la división resultan un poco más sencillos que la suma y la resta. Los exponentes se suman y la mantisa se multiplica. Debido a que la multiplicación de dos mantisas de n dígitos da como resultado 2n dígitos, muchas computadoras ofrecen resultados intermedios en un registro de doble longitud. Por ejemplo, 0.1363 · 103 × 0.6423 · 10–1 = 0.08754549 · 102 Si, como en este caso, se introduce un cero, el resultado es normalizado, 0.08754549 · 102 → 0.8754549 · 101 y cortando resulta 0.8754 · 101 La división se realiza en forma similar, aunque las mantisas se dividen y los expo- nentes se restan. Entonces el resultado es normalizado y cortado. Cálculos grandes. Ciertos métodos requieren un número extremadamente grande de manipulaciones aritméticas para llegar a los resultados finales. Además, dichos cálcu- los a menudo son interdependientes; es decir, los cálculos son dependientes de los resultados previos. En consecuencia, aunque el error de redondeo individual sea pequeño, el efecto acumulativo durante el proceso de muchos cálculos puede ser rele- vante. EJEMPLO 3.6 Un número grande de cálculos interdependientes Planteamiento del problema. Investigue el efecto del error de redondeo en un gran número de cálculos interdependientes. Desarrolle un programa que sume un número 100000 veces. Sume el número 1 con precisión simple, y 0.00001 con precisiones sim- ple y doble. Solución. En la figura 3.10 se muestra un programa en Fortran 90 que realiza la suma. Mientras que la suma con precisión simple de 1 dará el resultado esperado, la precisión simple en la suma de 0.00001 tiene una gran discrepancia. Este error se reduce de ma- nera importante cuando 0.00001 se suma con precisión doble. Los errores de cuantificación son la fuente de las discrepancias. Debido a que el entero 1 puede ser representado en forma exacta en la computadora, puede sumarse exactamente. En contraste, 0.00001 no puede representarse con exactitud y se cuantifi- ca con un valor que es ligeramente diferente de su valor verdadero. Aunque esta ligera discrepancia resultará insignificante para un cálculo pequeño, se acumula después de la repetición de sumas. Tal problema ocurre también con la precisión doble, pero se redu- ce en forma relevante porque el error de cuantificación es mucho más pequeño. 3.4 ERRORES DE REDONDEO 71
  • 96. 72 APROXIMACIONES Y ERRORES DE REDONDEO Observe que el tipo de error ilustrado en el ejemplo anterior es algo atípico porque todos los errores en las operaciones que se repiten tienen el mismo signo. En muchos casos, los errores en grandes cálculos alternan el signo de manera aleatoria y, entonces, con frecuencia se cancelan. Sin embargo, hay también algunos casos donde tales errores no se cancelan pero, en efecto, llevan a resultados finales dudosos. En las siguientes secciones se mostrará cómo puede ocurrir esto. Suma de un número grande y uno pequeño. Suponga que se desea sumar un nú- mero pequeño, 0.0010, con un número grande, 4000, utilizando una computadora hipo- tética con una mantisa de 4 dígitos y un exponente de 1 dígito. Modificamos el número pequeño para que su exponente sea igual al del grande, 0.4000 · 104 0.0000001 · 104 0.4000001 · 104 el cual se corta a 0.4000 · l04 . Así, ¡resultó lo mismo que si no hubiéramos realizado la suma! Este tipo de error puede ocurrir cuando se calculan series infinitas. Por ejemplo, si el término inicial de una serie es relativamente grande en comparación con los demás términos, después de que se han sumado unos pocos términos, estamos en la situación de sumar una cantidad pequeña a una cantidad grande. PROGRAM fig0310 IMPLICIT none INTEGER::i REAL::sum1, sum2, x1, x2 DOUBLE PRECISION::sum3, x3 sum1=0. sum2=0. sum3=0. x1=1. x2=1.e-5 x3=1.d-5 DO i=1,100000 sum1=sum1+x1 sum2=sum2+x2 sum3=sum3+x3 END DO PRINT *, sum1 PRINT *, sum2 PRINT *, sum3 END output: 100000.000000 1.000990 9.999999999980838E-001 FIGURA 3.10 Programa en Fortran 90 para sumar un número 105 veces. Aquí se suma el nú- mero 1 con precisión simple y el número 10–5 con preci- siones simple y doble.
  • 97. Una manera de reducir este tipo de errores consiste en sumar la serie en sentido inverso: esto es, en orden ascendente en lugar de descendente. De esta manera, cada nuevo término será comparable en magnitud con el de la suma acumulada (véase el problema 3.4). Cancelación por resta. Se refiere al redondeo inducido cuando se restan dos núme- ros de punto flotante casi iguales. Un caso común donde esto ocurre es en la determinación de las raíces de una ecua- ción cuadrática o parábola utilizando la fórmula cuadrática, x x b b ac a 1 2 2 4 2 = ± − – (3.12) En los casos donde b2 4ac, la diferencia en el numerador puede ser muy pequeña. En tales casos, la precisión doble llega a reducir el problema. Además, una formulación alternativa puede usarse para minimizar la cancelación por resta. x x c b b ac 1 2 2 2 4 = ± − – (3.13) Una ilustración del problema y del uso de esta fórmula alternativa se ofrecen en el si- guiente ejemplo. EJEMPLO 3.7 Cancelación por resta Planteamiento del problema. Calcule el valor de las raíces de una ecuación cuadráti- ca con a = 1, b = 3000.001 y c = 3. Compare el valor calculado con las raíces verdaderas x1 = –0.001 y x2 = –3000. Solución. En la figura 3.11 se muestra un programa en Fortran 90 que calcula las raíces x1 y x2 usando la fórmula cuadrática [(ecuación (3.12)]. Observe que se dan las versiones tanto de la precisión simple como la precisión doble. Mientras que los resul- tados para x2 son adecuados, el error relativo porcentual para x1 es pobre para la precisión simple, et = 2.4%. Este valor quizá resulte para muchos problemas de aplicaciones en ingeniería. ¡Este resultado es en particular sorpresivo porque se emplea una fórmula analítica para obtener la solución! La pérdida de significancia ocurre en la línea del programa donde dos números grandes se restan. No ocurren problemas semejantes cuando los mismos números se suman. Considerando lo anterior podemos obtener la conclusión general de que la fórmu- la cuadrática será susceptible de cancelación por resta cada vez que b2 4ac. Una manera de evitar este problema consiste en usar precisión doble. Otra es reacomodar la fórmula cuadrática en la forma de la ecuación (3.13). Ya que en la salida del programa, ambas opciones dan un error mucho menor porque se minimiza o evita la cancelación por resta. 3.4 ERRORES DE REDONDEO 73
  • 98. 74 APROXIMACIONES Y ERRORES DE REDONDEO Considere que, como en el ejemplo anterior, hay veces en las que la cancelación por resta se evita empleando una transformación. No obstante, el único remedio general es usar la precisión extendida. Dispersión. La dispersión ocurre generalmente cuando los términos individuales en la sumatoria son más grandes que la sumatoria misma. Como en el siguiente ejemplo, casos como éstos ocurren en las series con signos alternados. EJEMPLO 3.8 Evaluación de ex usando series infinitas Planteamiento del problema. La función exponencial y = ex está dada por la serie infinita y x x x = + + + + 1 2 3 2 3 ! ! Evalúe esta función para x = 10 y x = –10; esté atento al problema del error de redondeo. Solución. En la figura 3.12a se muestra un programa en Fortran 90 que utiliza una serie infinita para evaluar ex . La variable i es el número de términos en la serie, term es el valor de término actual que se le agrega a la serie, y sum es el valor acumulado de la serie. La variable test es el valor acumulado precedente de la serie antes de la suma de term. La serie se termina cuando la computadora no puede detectar la diferencia entre test y sum. PROGRAM fig0311 IMPLICIT none REAL::a,b,c,d,x1,x2,x1r DOUBLE PRECISION::aa,bb,cc,dd,x11,x22 a = 1. b = 3000.001 c = 3. d = SQRT(b * b - 4. * a * c) x1 = (-b + d) / (2. * a) x2 = (-b - d) / (2. * a) PRINT *, ‘resultados con precisión simple:’ PRINT ‘(1x,a10,f20.14)’ , ‘x1 = ’ , x1 PRINT ‘(1x,a10,f10.4)’ , ‘x2 = ’ , x2 PRINT * aa = 1. bb = 3000.001 cc = 3. dd = SQRT(bb * bb – 4. * aa * cc) x11 = (-bb + dd) / (2. * aa) x22 = (-bb – dd) / (2. * aa) PRINT *, ‘resultados con precisión doble:’ PRINT ‘(1x,a10,f20.14)’ , ‘x1 = ’ , x11 PRINT ‘(1x,a10,f10.4)’ , ‘x2 = ’ , x22 PRINT * PRINT *, ‘fórmula modificada para la primer raíz:’ x1r = -2. * c / (b + d) PRINT ‘(1x,a10,f20.14)’ , ‘x1 = ’ , x1r END SALIDA resultados con precisión simple: x1 = -.00097656250000 x2 = -3000.0000 resultados con precisión doble: x1 = -.00100000000771 x2 = -3000.0000 fórmula modificada para la primera raíz: x1 = -.00100000000000 FIGURA 3.11 Programa en Fortran 90 para determinar las raíces de una ecuación cuadrática. Con precisiones simple y doble.
  • 99. c) Evaluación de e–10 x= -10 i term sum 0 1.000000 1.000000 1 –10.000000 –9.000000 2 50.000000 41.000000 3 –166.666700 –125.666700 4 416.666700 291.000000 5 –833.333400 –542.333400 . . . 1 –2.989312E-09 8.137590E-05 42 7.117410E-10 8.137661E-05 43 –1.655212E-10 8.137644E-05 44 3.761845E-11 8.137648E-05 45 –8.359655E-12 8.137647E-05 valor exacto = 4.539993E-05 a) Programa PROGRAM fig0312 IMPLICIT none Real::term, test, sum,x INTEGER::i i = 0 term = 1. sum = 1. test = 0. PRINT *, ‘x = ’ READ *, x PRINT *, ‘i’, ‘term’, ‘sum’ DO IF (sum.EQ.test) EXIT PRINT *, i, term, sum i = i + 1 term = term*x/i test = sum sum = sum+term END DO PRINT *, ‘valor exacto =’ ,exp(x) END b) Evaluación de e10 x= 10 i term sum 0 1.000000 1.000000 1 10.000000 11.000000 2 50.000000 61.000000 3 166.666700 227.666700 4 416.666700 644.333400 5 833.333400 1477.667000 . . . 27 9.183693E-02 22026.420000 28 3.279890E-02 22026.450000 29 1.130997E-02 22026.460000 30 3.769989E-03 22026.470000 31 1.216126E-03 22026.470000 valor exacto = 22026.460000 FIGURA 3.12 a) Un programa en Fortran 90 para evaluar ex usando series infinitas. b) Evaluación de ex . c) Evaluación de e–x . 3.4 ERRORES DE REDONDEO 75
  • 100. 76 APROXIMACIONES Y ERRORES DE REDONDEO La figura 3.12b muestra los resultados de la ejecución del programa para x = 10. Observe que este caso es completamente satisfactorio. El resultado final se alcanza en 31 términos con la serie idéntica para el valor de la función en la biblioteca con siete cifras significativas. En la figura 3.12c se muestran los resultados para x = –10. Sin embargo, en este caso, los resultados de la serie calculada no coinciden ni en el signo con respecto al re- sultado verdadero. De hecho, los resultados negativos abren una gama de preguntas serias porque ex nunca puede ser menor que cero. El problema es causado por el error de redondeo. Observe que muchos de los términos que conforman la suma son mucho más grandes que el resultado final de la suma. Además, a diferencia del caso anterior, los términos individuales varían de signo. Así, en efecto, estamos sumando y restando números grandes (cada uno con algún error pequeño) y dando gran significancia a las diferencias; esto es, cancelación por resta. Entonces, puede verse que el culpable en este ejemplo de dispersión es, en efecto, la cancelación por resta. En tales casos es apropiado buscar alguna otra estrategia de cálculo. Por ejemplo, uno podría tratar de calcular y = e–10 como y = (e–1 )10 . En lugar de una reformulación, ya que el único recurso general es la precisión extendida. Productos internos. De las secciones anteriores debe quedar claro que, algunas series infinitas son particularmente propensas a errores por redondeo. Por fortuna, el cálculo de series no es una de las operaciones más comunes en métodos numéricos. Una mani- pulación más frecuente es el cálculo de productos internos, esto es, x y x y x y x y i i n n i n = + + + = ∑ 1 1 2 2 1 Esta operación es muy común, en particular en la solución de ecuaciones simultáneas lineales algebraicas. Tales sumatorias son propensas a errores por redondeo. En conse- cuencia, a menudo es deseable calcular tales sumas con precisión extendida. Aunque en las secciones siguientes se ofrecerán reglas prácticas para reducir el error de redondeo, no son un medio directo mejor que el método de prueba y error para de- terminar realmente el efecto de tales errores en los cálculos. En el próximo capítulo se presentará la serie de Taylor, la cual proporcionará un enfoque matemático para estimar esos efectos. PROBLEMAS 3.1 Convierta los números siguientes en base 2 a números en base 10: a) 1011101. b) 101.101, y c) 0.01101. 3.2 Realice su propio programa con base en la figura 3.9 y úselo para determinar el épsilon de máquina de su computadora. 3.3 En forma similar a la de la figura 3.9, escriba un programa corto para determinar el número más pequeño, xmín, que utiliza la computadora que empleará con este libro. Observe que su computadora será incapaz de diferenciar entre cero y una canti- dad más pequeña que dicho número. 3.4 La serie infinita f n i i n ( ) = = ∑ 1 4 1 converge a un valor de f(n) = p4 /90 conforme n se tiende a infi- nito. Escriba un programa de precisión sencilla para calcular f(n) para n = 10000 por medio de calcular la suma desde i = 1 hasta 10000. Después repita el cálculo pero en sentido inverso, es
  • 101. decir, desde i = 10000 a 1, con incrementos de –1. En cada caso, calcule el error relativo porcentual verdadero. Explique los re- sultados. 3.5 Evalúe e–5 con el uso de dos métodos e x x x x − = − + − + 1 2 3 2 3 ! y e e x x x x x − = = + + + + 1 1 1 2 3 2 3 ! y compárelo con el valor verdadero de 6.737947 × 10–3 . Utilice 20 términos para evaluar cada serie y calcule los errores relativos aproximado y verdadero como términos que se agregaran. 3.6 La derivada de f(x) = 1/(1 – 3x2 )2 está dada por 6 1 3 2 2 x x ( ) − ¿Esperaría el lector dificultades para evaluar esta función para x = 0.577? Inténtelo con aritmética de 3 y 4 dígitos con corte. 3.7 a) Evalúe el polinomio y = x3 – 7x2 + 8x + 0.35 en x = 1.37. Utilice aritmética de 3 dígitos con corte. Evalúe el error relativo porcentual. b) Repita el inciso a) pero exprese a y como y = [(x – 7)x + 8]x + 0.35 Evalúe el error y compárelo con el inciso a). 3.8 Calcule la memoria de acceso al azar (RAM) en megabytes, que es necesaria para almacenar un arreglo multidimensional de 20 × 40 × 120. Este arreglo es de doble precisión, y cada valor requiere una palabra de 64 bits. Recuerde que una palabra de 64 bits = 8 bytes, y un kilobyte = 210 bytes. Suponga que el índice comienza en 1. 3.9 Determine el número de términos necesarios para aproximar cos x a 8 cifras significativas con el uso de la serie de McLaurin. cos ! ! ! x x x x x = − + − + − 1 2 4 6 8 2 4 6 8 Calcule la aproximación con el empleo del valor de x = 0.3p. Escriba un programa para determinar el resultado. 3.10 Utilice aritmética de 5 dígitos con corte para determinar las raíces de la ecuación siguiente, por medio de las ecuaciones (3.12) y (3.13). x2 – 5000.002x + 10 Calcule los errores relativos porcentuales de sus resultados. 3.11 ¿Cómo puede emplearse el épsilon de la máquina para formular un criterio de detención es para sus programas? Dé un ejemplo. PROBLEMAS 77
  • 102. CAPÍTULO 4 Errores de truncamiento y la serie de Taylor Los errores de truncamiento son aquellos que resultan al usar una aproximación en lugar de un procedimiento matemático exacto. Por ejemplo, en el capítulo 1 aproximamos la derivada de la velocidad de caída de un paracaidista mediante una ecuación en dife- rencia finita dividida de la forma [ecuación (1.11)] d dt t t t t t i i i i v v v v ≅ = + + ∆ ∆ ( ) – ( ) – 1 1 (4.1) Se presentó un error de truncamiento en la solución numérica, ya que la ecuación en diferencia sólo aproxima el valor verdadero de la derivada (véase figura 1.4). Para obte- ner un conocimiento sobre las características de estos errores, debe considerar una formulación matemática que se utiliza ampliamente en los métodos numéricos para expresar funciones de manera aproximada: la serie de Taylor. 4.1 LA SERIE DE TAYLOR El teorema de Taylor (véase cuadro 4.1) y su fórmula, la serie de Taylor, es de gran valor en el estudio de los métodos numéricos. En esencia, la serie de Taylor proporciona un medio para predecir el valor de una función en un punto en términos del valor de la función y sus derivadas en otro punto. En particular, el teorema establece que cual- quier función suave puede aproximarse por un polinomio. Una buena manera de comprender la serie de Taylor consiste en construirla término por término. Por ejemplo, el primer término de la serie es: f(xi+1) ⬵ f(xi) (4.2) Esta relación, llamada la aproximación de orden cero, indica que el valor de f en el nuevo punto es el mismo que su valor en el punto anterior. Tal resultado tiene un sentido intuitivo, ya que si xi y xi+1 están muy próximas entre sí, entonces es muy probable que el nuevo valor sea similar al anterior. La ecuación (4.2) ofrece una estimación perfecta si la función que se va a aproximar es, de hecho, una constante. Sin embargo, si la función cambia en el intervalo, entonces se requieren los términos adicionales de la serie de Taylor, para obtener una mejor aproximación. Por ejemplo, la aproximación de primer orden se obtiene sumando otro término para obtener: f(xi+1) ⬵ f(xi) + f′(xi)(xi+1 – xi) (4.3)
  • 103. Teorema de Taylor Si la función f y sus primeras n + 1 derivadas son continuas en un intervalo que contiene a y x, entonces el valor de la función en x está dado por f x f a f a x a f a x a f a x a f a n x a R n n n ( ) ( ) ( )( – ) ( ) ! ( – ) ( ) ! ( – ) ( ) ! ( – ) ( ) ( ) = + ′ + ′′ + + + + 2 3 2 3 3 (C4.1.1) donde el residuo Rn se define como R x t n f t dt n n a x n = ∫ + ( – ) ! ( ) ( ) 1 (C4.1.2) donde t = a es una variable muda. La ecuación (C4.1.1) se llama serie de Taylor o fórmula de Taylor. Si se omite el residuo, el lado derechodelaecuación(C4.1.1)eslaaproximacióndelpolinomio deTaylorparaf(x).Enesencia,elteoremaestablecequecualquier función suave puede aproximarse mediante un polinomio. La ecuación (C4.1.2) es sólo una manera, denominada la forma integral, mediante la cual puede expresarse el residuo. Se obtiene una formulación alternativa basándose en el teorema del valor medio para integrales. Primer teorema del valor medio para integrales Si la función g es continua e integrable en un intervalo que con- tenga a y x, entonces existe un punto x entre a y x tal que g t dt g x a a x ∫ = ( ) ( )( – ) ξ (C4.1.3) Cuadro 4.1 Teorema de Taylor En otras palabras, el teorema establece que la integral pue- de representarse por un valor promedio de la función g(x) mul- tiplicado por la longitud del intervalo x – a. Como el promedio debe encontrarse entre los valores mínimo y máximo del inter- valo, existe un punto x = x en el cual la función toma el valor promedio. El primer teorema es, de hecho, un caso especial del segundo teorema del valor medio para integrales. Segundo teorema del valor medio para integrales Si las funciones g y h son continuas e integrables en un interva- lo que contiene a y x, y h no cambia de signo en el intervalo, entonces existe un punto x entre a y x tal que g t h t dt g h t dt a x a x ∫ ∫ = ( ) ( ) ( ) ( ) ξ (C4.1.4) La ecuación (C4.1.3) es equivalente a la ecuación (C4.1.4) con h(t) = 1. El segundo teorema se aplica a la ecuación (C4.1.2) con g t f t h t x t n n n ( ) ( ) ( ) ( – ) ! ( ) = = +1 Conforme t varía de a a x, h(t) es continua y no cambia de signo. Por lo tanto, si f (n+l) (t) es continua, entonces se satisface el teo- rema del valor medio para integrales y R f n x a n n n = + + + ( ) ( ) ( )! ( – ) 1 1 1 ξ Esta ecuación es conocida como la forma de Lagrange del re- siduo. El término adicional de primer orden consiste en una pendiente f′(xi) multiplicada por la distancia entre xi y xi+l. Por lo tanto, la expresión representa ahora una línea recta y es posible predecir un incremento o un decremento de la función entre xi y xi+l. Aunque la ecuación (4.3) puede predecir un cambio, sólo es exacta para una línea recta o una tendencia lineal. Por lo tanto, se le agrega a la serie un término de segundo orden para obtener algo de la curvatura, que pudiera presentar la función: f x f x f x x x f x x x i i i i i i i i ( ) ( ) ( )( – ) ( ) ! ( – ) + + + ≅ + ′ + ′′ 1 1 1 2 2 (4.4) 4.1 LA SERIE DE TAYLOR 79
  • 104. 80 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR De manera similar, se agregan términos adicionales para desarrollar la expansión com- pleta de la serie de Taylor: f x f x f x x x f x x x f x x x f x n x x R i i i i i i i i i i i n i i i n n ( ) ( ) ( )( – ) ( ) ! ( – ) ( ) ! ( – ) ( ) ! ( – ) ( ) ( ) + + + + + = + ′ + ′′ + + + + 1 1 1 2 3 1 3 1 2 3 (4.5) Observe que debido a que la ecuación (4.5) es una serie infinita, el signo igual reempla- za al signo de aproximación que se utiliza en las ecuaciones (4.2) a (4.4). Se incluye un término residual para considerar todos los términos desde el n + 1 hasta infinito: R f n x x n n i i n = + + + + ( ) ( ) ( )! ( – ) 1 1 1 1 ξ (4.6) donde el subíndice n indica que éste es el residuo de la aproximación de n-ésimo orden y x es un valor de x que se encuentra en algún punto entre xi y xi+l. La x es tan importan- te que se dedica una sección completa (sección 4.1.1) para su estudio. Por ahora es sufi- ciente darse cuenta de que existe este valor que da una estimación exacta del error. Con frecuencia es conveniente simplificar la serie de Taylor definiendo un tamaño de paso o incremento h = xi+1 – xi y expresando la ecuación (4.5) como: f x f x f x h f x h f x h f x n h R i i i i i n i n n ( ) ( ) ( ) ( ) ! ( ) ! ( ) ! ( ) ( ) + = + ′ + ′′ + + + + 1 2 3 3 2 3 (4.7) donde el término residual es ahora R f n h n n n = + + + ( ) ( ) ( )! 1 1 1 ξ (4.8) EJEMPLO 4.1 Aproximaciones de un polinomio mediante la serie de Taylor Planteamiento del problema. Use expansiones de la serie de Taylor de los órdenes cero hasta cuatro para aproximar la función f(x) = –0.1x4 – 0.15x3 – 0.5x2 – 0.25x + 1.2 desde xi = 0 con h = 1. Esto es, prediga el valor de la función en xi+l = 1. Solución. Ya que se trata de una función conocida, es posible calcular valores de f(x) entre 0 y 1. Los resultados (véase figura 4.1) indican que la función empieza en f(0) = 1.2 y hace una curva hacia abajo hasta f(1) = 0.2. Por lo tanto, el valor verdadero que se trata de predecir es 0.2. La aproximación de la serie de Taylor con n = 0 es [ecuación (4.2)] f(xi+1) ⬵ 1.2 Como se muestra en la figura 4.1, la aproximación de orden cero es una constante. Usan- do esta formulación resulta un error de truncamiento [recuerde la ecuación (3.2)] de Et = 0.2 – 1.2 = –1.0 en x = 1.
  • 105. Para n = 1, se debe determinar y evaluar la primer derivada en x = 0: f′(0) = –0.4(0.0)3 – 0.45(0.0)2 – 1.0(0.0) – 0.25 = –0.25 La aproximación de primer orden es entonces [véase ecuación (4.3)] f(xi+1) ⬵ 1.2 – 0.25h que se emplea para calcular f(1) = 0.95. La aproximación empieza a coincidir con la trayectoria hacia abajo de la función en forma de una línea recta inclinada (véase figura 4.1). De esta manera, el error de truncamiento se reduce a Et = 0.2 – 0.95 = –0.75 Para n = 2, se evalúa la segunda derivada en x = 0: f′(0) = –1.2(0.0)2 – 0.9(0.0) – 1.0 = –1.0 Entonces, de acuerdo con la ecuación (4.4) f(xi+1) ⬵ 1.2 – 0.25h – 0.5h2 y sustituyendo h = 1, f(1) = 0.45. Al incluirse la segunda derivada se añade una curvatu- ra descendente que proporciona una mejor estimación, como se muestra en la figura 4.1. Además, el error de truncamiento se reduce a 0.2 – 0.45 = –0.25. Los términos adicionales mejoran aún más la aproximación. En efecto, la inclusión de la tercera y de la cuarta derivadas da como resultado exactamente la misma ecuación del principio: f(x) = 1.2 – 0.25h – 0.5h2 – 0.15h3 – 0.1h4 Segundo orden Primer orden V e r d a d e r o f(x) 1.0 0.5 0 xi = 0 xi + 1 = 1 x f(xi + 1) f(xi + 1) ⯝ f(xi) + f⬘(xi)h + h2 h f ⬙(xi) 2! f(xi + 1) ⯝ f(xi) + f⬘(xi)h f(xi + 1) ⯝ f(xi) f(xi) Orden cero FIGURA 4.1 Aproximación de f(x) = –0.1x4 – 0.15x3 – 0.5x2 – 0.25x + 1.2 en x = 1 mediante expansiones de la serie de Taylor de órdenes cero, primero y segundo. 4.1 LA SERIE DE TAYLOR 81
  • 106. 82 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR donde el término residual es R f h 4 5 5 5 0 = = ( ) ( ) ! ξ ya que la quinta derivada de un polinomio de cuarto orden es cero. Por consiguiente, la expansión de la serie de Taylor hasta la cuarta derivada da una estimación exacta para xi+l = 1: f(1) = 1.2 – 0.25(1) – 0.5(1)2 – 0.15(1)3 – 0.1(1)4 = 0.2 En general, la expansión de la serie de Taylor de n-ésimo orden será exacta para un polinomio de n-ésimo orden. Para otras funciones continuas y diferenciables, como las exponenciales y las senoidales, no se obtiene una estimación exacta con un número fi- nito de términos. Cada uno de los términos adicionales contribuye, aunque sea con poco, al mejoramiento de la aproximación. Esto se muestra en el ejemplo 4.2, donde se obten- dría un resultado exacto únicamente si se le agrega un número infinito de términos. Aunque lo anterior es cierto, el valor práctico de las expansiones de la serie de Taylor estriba, en la mayoría de los casos, en el uso de pocos términos que darán una aproxi- mación lo suficientemente cercana a la solución verdadera para propósitos prácticos. La determinación de cuántos términos se requieren para obtener una “aproximación razo- nable” se basa en el término residual de la expansión. Recuerde que el término residual es de la forma general de la ecuación (4.8). Dicha fórmula tiene dos grandes inconve- nientes. Primero, x no se conoce con exactitud, sino que sólo se sabe que está entre xi y xi+1. Segundo, para la evaluación de la ecuación (4.8) se requiere determinar la (n + 1)ésima derivada de f(x). Para hacerlo, se necesita conocer f(x). Pero si ya se conoce f(x), entonces no hay razón para realizar la expansión de la serie de Taylor. A pesar de este dilema, la ecuación (4.8) aún resulta útil para la evaluación de erro- res de truncamiento. Esto se debe a que se tiene control sobre el término h de la ecuación. En otras palabras, es posible decidir qué tan lejos de x se desea evaluar f(x) y controlar el número de términos que queremos tener en la expansión. Por esto, la ecuación (4.8) se expresa usualmente como Rn = O(hn+1 ) donde la nomenclatura O(hn+1 ) significa que el error de truncamiento es de orden hn+1 . Es decir, el error es proporcional al incremento h elevado a la (n + 1)ésima potencia. Aunque esta aproximación no implica nada en relación con la magnitud de las derivadas que multiplican hn+1 , es extremadamente útil para evaluar el error comparativo de los métodos numéricos que se basan en expansiones de la serie de Taylor. Por ejemplo, si el error es O(h) y el incremento se reduce a la mitad, entonces el error también se reduci- rá a la mitad. Por otro lado, si el error es O(h2 ) y el incremento se reduce a la mitad, entonces el error se reducirá a una cuarta parte. En general, se considera que el error de truncamiento disminuye agregando térmi- nos a la serie de Taylor. En muchos casos, si h es suficientemente pequeño, entonces el término de primer orden y otros términos de orden inferior causan un porcentaje des- proporcionadamente alto del error. Esta propiedad se ilustra en el ejemplo siguiente.
  • 107. EJEMPLO 4.2 Uso de la expansión de la serie de Taylor para aproximar una función con un número infinito de derivadas Planteamiento del problema. Utilice expansiones de la serie de Taylor con n desde 0 hasta 6 para aproximar f(x) = cos x en xi+1 = p/3 con base en el valor de f(x) y sus derivadas en xi = p/4. Observe que esto significa que h = p/3 – p/4 = p/12. Solución. Como en el ejemplo 4.1, el conocimiento de la función original implica que se puede determinar el valor exacto de f(p/3) = 0.5. La aproximación de orden cero es [ecuación (4.3)] f π π 3 0 707106781 ⎛ ⎝ ⎞ ⎠ ≅ ⎛ ⎝ ⎞ ⎠ = cos 4 . que representa un error relativo porcentual de εt = = 0 5 0 707106781 0 5 100 41 4 . – . . % – . % Para la aproximación de primer orden, se agrega el término de la primera derivada donde f′(x) = –sen x: f π π π π 3 12 0 521986659 ⎛ ⎝ ⎞ ⎠ ≅ ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ = cos 4 sen 4 – . que tiene et = –4.40 por ciento. Para la aproximación de segundo orden, se agrega el término de la segunda deriva- da donde f′′(x) = –cos x: f π π π π π π 3 4 12 12 0 497754491 2 ⎛ ⎝ ⎞ ⎠ ≅ ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ = cos 4 sen cos ( / 4) 2 – – . con et = 0.449 por ciento. Entonces, al agregar más términos a la serie se obtiene una mejor aproximación. Este proceso continúa y sus resultados se enlistan, como en la tabla 4.1. Observe que las derivadas nunca se aproximan a cero, como es el caso con el polinomio del ejemplo 4.1. Por lo tanto, cada término que se le agrega a la serie genera una mejor aproximación. TABLA 4.1 Aproximaciones mediante la serie de Taylor de f(x) = cos x en xi+1 = p/3 usando como punto base p/4. Los valores se presentan para varios órdenes (n) de aproximación. Orden n f (n) (x) f(π/3) εt 0 cos x 0.707106781 –41.4 1 –sen x 0.521986659 –4.4 2 –cos x 0.497754491 0.449 3 sen x 0.499869147 2.62 × 10–2 4 cos x 0.500007551 –1.51 × 10–3 5 –sen x 0.500000304 –6.08 × 10–5 6 –cos x 0.499999988 2.40 × 10–6 4.1 LA SERIE DE TAYLOR 83
  • 108. 84 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR Sin embargo, observe también que la mejor aproximación se consigue con los primeros términos. En este caso, al agregar el tercer término, el error se redujo al 2.62 × 10–2 %, lo cual significa que se alcanzó el 99.9738% del valor exacto. Por consiguiente, aunque se le agreguen más términos a la serie el error decrece, aunque la mejoría será mínima. 4.1.1 El residuo en la expansión de la serie de Taylor Antes de mostrar cómo se utiliza la serie de Taylor en la estimación de errores numéri- cos, se debe explicar por qué se incluye el argumento x en la ecuación (4.8). Un desarro- llo matemático se presenta en el cuadro 4.1. Ahora se expondrá una interpretación más visual. Después se extiende este caso específico a una formulación más general. Suponga que se trunca la expansión de la serie de Taylor [ecuación (4.7)] después del término de orden cero para obtener: f(xi+1) ⬵ f(xi) En la figura 4.2 se muestra una representación gráfica de esta predicción de orden cero. El residuo o error de esta predicción, que se indica también en la figura, consiste de la serie infinita de términos que fueron truncados: R f x h f x h f x h i i i 0 2 3 3 2 3 = ′ + ′′ + + ( ) ( ) ! ( ) ! ( ) Obviamente no resulta conveniente manipular el residuo en este formato de serie infini- ta. Se obtiene una simplificación truncando el residuo mismo de la siguiente manera R0 ⬵ f′(xi)h (4.9) FIGURA 4.2 Representación gráfica de una predicción de orden cero con la serie de Taylor y del residuo. Predicción de orden cero Predicción exacta f (x) xi xi + 1 x h f(xi) R0
  • 109. Aunque como se mencionó en la sección previa, por lo común las derivadas de orden inferior cuentan mucho más en el residuo que los términos de las derivadas de or- den superior; este resultado todavía es inexacto, ya que se han despreciado los términos de segundo orden y de órdenes superiores. Esta “inexactitud” se denota mediante el símbolo de aproximación a la igualdad (⬵) empleado en la ecuación (4.9). Una simplificación alternativa que transforma la aproximación en una equivalencia está basada en un esquema gráfico. Como se muestra en la figura 4.3 el teorema del valor medio para la derivada establece que si una función f(x) y su primera derivada son continuas en el intervalo de xi a xi+1, entonces existe al menos un punto en la función que tiene una pendiente, denotada por f′(x), que es paralela a la línea que une f(xi) y f(xi+1). El parámetro x marca el valor x donde se presenta la pendiente (figura 4.3). Una ilustración física de este teorema es la siguiente: si usted viaja entre dos puntos a una velocidad promedio, habrá al menos un momento durante el curso del viaje en que usted se mueve a esa velocidad promedio. Al utilizar este teorema resulta fácil darse cuenta, como se muestra en la figura (4.3), de que la pendiente f′(x) es igual al cociente de la elevación R0 entre el recorrido h, o ′ = f R h ( ) ξ 0 que se puede reordenar para obtener R0 = f′(x)h (4.10) Por lo tanto, se ha obtenido la versión de orden cero de la ecuación (4.8). Las versiones de orden superior son tan sólo una extensión lógica del razonamiento usado para encon- trar la ecuación (4.10). La versión de primer orden es R f h 1 2 2 = ′′( ) ! ξ (4.11) FIGURA 4.3 Representación gráfica del teorema del valor medio para la derivada. f(x) xi xi + 1 x h R0 Pendiente = f⬘() Pendiente = R0 h 4.1 LA SERIE DE TAYLOR 85
  • 110. 86 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR En este caso, el valor de x será el valor de x que corresponde a la derivada de segundo orden que hace exacta a la ecuación (4.11). Es posible obtener versiones similares de orden superior a partir de la ecuación (4.8). 4.1.2 Uso de la serie de Taylor para estimar los errores de truncamiento Aunque la serie de Taylor será muy útil en la estimación de los errores de truncamiento a lo largo de este libro, quizá no resulte claro cómo la expansión se aplica a los métodos numéricos. De hecho, esto ya se hizo en el ejemplo de la caída del paracaidista. Recuer- de que el objetivo de los ejemplos 1.1 y 1.2 fue predecir la velocidad como una función del tiempo. Es decir, se deseaba determinar v(t). Como se especificó en la ecuación (4.5), v(t) se puede expandir en una serie de Taylor del siguiente modo: v v v v ( ) ( ) ( )( – ) ( ) ! ( – ) t t t t t t t t R i i i i i i i i n + + + = + ′ + ′′ + + 1 1 1 2 2 (4.12) Ahora, truncando la serie después del término con la primera derivada, se obtiene: v(ti+l) = v(ti) + v′(ti)(ti+l – ti) + R1 (4.13) En la ecuación (4.13) se despeja obteniendo ′ = + + + v v v ( ) ( ) – ( ) – – – t t t t t R t t i i i i i i 1 1 1 1 1 Aproximación de primer orden Error de truncamiento (4.14) La primera parte de la ecuación (4.14) es exactamente la misma relación que se usó para aproximar la derivada del ejemplo 1.2 [ecuación (1.11)]. Sin embargo, con el método de la serie de Taylor se ha obtenido una estimación del error de truncamiento asociado con esta aproximación de la derivada. Utilizando las ecuaciones (4.6) y (4.14) se tiene R t t t t i i i i 1 1 1 2 + + = ′ – ( ) ! ( – ) v ξ (4.15) o R t t O t t i i i i 1 1 1 + + = – ( – ) (4.16) Por lo tanto, la estimación de la derivada [ecuación (1.11) o la primera parte de la ecua- ción (4.14)] tiene un error de truncamiento de orden ti+1 – ti. En otras palabras, el error en nuestra aproximación de la derivada debería ser proporcional al tamaño del incre- mento. Entonces, si éste se divide a la mitad, se esperaría que el error de la derivada se reduzca a la mitad.
  • 111. EJEMPLO 4.3 El efecto de no linealidad y del tamaño del incremento en la aproximación de la serie de Taylor Planteamiento del problema. En la figura 4.4 se grafica la función f(x) = xm (E4.3.1) para m = 1, 2, 3 y 4 en el rango de x = 1 a 2. Observe que para m = 1 la función es lineal, y conforme m se incrementa, se presenta mayor curvatura o no linealidad dentro de la función. FIGURA 4.4 Gráfica de la función f(x) = xm para m = 1, 2, 3 y 4. Note que la función tiende a ser más no lineal cuando aumenta m. 1 0 5 10 15 2 x f(x) m = 2 3 = m m = 4 1 = m Utilizar la serie de Taylor de primer orden para aproximar la función con diversos valo- res del exponente m y del tamaño de incremento h. 4.1 LA SERIE DE TAYLOR 87
  • 112. 88 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR Solución. La ecuación (E4.3.1) se aproxima por una expansión de la serie de Taylor de primer orden: f(xi+1) = f(xi) + mxi m–1 h (E4.3.2) la cual tiene un residuo de R f x h f x h f x h i i i 1 2 3 3 4 4 2 3 4 = ′′ + + + ( ) ! ( ) ! ( ) ! ( ) ( ) Primero, puede examinarse cómo se comporta la aproximación conforme m aumenta; es decir, conforme la función se vuelve más no lineal. Para m = 1, el valor verdadero de la función en x = 2 es 2. La serie de Taylor nos da f(2) = 1 + 1(1) = 2 y R1 = 0 El residuo es cero porque la segunda derivada y las derivadas de orden superior de una función lineal son cero. Entonces, como es de esperarse, la expansión de la serie de Taylor de primer orden es perfecta cuando la función de que se trata es lineal. Para m = 2, el valor real es f(2) = 22 = 4. La aproximación de la serie de Taylor de primer orden es f(2) = 1 + 2(1) = 3 y R1 2 2 2 1 0 0 1 = + + + = ( ) Debido a que la función es una parábola, la aproximación mediante una línea recta da por resultado una discrepancia. Observe que el residuo se determina en forma exacta. Para m = 3, el valor real es f(2) = 23 = 8. La aproximación con la serie de Taylor es f(2) = 1 + 3(1)2 (1) = 4 y R1 6 2 2 6 6 3 1 1 0 0 4 = + + + + = ( ) ( ) Otra vez, hay una discrepancia que se puede determinar exactamente a partir de la serie de Taylor. Para m = 4, el valor real es f(2) = 24 = 16. La aproximación con la serie de Taylor es f(2) = 1 + 4(1)3 (1) = 5 y R1 12 2 2 24 6 3 24 24 4 1 1 1 0 0 11 = + + + + + = ( ) ( ) ( )
  • 113. Considerando estos cuatro casos, se observa que R1 se incrementa conforme la función empieza a ser cada vez más no lineal. Además, R1 da cuenta exacta de la discre- pancia, porque la ecuación (E4.3.1) es un simple monomio con un número finito de derivadas. Esto permite una completa determinación del residuo de la serie de Taylor. Ahora examinemos la ecuación (E4.3.2) para el caso en que m = 4 y observe cómo R1 cambia cuando el tamaño del incremento h varía. Para m = 4, la ecuación (E4.3.2) es f x h f x x h i ( ) ( ) + = + 4 3 Si x = 1, f(1) = 1 y esta ecuación se expresa como f(1 + h) = 1 + 4h con un residuo de R1 = 6h2 + 4h3 + h4 Lo cual nos lleva a la conclusión de que la discrepancia disminuirá conforme h se re- duzca. Entonces, para valores suficientemente pequeños de h, el error debería ser pro- porcional a h2 . Es decir, conforme h se reduce a la mitad, el error se reduce a la cuarta parte. Este comportamiento se confirma en la tabla 4.2 y en la figura 4.5. 兩Pendiente兩 = 2 0.1 1 0.001 0.01 0.1 1 10 0.01 h R1 FIGURA 4.5 Gráfica en escala log-log del residuo R1 para la aproximación de la función f(x) = x4 me- diante la serie de Taylor de primer orden contra el tamaño del incremento h. La línea con la pendiente 2 también se muestra para indicar que conforme h disminuye, el error se vuelve proporcional a h2 . 4.1 LA SERIE DE TAYLOR 89
  • 114. 90 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR TABLA 4.2 Comparación del valor exacto de la función f(x) = x4 con la aproximación de la serie de Taylor de primer orden. Ambos, la función y la aproximación, se evalúan en x + h, donde x = 1. Aproximación h Verdadero de primer orden R1 1 16 5 11 0.5 5.0625 3 2.0625 0.25 2.441406 2 0.441406 0.125 1.601807 1.5 0.101807 0.0625 1.274429 1.25 0.024429 0.03125 1.130982 1.125 0.005982 0.015625 1.063980 1.0625 0.001480 De esta forma, se concluye que el error de la aproximación por serie de Taylor de primer orden disminuye conforme m se aproxima a 1 y conforme h disminuye. Intui- tivamente, esto significa que la serie de Taylor adquiere más exactitud cuando la función que se está aproximando se vuelve más semejante a una línea recta sobre el intervalo de interés. Esto se logra reduciendo el tamaño del intervalo o “enderezando” la función por reducción de m. Es obvio que dicha opción usualmente no está disponible en el mundo real porque las funciones para analizar son, en forma general, dictadas en el contexto del problema físico. En consecuencia, no se tiene control sobre la falta de linealidad y el único recurso consiste en reducir el tamaño del incremento o incluir términos adicio- nales de la expansión de la serie de Taylor. 4.1.3 Diferenciación numérica A la ecuación (4.14) se le conoce con un nombre especial en el análisis numérico: dife- rencia finita dividida y generalmente se representa como ′ = + + + + f x f x f x x x O x x i i i i i i i ( ) ( ) – ( ) – ( – ) 1 1 1 (4.17) o ′ = + f x f h O h i i ( ) ( ) ∆ (4.18) donde a ∆fi se le conoce como la primera diferencia hacia adelante y a h se le llama el tamaño del paso o incremento; esto es, la longitud del intervalo sobre el cual se realiza la aproximación. Se le llama diferencia “hacia delante”, porque usa los datos en i e i + 1 para estimar la derivada (figura 4.6a). Al término completo ∆f/h se le conoce como primer diferencia finita dividida. Esta diferencia dividida hacia adelante es sólo una de tantas que pueden desarro- llarse a partir de la serie de Taylor para la aproximación de derivadas numéricas. Por ejemplo, las aproximaciones de la primera derivada utilizando diferencias hacia atrás o diferencias centradas se pueden desarrollar de una manera similar a la de la ecuación
  • 115. (4.14). Las primeras usan valores en xi–1 y xi (figura 4.6b); mientras que las segundas utilizan valores igualmente espaciados alrededor del punto donde la derivada está esti- mada (figura 4.6c). Es posible desarrollar aproximaciones más exactas de la primera derivada incluyendo términos de orden más alto de la serie de Taylor. Finalmente, todas las versiones anteriores se pueden desarrollar para derivadas de segundo orden, de tercer orden y de órdenes superiores. En las siguientes secciones se dan resúmenes breves que ilustran cómo se obtienen algunos de estos casos. Aproximación a la primera derivada con diferencia hacia atrás. La serie de Tay- lor se expande hacia atrás para calcular un valor anterior sobre la base del valor actual, f x f x f x h f x h i i i i ( ) ( ) – ( ) ( ) ! – –1 2 2 = ′ + ′′ (4.19) Truncando la ecuación después de la primera derivada y reordenando los términos se obtiene ′ ≅ = ∇ f x f x f x h f h i i i ( ) ( ) – ( ) –1 1 (4.20) donde el error es O(h), y a ∇fi se le conoce como primera diferencia dividida hacia atrás. Véase la figura 4.6b para una representación gráfica. Aproximación a la primera derivada con diferencias centradas. Una tercera forma de aproximar la primera derivada consiste en restar la ecuación (4.19) de la ex- pansión de la serie de Taylor hacia adelante: f x f x f x h f x h i i i i ( ) ( ) ( ) ( ) ! + = + ′ + ′′ + 1 2 2 (4.21) para obtener f x f x f x h f x h i i i i ( ) ( ) ( ) ( ) ! – ( ) + = + ′ + + 1 1 3 3 2 2 3 de donde se despeja ′ = + f x f x f x h f x h i i i i ( ) ( ) – ( ) – ( ) – – ( ) 1 1 3 2 2 6 o ′ = + f x f x f x h O h i i i ( ) ( ) – ( ) – ( ) – 1 1 2 2 (4.22) La ecuación (4.22) es una representación de las diferencias centradas de la primera derivada. Observe que el error de truncamiento es del orden de h2 en contraste con las aproximaciones hacia adelante y hacia atrás, que fueron del orden de h. Por lo tanto, el análisis de la serie de Taylor ofrece la información práctica de que la diferencia centra- da es una representación más exacta de la derivada (figura 4.6c). Por ejemplo, si dismi- nuimos el tamaño del incremento a la mitad, usando diferencias hacia atrás o hacia adelante, el error de truncamiento se reducirá aproximadamente a la mitad; mientras que con diferencias centradas el error se reduciría a la cuarta parte. 4.1 LA SERIE DE TAYLOR 91
  • 116. 92 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR FIGURA 4.6 Gráfica de aproximaciones con diferencias finitas divididas de la primera derivada: a) hacia delante, b) hacia atrás, c) centrales. 2h xi–1 xi+1 x f(x) Derivada verdadera Aproximación c) h xi–1 xi x f(x) Derivada verdadera A p r o x i m a c i ó n b) h xi xi+1 x f(x) Derivada verdadera Aproximación a)
  • 117. EJEMPLO 4.4 Aproximación de derivadas por diferencias finitas divididas Planteamiento del problema. Use aproximaciones con diferencias finitas hacia ade- lante y hacia atrás de O(h) y una aproximación de diferencia centrada de O(h2 ) para estimar la primera derivada de f(x) = –0.1x4 – 0.15x3 – 0.5x2 – 0.25x + 1.2 en x = 0.5 utilizando un incremento de h = 0.5. Repita el cálculo con h = 0.25. Observe que la derivada se calcula directamente como f′(x) = –0.4x3 – 0.45x2 – 1.0x – 0.25 y se puede utilizar para calcular el valor verdadero como f′(0.5) = –0.9125. Solución. Para h = 0.5, la función se emplea para determinar xi–1 = 0 f(xi–1) = 1.2 xi = 0.5 f(xi) = 0.925 xi+1 = 1.0 f(xi+1) = 0.2 Esos valores sirven para calcular las diferencias divididas hacia adelante [ecuación (4.17)], ′ ≅ = = f t ( . ) . – . . – . . % 0 5 0 2 0 925 0 5 1 45 58 9 ε la diferencia dividida hacia atrás [ecuación (4.20)], ′ ≅ = = f t ( . ) . – . . – . . % 0 5 0 925 1 2 0 5 0 55 39 7 ε y la diferencia dividida centrada [ecuación (4.22)], ′ ≅ = = f t ( . ) . – . . – . . % 0 5 0 2 1 2 1 0 1 0 9 6 ε Para h = 0.25, xi–1 = 0.25 f(xi–1) = 1.10351563 xi = 0.5 f(xi) = 0.925 xi+1 = 0.75 f(xi+1) = 0.63632813 que se utilizan para calcular la diferencia dividida hacia adelante, ′ ≅ = = f t ( . ) . – . . – . . % 0 5 0 63632813 0 925 0 25 1 155 26 5 ε la diferencia dividida hacia atrás, ′ ≅ = = f t ( . ) . – . . – . . % 0 5 0 925 1 10351563 0 25 0 714 21 7 ε y la diferencia dividida centrada, ′ ≅ = = f t ( . ) . – . . – . . % 0 5 0 63632813 1 10351563 0 5 0 934 2 4 ε 4.1 LA SERIE DE TAYLOR 93
  • 118. 94 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR Para ambos tamaños de paso, la aproximación en diferencias centrales es más exac- ta que las diferencias hacia adelante y hacia atrás. También, como se pronosticó con el análisis de la serie de Taylor, dividiendo a la mitad el incremento, se tiene aproximada- mente la mitad del error en las diferencias hacia atrás y hacia adelante y una cuarta parte de error en la diferencia centrada. Aproximaciones por diferencias finitas para derivadas de orden superior. Ade- más de las primeras derivadas, la expansión en serie de Taylor sirve para obtener esti- maciones numéricas de las derivadas de orden superior. Para esto, se escribe la expansión en serie de Taylor hacia adelante para f(xi+2) en términos de f(xi): f x f x f x h f x h i i i i ( ) ( ) ( )( ) ( ) ! ( ) + = + ′ + ′′ + 2 2 2 2 2 (4.23) La ecuación (4.21) se multiplica por 2 y se resta de la ecuación (4.23) para obtener f(xi+2) – 2 f(xi+1) = –f(xi) + f′′(xi)h2 + … de donde se despeja ′′ = + + + + f x f x f x f x h O h i i i i ( ) ( ) – ( ) ( ) ( ) 2 1 2 2 (4.24) Esta relación se llama la segunda diferencia finita dividida hacia adelante. Manipula- ciones similares se emplean para obtener la versión hacia atrás ′′ = + + f x f x f x f x h O h i i i i ( ) ( ) – ( ) ( ) ( ) – – 2 1 2 2 y la versión centrada ′′ = + + + f x f x f x f x h O h i i i i ( ) ( ) – ( ) ( ) ( ) – 1 1 2 2 2 Como fue el caso con las aproximaciones de la primer derivada, el caso centrado es más exacto. Observe también que la versión centrada puede ser expresada en forma alterna- tiva como ′′ ≅ + f x f x f x h f x f x h h i i i i i ( ) ( ) – ( ) – ( ) – ( ) – 1 1 Así, como la segunda derivada es una derivada de la derivada, la aproximación de la se- gunda diferencia finita dividida es una diferencia de dos primeras diferencias divididas. Se volverá al tema de la diferenciación numérica en el capítulo 23. Aquí hemos presentado este tema porque es un muy buen ejemplo de por qué la serie de Taylor es importante en los métodos numéricos. Además, varias de las fórmulas vistas en esta sección se emplearán antes del capítulo 23.
  • 119. 4.2 PROPAGACIÓN DEL ERROR El propósito de esta sección consiste en estudiar cómo los errores en los números pueden propagarse a través de las funciones matemáticas. Por ejemplo, si se multiplican dos números que tienen errores, nos gustaría estimar el error de este producto. 4.2.1 Funciones de una sola variable Suponga que se tiene la función f(x) que es dependiente de una sola variable independien- te x. Considere que x ~ es una aproximación de x. Por lo tanto, se desearía evaluar el efec- to de la discrepancia entre x y x ~ en el valor de la función. Esto es, se desearía estimar ∆f(x ~) = |f(x) – f(x ~)| El problema para evaluar ∆f(x ~) es que se desconoce f(x) porque se desconoce x. Se su- pera esta dificultad si x ~ está cercana a x y f(x ~) es continua y diferenciable. Si se satisfa- cen estas condiciones se utiliza una serie de Taylor para calcular f(x) cerca de f(x ~), f x f x f x x x f x x x ( ) ( ˜) ( ˜)( – ˜) ( ˜) ( – ˜) = + ′ + ′′ + 2 2 Quitando el segundo término, los de orden superior, y reordenando, se obtiene f x f x f x x x ( ) – ( ˜) ( ˜)( – ˜) ≅ ′ Error verdadero 兩f⬘(x)兩⌬x Error estimado x x x f(x) ⌬x FIGURA 4.7 Representación gráfica de la propagación del error de primer orden. 4.2 PROPAGACIÓN DEL ERROR 95
  • 120. 96 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR o ∆f x f x x x ( ˜) ( ˜)( – ˜) = ′ (4.25) donde ∆f(x ~) = |f(x) – f(x ~)| representa una estimación del error de la función y ∆x ~ = |x – x ~| representa una estimación del error de x. La ecuación (4.25) proporciona la capacidad de aproximar el error en f(x) dando la derivada de una función y una estimación del error en la variable independiente. La figura 4.7 es una gráfica que representa esta operación. EJEMPLO 4.5 Propagación del error en una función de una variable Planteamiento del problema. Dado un valor de x ~ = 2.5 con un error ∆x ~ = 0.01, esti- me el error resultante en la función f(x) = x3 . Solución. Con la ecuación (4.25), ∆f(x ~) ⬵ 3(2.5)2 (0.01) = 0.1875 Ya que f(2.5) = 15.625, se pronostica que f(2.5) = 15.625 ± 0.1875 o que el valor verdadero se encuentra entre 15.4375 y 15.8125. De hecho, si x fuera real- mente 2.49, la función se evaluaría como 15.4382, y si x fuera 2.51, el valor de la función sería 15.8132. Para este caso, el análisis del error de primer orden proporciona una esti- mación adecuada del error verdadero. 4.2.2 Funciones de más de una variable El enfoque anterior puede generalizarse a funciones que sean dependientes de más de una variable independiente, lo cual se realiza con una versión para varias variables de la serie de Taylor. Por ejemplo, si se tiene una función de dos variables independientes, u y v, la serie de Taylor se escribe como f u f u f u u u f f u u u f u u u f i i i i i i i i i i i i i i i i ( , ) ( , ) ( – ) ( – ) ! ( – ) ( – )( – ) ( – ) + + + + + + + + = + ∂ ∂ + ∂ ∂ + ∂ ∂ + ∂ ∂ ∂ ⎡ ⎣ ⎢ + ∂ ∂ ⎤ ⎦ 1 1 1 1 2 2 1 2 2 1 1 2 2 1 2 1 2 2 v v v v v v v v v v v ⎥ ⎥ + (4.26) donde todas las derivadas parciales se evalúan en el punto base i. Si no se consideran todos los términos de segundo orden y de orden superior, de la ecuación (4.26) puede despejarse ∆ ∆ ∆ f u f u u f (˜,˜) ˜ ˜ v v v = ∂ ∂ + ∂ ∂ donde ∆u ~ y ∆v ~ son estimaciones del error en u y v, respectivamente.
  • 121. Para n variables independientes x ~ 1, x ~ 2,…, x ~ n teniendo errores ∆x ~ 1, ∆x ~ 2,…, ∆xn se satisface la siguiente relación general: ∆ ∆ ∆ ∆ f x x x f x x f x x f x x n n n ( ˜ , ˜ , , ˜ ) ˜ ˜ ˜ 1 2 1 1 2 2 … ≅ ∂ ∂ + ∂ ∂ + + ∂ ∂ (4.27) EJEMPLO 4.6 Propagación del error en una función con varias variables Planteamiento del problema. La deflexión y de la punta de un mástil en un bote de vela es y FL EI = 4 8 donde F = una carga lateral uniforme (lb/ft), L = altura (ft), E = el módulo de elasticidad (lb/ft2 ), e I = el momento de inercia (ft4 ). Estime el error en y, dados los siguientes datos: F ~ = 50 lb/ft ∆F ~ = 2 lb/ft L ~ = 30 ft ∆L ~ = 0.1 ft E ~ = 1.5 × 108 lb/ft2 ∆E ~ = 0.01 × 108 lb/ft2 I ~ = 0.06 ft4 ∆I ~ = 0.0006 ft4 Solución. Empleando la ecuación (4.27) se tiene ∆ ∆ ∆ ∆ ∆ y F L E I y F F y L L y E E y I I ( ˜, ˜, ˜, ˜) ˜ ˜ ˜ ˜ = ∂ ∂ + ∂ ∂ + ∂ ∂ + ∂ ∂ o ∆ ∆ ∆ ∆ ∆ y F L E I L EI F FL EI L FL E I E FL EI I ( ˜, ˜, ˜, ˜) ˜ ˜˜ ˜ ˜ ˜ ˜˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜ ˜˜ ˜ ≅ + + + 4 3 4 2 4 2 8 2 8 8 Al sustituir los valores apropiados se tiene ∆y = 0.0225 + 0.0075 + 0.00375 + 0.005625 = 0.039375 Por lo tanto, y = 0.5625 ± 0.039375. En otras palabras y está entre 0.523125 y 0.601875 ft. La validez de estas estimaciones se verifica sustituyendo los valores extremos para las variables dentro de la ecuación que genera un mínimo exacto de ymín = × = 48 29 9 8 1 51 10 0 0606 0 52407 4 8 ( . ) ( . ) . . y ymáx = × = 52 30 1 8 1 49 10 0 0594 0 60285 4 8 ( . ) ( . ) . . Así, las estimaciones de primer orden están razonablemente cercanas de los valores exactos. 4.2 PROPAGACIÓN DEL ERROR 97
  • 122. 98 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR La ecuación (4.27) se utiliza para definir relaciones en la propagación de errores con las operaciones matemáticas comunes. Los resultados se resumen en la tabla 4.3. Se deja el desarrollo de estas fórmulas como un ejercicio de tarea. 4.2.3 Estabilidad y condición La condición de un problema matemático relaciona su sensibilidad con los cambios en los datos de entrada. Se dice que un cálculo es numéricamente inestable si la inexactitud de los valores de entrada se aumenta considerablemente por el método numérico. Estas ideas pueden estudiarse usando una serie de Taylor de primer orden f(x) = f(x ~) + f′(x ~)(x – x ~) Esta relación se emplea para estimar el error relativo de f(x) como en f x f x f x f x x x f x ( ) – ( ˜) ( ) ( ˜)( – ˜) ( ˜) ≅ ′ El error relativo de x está dado por x x x – ˜ ˜ TABLA 4.3 El error estimado relacionado con las operaciones matemáticas comunes usando números inexactos u ~ y v ~. Operación Error estimado Adición ∆(u ~ + v ~) ∆u ~ + ∆v ~ Sustracción ∆(u ~ – v ~) ∆u ~ + ∆v ~ Multiplicación ∆(u ~ × v ~) |u ~|∆v ~ + |v~|∆u ~ División ∆ ˜ ˜ u v ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ˜ ˜ ˜ ˜ ˜ u v v u v ∆ ∆ + 2 Un número de condición puede definirse como la razón entre estos errores relativos Número de condición = ′ ˜ ( ˜) ( ˜) x f x f x (4.28) El número de condición proporciona una medida de qué tanto una inexactitud de x se aumenta por f(x). Un valor de 1 nos indica que el error relativo de la función es idéntico al error relativo de x. Un valor mayor que 1 nos señala que el error relativo se amplifica; mientras que para un valor menor que 1 nos dice que se atenúa. En funciones con valo- res muy grandes se dice que están mal condicionadas. Cualquier combinación de los factores en la ecuación (4.28), que aumente el valor numérico del número de condición, tendería a aumentar inexactitudes al calcular f(x).
  • 123. EJEMPLO 4.7 Número de condición Planteamiento del problema. Calcule e interprete el número de condición para f x x x ( ) ˜ . = + ⎛ ⎝ ⎞ ⎠ tan para = 2 π π 0 1 2 f x x x ( ) ˜ . = + ⎛ ⎝ ⎞ ⎠ tan para = 2 π π 0 01 2 Solución. El número de condición se calcula como Número de condición = tan ˜( / cos ) ˜ x x x 1 2 Para x ~ = p/2 + 0.1(p/2) Número de condición = 1 7279 40 86 6 314 11 2 . ( . ) – . – . = Así, la función está mal condicionada. Para x ~ = p/2 + 0.01 (p/2), esta situación es aún peor: Número de condición = 1 5865 4 053 63 66 101 . ( ) – . – = En este caso, la causa principal del mal condicionamiento parece ser la derivada. Esto tiene sentido, ya que en la vecindad de p/2, la tangente tiende tanto a infinito positivo como a infinito negativo. 4.3 ERROR NUMÉRICO TOTAL El error numérico total es la suma de los errores de truncamiento y de redondeo. En general, la única forma para minimizar los errores de redondeo consiste en incrementar el número de cifras significativas en la computadora. Adicionalmente, hemos notado que el error de redondeo aumentará debido a la cancelación por resta o debido a que en el análisis aumente el número de cálculos. En contraste, el ejemplo 4.4 demuestra que el error de truncamiento se reduce disminuyendo el tamaño del incremento. Como una disminución al tamaño del incremento puede llevar a una cancelación por resta o a un incremento de los cálculos, los errores de truncamiento disminuyen conforme los errores de redondeo se incrementan. En consecuencia, se debe afrontar el siguiente dilema: la estrategia para disminuir un componente del error total conduce a un incremento en el otro componente. En un cálculo, se podría disminuir el tamaño del incremento para minimizar los errores de truncamiento únicamente para descubrir que el error de redon- deo empieza a dominar la solución y ¡el error total crece! Así, el remedio empieza a ser un problema (figura 4.8). Es un reto determinar el tamaño del incremento apropiado para 4.3 ERROR NUMÉRICO TOTAL 99
  • 124. 100 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR un cálculo en particular. Se deberá seleccionar un tamaño de incremento grande con la finalidad de disminuir la cantidad de cálculos y errores de redondeo para no tener como consecuencia grandes errores de truncamiento. Si el error total es como se muestra en la figura 4.8, el reto es identificar un punto llamado de regreso disminuido donde los erro- res de redondeo no muestran los beneficios de la reducción del tamaño del incremento. En casos reales, sin embargo, tales situaciones son relativamente poco comunes, porque muchas computadoras utilizan suficientes cifras significativas para que los erro- res de redondeo no predominen. Aunque, algunas veces estos errores ocurren y surge una clase de “principio numérico de incertidumbre” que da un límite absoluto sobre la exactitud que puede obtenerse usando ciertos métodos numéricos computarizados. 4.3.1 Control de errores numéricos En la mayoría de los casos prácticos, no se conoce el error exacto asociado con el mé- todo numérico. Con excepción, claro está, de cuando obtenemos la solución exacta que vuelve innecesaria la aproximación numérica. Por lo tanto, en la mayoría de las aplica- ciones en ingeniería debe tenerse algún estimado del error en los cálculos. No hay una forma sistemática ni general para evaluar el error numérico en todos los problemas. En muchos casos, la estimación del error se basa en la experiencia y en el buen juicio del ingeniero. Aunque el análisis de error es hasta cierto punto un arte, se sugieren varios linea- mientos prácticos de cálculo: lo primero, y principal, implica tratar de evitar la resta de dos números casi iguales. Cuando esto ocurre, casi siempre se pierden cifras significa- tivas. Algunas veces puede reordenarse o reformularse el problema para evitar la can- celación por resta. Y si esto no es posible, se utiliza la aritmética de precisión extendida. FIGURA 4.8 Representación gráfica de las relaciones entre el error de redondeo y el error de truncamien- to que juegan un papel importante en el curso de métodos numéricos. Se presenta el punto de regreso disminuido, donde el error de redondeo no muestra los beneficios de la reduc- ción del tamaño del incremento. Error total Error de redondeo Error de truncamiento Log tamaño de incremento Log error Punto de rendimientos decrecientes
  • 125. Además, cuando se suman o se restan números, es mejor ordenarlos y trabajar primero con los números más pequeños, lo cual evita perder cifras significativas. Más allá de estas sugerencias de cálculo, se puede intentar predecir el error numé- rico total usando formulaciones teóricas. La serie de Taylor es la primera herramienta de análisis tanto para el error de truncamiento como para el error de redondeo. Varios ejemplos se han presentado en este capítulo. La predicción del error numérico total es muy complicada para, incluso, un problema de tamaño moderado, y tiende a resultar pesimista. Por lo tanto, únicamente se utiliza para tareas a pequeña escala. La tendencia es avanzar con los cálculos numéricos e intentar estimar la exactitud de sus resultados. Esto algunas veces se puede hacer observando si los resultados satis- facen alguna condición o ecuación de prueba. O se pueden sustituir los resultados en la ecuación original para verificar si se satisface dicha ecuación. Por último, usted debería estar preparado para realizar experimentos numéricos que aumenten su conocimiento de los errores de cálculo y de posibles problemas mal condi- cionados. Tales experimentos pueden consistir en repetir los cálculos con diferentes ta- maños de incremento o método, y comparar los resultados. Llega a emplearse un análisis sensitivo para observar cómo la solución cambia cuando se modifican los parámetros del modelo o los valores de entrada. Es factible probar distintos algoritmos numéricos que tengan diferente fundamento matemático, que se basan en distintas estrategias de cálcu- lo o que tengan diferentes características de convergencia y de estabilidad. Cuando los resultados del cálculo numérico son extremadamente críticos y pueden implicar la pérdida de vidas humanas o tener severas repercusiones económicas, es apropiado tomar precauciones especiales. Esto implicaría el uso de dos o más técnicas independientes para resolver el mismo problema y luego comparar los resultados. El papel de los errores será un tópico de preocupación y análisis en todas las sec- ciones de este libro. Se dejan estas investigaciones en secciones específicas. 4.4 EQUIVOCACIONES, ERRORES DE FORMULACIÓN E INCERTIDUMBRE EN LOS DATOS Aunque las siguientes fuentes de error no están directamente relacionadas con la mayor parte de los métodos numéricos de este libro, en algunas ocasiones llegan a tener un gran impacto en el éxito al realizar un modelado. Por lo tanto, se deben tener siempre en cuenta cuando se apliquen técnicas numéricas en el contexto de los problemas del mundo real. 4.4.1 Errores por equivocación A todos nos son familiares los errores por negligencia o por equivocación. En los pri- meros años de las computadoras, los resultados numéricos erróneos algunas veces se atribuían a las fallas de la propia computadora. En la actualidad esta fuente de error es muy improbable y la mayor parte de las equivocaciones se atribuyen a fallas humanas. Las equivocaciones llegan a ocurrir a cualquier nivel del proceso de modelación matemática y pueden contribuir con todas las otras componentes del error. Es posible evitarlos únicamente con un sólido conocimiento de los principios fundamentales y mediante el cuidado con el que se enfoque y diseñe la solución del problema. Las equivocaciones por lo general se pasan por alto en el estudio de un método numérico. Esto se debe sin duda al hecho de que los errores son, hasta cierto punto, 4.4 EQUIVOCACIONES, ERRORES DE FORMULACIÓN E INCERTIDUMBRE 101
  • 126. 102 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR inevitables. No obstante, recuerde que hay varias formas con las cuales se puede mini- mizar su aparición. En particular, los buenos hábitos de programación que se esbozaron en el capítulo 2 son muy útiles para disminuir las equivocaciones. Además, hay formas simples de verificar si un método numérico funciona correctamente. A lo largo del texto, se estudian algunas formas de verificar los resultados de un cálculo numérico. 4.4.2 Errores de formulación Los errores de formulación o de modelo pueden atribuirse al sesgo que implica un mode- lo matemático incompleto. Un ejemplo de un error de formulación insignificante es el hecho de que la segunda ley de Newton no toma en cuenta los efectos relativísticos. Esto no desvirtúa la validez de la solución del ejemplo 1.1, ya que estos errores son mínimos en las escalas de tiempo y espacio asociadas con el problema de la caída del paracaidista. Sin embargo, suponga que la resistencia del aire no es linealmente proporcional a la velocidad de caída, como en la ecuación (1.7), sino que está en función del cuadrado de la velocidad. Si éste fuera el caso, las soluciones analíticas y numéricas obtenidas en el primer capítulo serían falsas debido al error en la formulación. En algunas aplicaciones de ingeniería del libro se presentan consideraciones adicionales a los errores de formu- lación. Se debe estar consciente de estos problemas y darse cuenta de que, si se está usan- do un modelo deficiente, ningún método numérico generará los resultados adecuados. 4.4.3 Incertidumbre en los datos Algunas veces se introducen errores en un análisis debido a la incertidumbre en los datos físicos obtenidos, sobre los que se basa el modelo. Por ejemplo, suponga que se desea probar el modelo de la caída del paracaidista, haciendo que un individuo salte repetidas veces, midiendo su velocidad después de un intervalo de tiempo específico. Sin duda, se asociaría cada medición con una incertidumbre, ya que el paracaidista caerá con más rapidez en unos saltos que en otros. Estos errores pueden mostrar inexac- titud e imprecisión. Si los instrumentos constantemente subevalúan o sobrevalúan las mediciones de la velocidad, se estará tratando con un instrumento inexacto o desviado. Por otro lado, si las medidas son aleatoriamente grandes y pequeñas, entonces se trata de una cuestión de precisión. Los errores de medición se pueden cuantificar resumiendo los datos con uno o más estadísticos, que den tanta información como sea posible, respecto a características es- pecíficas de los datos. Tales estadísticos descriptivos a menudo se seleccionan para obtener 1. la posición del centro de la distribución de los datos y 2. el grado de dispersión de los datos. Como tales, estos estadísticos ofrecen una medida de la desviación e im- precisión, respectivamente. En la parte cinco se regresa el tema de caracterización de incertidumbre de datos. Aunque se debe estar consciente de los errores por equivocación, de los errores de formulación y de la incertidumbre en los datos, los métodos numéricos utilizados para construir modelos pueden estudiarse, en la mayoría de los casos, en forma independien- te de estos errores. Por consiguiente, en la mayor parte de este libro se supondrá que no hay errores por equivocaciones, que el modelo es adecuado y que se está trabajando sin errores en las mediciones de los datos. En estas condiciones es posible estudiar los mé- todos numéricos sin complicaciones.
  • 127. 4.1 La serie infinita e x x x x n x n = + + + + + 1 2 3 2 3 ! ! se utiliza para aproximar ex . a) Muestre que la expansión en serie de Maclaurin es un caso especial de la expansión en la serie de Taylor [ecuación (4.7)] con xi = 0 y h = x. b) Use la serie de Taylor para estimar f(x) = e–x en xi+1 = 1 para xi = 0.25. Emplee versiones de cero, primero, segundo y tercer orden, y calcule |εt| para cada caso. 4.2 La expansión en serie de Maclaurin para cos x es cos – ! – ! ! – x x x x x = + + 1 2 4 6 8 2 4 6 8 Iniciando con el primer término cos x = 1, agregue los términos uno a uno para estimar cos (p/4). Después de que agregue cada uno de los términos, calcule los errores relativos porcentuales exactos y aproximados. Use una calculadora para determinar el valor exacto. Agregue términos hasta que el valor absoluto del error aproximado se encuentre dentro de cierto criterio de error, considerando dos cifras significativas. 4.3 Repita los cálculos del problema 4.2, pero ahora usando la expansión de la serie de Maclaurin para sen x, sen x x x x x = + + – ! ! – ! 3 5 7 3 5 7 para evaluar el sen (p/4). 4.4 Emplee la expansión de la serie de Taylor de cero hasta tercer orden para predecir f(2) si f(x) = 25x3 – 6x2 + 7x – 88 usando como punto base x = 1. Calcule el error relativo porcen- tual verdadero et para cada aproximación. 4.5 Use la expansión de la serie de Taylor de cero al cuarto orden para estimar f(3) si f(x) = ln x utilizando x = 1 como punto base. Calcule el error relativo porcentual et para cada aproximación. Analice los resultados. 4.6 Utilice aproximaciones en diferencias de O(h) hacia atrás y hacia adelante y una aproximación de diferencia central de O(h2 ) para estimar la primera derivada de la función mencionada en el problema 4.4. Evalúe la derivada en x = 2 usando un tamaño del incremento 0.2. Compare los resultados con el valor exacto de las derivadas. Interprete los resultados considerando el término residual de la expansión en la serie de Taylor. 4.7 Con la aproximación en diferencias centrales de O(h2 ) esti- me la segunda derivada de la función examinada en el problema 4.4. Realice la evaluación para x = 2 usando un tamaño de incre- mento 0.25 y 0.125. Compare lo estimado con el valor exacto de PROBLEMAS la segunda derivada. Interprete sus resultados considerando el término residual de la expansión en la serie de Taylor. 4.8 Recuerde que la velocidad de caída del paracaidista puede calcularse con [ecuación (1.10)] v( ) ( – ) –( / ) t gm c e c m t = 1 Use un análisis de error de primer orden para estimar el error de v para t = 6, si g = 9.8 y m = 50, pero c = 12.5 ± 2. 4.9 Repita el problema 4.8 con g = 9.8, t = 6, c = 12.5 ± 1.5 y m = 50 ± 2. 4.10 La ley de Stefan-Boltzmann se utiliza para estimar la ve- locidad de cambio de la energía H para una superficie, esto es, H = AeσT4 donde H está en watts, A = área de la superficie (m2 ), e = la emisividad que caracteriza la propiedad de emisión de la super- ficie (adimensional), σ = una constante universal llamada cons- tante de Stefan-Boltzmann (= 5.67 × 10–8 W m–2 K–4 ) y T = temperatura absoluta (K). Determine el error de H para una placa de acero con A = 0.15 m2 , e = 0.90 y T = 650 ± 20. Com- pare los resultados con el error exacto. Repita los cálculos pero con T = 650 ± 40. Interprete los resultados. 4.11 Repita el problema 4.10, pero para una esfera de cobre con radio = 0.15 ± 0.01 m, e = 0.90 ± 0.05 y T = 550 ± 20. 4.12 Evalúe e interprete los números de condición para a) f x x ( ) – = + 1 1 para x = 1.0001 b) f(x) = e–x para x = 9 c) f x x x ( ) – = + 2 1 para x = 300 d) f x e x x ( ) – = 1 para x = 0.001 e) f x x x ( ) = sen 1+ cos para x = 1.0001p 4.13 Empleando las ideas de la sección 4.2, muestre las relacio- nes de la tabla 4.3. 4.14 Muestre que la ecuación (4.4) es exacta para todos los valores de x, si f(x) = ax2 + bx + c. 4.15 La fórmula de Manning para un canal rectangular se escri- be como Q n BH B H S = + 1 2 5 3 2 3 1 2 ( ) ( ) / / / donde Q = flujo (m3 /s), n = coeficiente de rugosidad, B = ancho (m), H = profundidad (m) y S = pendiente. Aplique la fórmula para un arroyo donde se conoce que el ancho = 20 m y la profun- PROBLEMAS 103
  • 128. 104 ERRORES DE TRUNCAMIENTO Y LA SERIE DE TAYLOR didad = 0.3 m. Por desgracia conocemos el coeficiente de rugo- sidad y la pendiente con una precisión de sólo ±10%. Es decir, la rugosidad tiene un valor de 0.03 con un rango de 0.027 a 0.033, y la pendiente es 0.0003 con un rango de 0.00027 a 0.00033. Use un análisis de error de primer orden para determinar la sensibili- dad en la predicción del flujo para cada uno de esos dos factores. ¿Cuál se debería intentar medir para una mejor precisión? 4.16 Si |x| 1, se sabe que 1 1 1 2 3 – x x x x = + + + + Repita el problema 4.2 para esta serie con x = 0.1. 4.17 Un misil sale de la Tierra con una velocidad inicial v0 for- mando con la vertical un ángulo φ0 como se muestra en la figura P4.17. La altitud máxima deseada es aR donde R es el radio de la Tierra. Usando las leyes de la mecánica se demuestra que sen ( ) – φ α α α 0 0 2 1 1 1 = + + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ v v e donde ve es la velocidad de escape del misil. Se quiere disparar el misil y alcanzar la velocidad máxima proyectada con una exactitud de ±1%. Determine el rango de valores de f0 si ve/v0 = 2 y a = 0.2. 4.18 Para calcular las coordenadas espaciales de un planeta te- nemos que resolver la función f(x) = x – 1 – 0.5 sen x Sea a = xi = p/2 en el intervalo [0, p] el punto base. Determine la expansión de la serie de Taylor de orden superior que da un error máximo de 0.015 en el intervalo dado. El error es igual al valor absoluto de la diferencia entre la función dada y la expan- sión de la serie de Taylor especificada. (Sugerencia: Resuelva gráficamente.) 4.19 Considere la función f(x) = x3 – 2x + 4 en el intervalo [–2, 2] con h = 0.25. Use las aproximaciones en diferencias fi- nitas hacia adelante, hacia atrás y centrada para la primera y segunda derivadas, e ilustre gráficamente qué aproximación es más exacta. Grafique las tres aproximaciones a la primera deri- vada por diferencias finitas, junto con los valores exactos, y haga lo mismo con la segunda derivada. R v0 0 Figura P4.17
  • 129. EPÍLOGO: PARTE UNO PT1.4 ALTERNATIVAS Los métodos numéricos son científicos en el sentido de que representan técnicas siste- máticas para resolver problemas matemáticos. Sin embargo, hay cierto grado de arte, juicios subjetivos y conveniencias, relacionadas con su uso efectivo en la ingeniería práctica. Para cada problema, se enfrenta uno con varios métodos numéricos alternativos y con muchos tipos diferentes de computadoras. Así, la elegancia y la eficiencia de las diferentes maneras de abordar los problemas varían de una persona a otra y se correla- cionan con la habilidad de hacer una elección prudente. Por desgracia, como sucede con cualquier proceso intuitivo, los factores que influyen en dicha elección son difíciles de comunicar. Estas habilidades pueden descubrirse y desarrollarse sólo mediante la expe- riencia. Como tales habilidades desempeñan un papel muy importante en el uso efectivo de los métodos, se presenta esta sección como una introducción a algunas de las alter- nativas que se deben considerar cuando se seleccione un método numérico y las herra- mientas para su realización. Se espera que el siguiente análisis influencie su orientación cuando estudie el material subsecuente. También, que usted consulte nuevamente el material cuando enfrente distintas alternativas en el resto del libro. 1. Tipo de problema matemático. Como se definió previamente en la figura PT.1.2, en este libro se analizan varios tipos de problemas matemáticos. a) Raíces de ecuaciones b) Sistemas de ecuaciones algebraicas lineales simultáneas c) Optimización d) Ajuste de curvas e) Integración numérica f) Ecuaciones diferenciales ordinarias g) Ecuaciones diferenciales parciales Probablemente el lector se encontrará con algunos aspectos básicos sobre la aplicación de los métodos numéricos al enfrentarse con problemas específicos en algunas de esas áreas. Los métodos numéricos son necesarios, ya que los problemas planteados no se pueden resolver en su totalidad usando técnicas analíticas. Deberá estar consciente de que en las actividades profesionales se encontrarán problemas en las áreas ya mencio- nadas. Por lo que el estudio de los métodos numéricos y la selección de un equipo de cómputo deben, al menos, considerar esos tipos de problemas básicos. Problemas más avanzados quizá requieran de capacidades en otras áreas como la aproximación funcio- nal, las ecuaciones integrales, etc. Estas áreas requieren de una gran potencia compu- tacional o de métodos avanzados que no se cubren en este texto. Se recomienda consultar algunas referencias tales como Carnahan, Luther y Wilkes (1969); Hamming (1973); Ralston y Rabinowitz (1978), y Burden y Faires (1993) para problemas que van más allá del contenido de este libro. Además, al final de cada parte de este texto se ofrece un resumen y las referencias para los métodos numéricos avanzados con la fina- lidad de encauzar al lector en el estudio de este tipo de métodos numéricos.
  • 130. 2. Tipo, disponibilidad, precisión, costo y velocidad de una computadora. Se puede tener la oportunidad de trabajar con varias herramientas de cómputo, que van des- de una calculadora de bolsillo hasta una supercomputadora. Cualquiera de estas herramientas se puede usar para implementar un método numérico (incluyendo simple papel y lápiz). En general, no se trata de extremar la capacidad, sino más bien evaluar costo, conveniencia, velocidad, seguridad, exactitud y precisión. Aun- que cada una de las herramientas seguirán teniendo utilidad, los grandes avances recientes en el funcionamiento de las computadoras personales han tenido un gran impacto en la profesión del ingeniero. Se espera que esta revolución siga exten- diéndose conforme continúen los avances tecnológicos, ya que las computadoras personales ofrecen una excelente combinación de conveniencia, costo, precisión, velocidad y capacidad de almacenamiento. Más aún, se pueden usar fácilmente en la mayoría de los problemas prácticos de ingeniería. 3. Costo de desarrollo de programas contra costo de software contra costo de tiempo de ejecución. Una vez que los tipos de problemas matemáticos que deberán resol- verse se hayan identificado y el sistema de cómputo se haya seleccionado, se con- siderarán los costos del software y del tiempo de ejecución. El desarrollo de software llega a representar un trabajo adicional en muchos proyectos de ingeniería y, por lo tanto, tener un costo sustancial. A este respecto, es importante que conozca bien los aspectos teóricos y prácticos de los métodos numéricos relevantes. Además, debe familiarizarse con el desarrollo del software profesional. Existe software de bajo costo disponible para implementar métodos numéricos, el cual es fácilmente adap- tado a una amplia variedad de problemas. 4. Características de los métodos numéricos. Si el costo de una computadora y de sus programas es alto, o si la disponibilidad de la computadora es limitada (por ejemplo, en sistemas de tiempo compartido), la manera de escoger cuidadosamente el méto- do numérico ayudará a adaptarse a tal situación. Por otro lado, si el problema aún se encuentra en una etapa experimental, donde el acceso y el costo de una compu- tadora no presenta problemas, entonces es posible seleccionar un método numérico que siempre trabaje, aunque quizá no sea, computacionalmente hablando, el más eficiente. Los métodos numéricos disponibles para resolver un tipo particular de problema implican todos los factores mencionados, además de: a) Número de condiciones iniciales o de puntos de partida.Algunos de los métodos numéricos para encontrar raíces de ecuaciones, o para la solución de ecuaciones diferenciales, requieren que el usuario especifique las condiciones iniciales o puntos de partida. Los métodos simples requieren en general de un valor, mientras que los métodos complicados tal vez requieran más de un valor. Las ventajas de los métodos complicados, que son computacionalmente eficientes, llegan a compensar requerimientos de puntos de partida múltiples. Debe echar mano de su experiencia y buen juicio para estimar las alternativas que tomará en cada problema en particular. b) Velocidad de convergencia. Ciertos métodos numéricos convergen más rápido que otros. No obstante, la convergencia rápida puede requerir de puntos inicia- les más adecuados y de programación más compleja, que un método donde la convergencia es lenta. De nueva cuenta deberá usar su propio criterio y la ex- periencia para seleccionar el método. ¡Lo más rápido no siempre es lo mejor! 106 EPÍLOGO: PARTE UNO
  • 131. c) Estabilidad. Algunos métodos numéricos usados para encontrar raíces de ecuaciones o para resolver sistemas de ecuaciones lineales llegan a diverger en vez de converger a la respuesta correcta. ¿Por qué existe esta posibilidad al enfrentarse con problemas de diseño o de planeación? La respuesta es que tales métodos pueden ser altamente eficientes para determinados problemas; por lo tanto, surgen de nuevo las alternativas. Se debe decidir si las condiciones del problema justifican el empleo de un método que quizá no siempre converge. d) Exactitud y precisión. Algunos de los métodos numéricos son más exactos y precisos que otros. Como ejemplo se tienen las diferentes ecuaciones usadas en la integración numérica. En general, es posible mejorar el funcionamiento de un método de poca exactitud disminuyendo el tamaño del incremento o aumentando el número de aplicaciones en un intervalo dado. ¿Resultará mejor usar un método poco exacto con un tamaño de incremento pequeño o un método de gran exactitud con un tamaño de incremento grande? La pregunta se debe analizar en cada caso específico, tomando en cuenta factores adicionales como el costo y la facilidad de programación.Además, se deben tomar en consideración los errores de redondeo cuando se utilizan métodos de baja exactitud en forma repetida, y cuando la cantidad de cálculos es grande. Aquí, el número de cifras significativas empleadas por la computadora llega a ser el factor decisivo. e) Gama de aplicaciones. Algunos métodos numéricos se aplican sólo a ciertas clases de problemas o a problemas que satisfacen ciertas restricciones mate- máticas. Otros métodos no se ven afectados por estas restricciones. Entonces, deberá evaluar si vale la pena desarrollar programas que emplean técnicas apropiadas únicamente para un número limitado de problemas. El hecho de que tales técnicas sean ampliamente usadas indica que tienen ventajas que a menudo superan a las desventajas. De hecho es necesario evaluar las alternativas. f) Requisitos especiales. Algunas técnicas numéricas tratan de incrementar la exactitud y la velocidad de convergencia usando información especial o adi- cional. Un ejemplo sería el uso de valores estimados o teóricos de errores que permiten mejorar la exactitud. Sin embargo, estas mejorías, en general, no se logran sin algunos inconvenientes, tales como mayores costos computacionales o el incremento en la complejidad del programa. g) Esfuerzo de programación necesario. Los esfuerzos para mejorar la velocidad de convergencia, estabilidad y exactitud pueden ser creativos e ingeniosos. Cuando se realizan mejoras sin aumentar la complejidad de la programación, entonces se considera que estas mejoras son excelentes y quizá encuentren un uso inmediato en la ingeniería. No obstante, si éstas requieren de programas más complejos, se enfrentarían a situaciones alternativas que pueden favorecer o no el nuevo método. Resulta claro que el análisis anterior relacionado con la elección de un mé- todo numérico se reduce sólo a costo y exactitud. Los costos son los del tiempo de cómputo y el desarrollo de programas. La exactitud apropiada es una cuestión de ética y de juicio profesional. 5. Comportamiento matemático de la función, la ecuación o los datos. Al seleccionar un método numérico en particular, un tipo de computadora y un tipo de programas, se debe tomar en cuenta la complejidad de las funciones, las ecuaciones o los datos. PT1.4 ALTERNATIVAS 107
  • 132. Las ecuaciones simples y los datos uniformes se tratan apropiadamente mediante algoritmos numéricos simples y con computadoras de bajo costo. Sucede lo contra- rio con las ecuaciones complicadas y los datos que presentan discontinuidades. 6. Facilidad de aplicación (¿amigable para el usuario?).Algunos métodos numéricos son fáciles de aplicar; otros son difíciles. Esto es una consideración cuando se tenga que elegir un método sobre otro. La misma idea se aplica a las decisiones que tienen que ver con los costos de desarrollar un programa versus el software desarro- llado profesionalmente. Podría requerirse un esfuerzo considerable para convertir un programa difícil en otro que sea amigable para el usuario. En el capítulo 2 se intro- dujeron formas de hacer esto, y se emplean a lo largo del libro. 7. Mantenimiento. Los programas para resolver problemas de ingeniería requieren de mantenimiento, porque durante las aplicaciones ocurren, en forma invariable, difi- cultades. El mantenimiento puede requerir un cambio en el código del programa o la expansión de la documentación. Los programas y los algoritmos numéricos sim- ples son más fáciles de mantener. Los siguientes capítulos muestran el desarrollo de varios tipos de métodos numéricos para una variedad de problemas matemáticos. Se ofrecen, en cada capítulo, varios mé- todos alternativos. Se presentan estos métodos (en vez de un método escogido por los autores), ya que no existe uno que sea “el mejor” de todos. No hay métodos “mejores”, existen alternativas con ventajas y desventajas que se deben tomar en consideración cuando se aplica un método a un problema práctico. En cada parte del libro se presentan las ventajas y desventajas de cada método. Dicha información debe ayudar a seleccionar un procedimiento numérico apropiado para cada problema en un contexto específico. PT1.5 RELACIONES Y FÓRMULAS IMPORTANTES En la tabla PT1.2 se resume información importante que se presentó en la parte uno. La tabla es útil para tener un acceso rápido a las relaciones y fórmulas más importantes. El epílogo de cada parte del libro contiene un resumen como éste. PT1.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES El epílogo de cada parte del libro también incluye una sección diseñada para facilitar y fomentar el estudio de métodos numéricos adicionales. Dicha sección proporciona al- gunas referencias de otros libros sobre el tema, así como de material relacionado con métodos más avanzados.1 Para ampliar los antecedentes mencionados en la parte uno, existen diversos ma- nuales sobre programación. Sería difícil mencionar todos los excelentes libros y manua- les que corresponden a lenguajes y computadoras específicos. Además quizá ya se tenga material sobre estudios previos de la programación. No obstante, si ésta es su primera experiencia con computadoras, Chapra y Canale (1994) ofrecen una introducción gene- ral a BASIC y Fortran. El profesor o sus compañeros de semestre avanzados le darían 1 Aquí, los libros se referencian sólo por autor. Al final del texto se incluye una bibliografía completa. 108 EPÍLOGO: PARTE UNO
  • 133. al usuario recomendaciones acerca de las bibliografías para las máquinas y los lenguajes disponibles en su escuela. Para el análisis de errores, cualquier buen libro a la introducción al cálculo incluirá material complementario relacionado, tal como las series de Taylor. Las obras de Swokowski (1979), Thomas y Finney (1979), y Simmons (1985) ofrecen una teoría comprensible de estos temas. Taylor (1982), además, presenta una excelente introducción al análisis del error. TABLA PT1.2 Resumen de información importante presentada en la parte uno. Definiciones de error Error verdadero Et = valor verdadero – valor aproximado Error relativo porcentual verdadero εt = valor verdadero – valor aproximado valor verdadero 100% Error relativo porcentual aproximado εa = aproximación presente – aproximación anterior aproximación presente 100% Criterio de paro Terminar los cálculos cuando εa εs donde εs es el error relativo porcentual deseado Serie de Taylor Expansión de la serie de Taylor f x f x f x f x f x f x n i i i i i n i n n ( ) = ( )+ ( ) ( ) 2! ( ) 3! ( ) ! +1 2 3 ( ) ′ ′′ + ′′′ + + + h + h h h R donde Residuo R h n = f n n n ( +1) +1 ( ) ( +1)! ξ o Rn = ( ) O hn+1 Diferenciación numérica Primera diferencia finita dividida hacia delante ′ = + + f ( ) ( ) x f x f x h O h i i ( ) – ( ) 1 (Otras diferencias divididas se resumen en los capítulos 4 y 23.) Propagación del error Para n variables independientes x1, x2,…, xn con errores ∆x ~ 1, ∆x ~ 2,… ∆x ~ n, el error en la función f se estima mediante ∆ ∆ ∆ ∆ f = 1 2 2 ∂ ∂ + ∂ ∂ + + ∂ ∂ f x x f x x f x x i n n ˜ ˜ ˜ PT1.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES 109
  • 134. Por último, aunque se espera que este libro sea de su utilidad, siempre es bueno con- sultar otras fuentes cuando se intenta dominar un nuevo tema. Burden y Faires (1993); Ralston y Rabinowitz (1978); Hoffman (1992), y Carnahan, Luther y Wilkes (1969) ofre- cen análisis extensos sobre diversos métodos numéricos, incluyendo algunos métodos avanzados que van más allá del alcance de nuestro libro. Otras obras útiles sobre el tema son Gerald y Wheatley (1989); Rice (1983), y Cheney y Kincaid (1985). Además, Press et al. (1992) incluyen códigos de computadora para implementar una variedad de métodos. 110 EPÍLOGO: PARTE UNO
  • 137. RAÍCES DE ECUACIONES PT2.1 MOTIVACIÓN Desde hace años usted aprendió a usar la fórmula cuadrática: x b b ac a = ± – – 2 4 2 (PT2.1) para resolver f(x) = ax2 + bx + c = 0 (PT2.2) A los valores calculados con la ecuación (PT2.1) se les llama las “raíces” de la ecuación (PT2.2), que representan los valores de x que hacen a la ecuación (PT2.2) igual a cero. Por lo tanto, se define la raíz de una ecuación como el valor de x que hace f(x) = 0. De- bido a esto, algunas veces a las raíces se les conoce como ceros de la ecuación. Aunque la fórmula cuadrática es útil para resolver la ecuación (PT2.2), existen muchas funciones donde las raíces no se pueden determinar tan fácilmente. En estos casos, los métodos numéricos descritos en los capítulos 5, 6 y 7 proporcionan medios eficientes para obtener la respuesta. PT2.1.1 Métodos para la determinación de raíces sin emplear computadoras Antes de la llegada de las computadoras digitales se disponía de una serie de métodos para encontrar las raíces de ecuaciones algebraicas y trascendentes. En algunos casos, las raíces se obtenían con métodos directos, como se hace con la ecuación (PT2.1). Sin embargo existen ecuaciones como ésta que se resuelven directamente y aparecen muchas más en las que no es posible encontrar su solución. Por ejemplo, incluso una función tan simple como f(x) = e–x – x no se puede resolver en forma analítica. En tales casos, la única alternativa es una técnica con solución aproximada. Un método para obtener una solución aproximada consiste en graficar la función y de- terminar dónde cruza el eje de las x. Este punto, que representa el valor de x para el cual f(x) = 0, es la raíz. Las técnicas gráficas se exponen al principio de los capítulos 5 y 6. Aunque los métodos gráficos son útiles en la obtención de estimaciones de las raíces, tienen el inconveniente de que son poco precisos. Un método alternativo es el de prueba y error. Esta “técnica” consiste en elegir un valor de x y evaluar si f(x) es cero. Si no es así (como sucederá en la mayoría de los casos) se hace otra elección y se evalúa nuevamente f(x) para determinar si el nuevo valor ofrece una mejor aproximación de la raíz. El proceso se repite hasta que se obtenga un valor que proporcione una f(x) cercana a cero. Estos métodos fortuitos, evidentemente, son ineficientes e inadecuados para las exigencias de la ingeniería. Las técnicas descritas en la parte dos representan alternati-
  • 138. 114 RAÍCES DE ECUACIONES vas que no sólo aproximan sino que emplean estrategias sistemáticas para dirigirse a la raíz verdadera. Tal como se presenta en las páginas siguientes, la combinación de estos métodos sistemáticos con la computadora hacen que la solución de la mayoría de los problemas de raíces de ecuaciones sea una tarea sencilla y eficiente. PT2.1.2 Raíces de ecuaciones y la práctica en ingeniería Aunque las raíces de ecuaciones aparecen en el contexto de diversos problemas, son frecuentes en el área de diseño en ingeniería. En la tabla PT2.1 se muestra un conjunto de principios fundamentales que se utilizan comúnmente en trabajos de diseño. Como se expuso en el capítulo 1, las ecuaciones matemáticas o modelos provenientes de estos principios se utilizan para predecir los valores de variables dependientes en función de variables independientes y los valores de parámetros. Observe que en cada caso las va- riables dependientes representan el estado o desempeño del sistema; mientras que los parámetros representan sus propiedades o su composición. Un ejemplo de tales modelos es la ecuación obtenida a partir de la segunda ley de Newton, usada en el capítulo 1 para la velocidad del paracaidista: v = gm c e c m t ( ) – –( / ) 1 (PT2.3) TABLA PT2.1 Principios fundamentales usados en los problemas de ingeniería. Principio Variable Variable fundamental dependiente independiente Parámetros Balance de calor Temperatura Tiempo y posición Propiedades térmicas del material y geometría del sistema Balance de masa Concentración Tiempo y posición El comportamiento químico o cantidad de masa del material: coeficientes de transferencia de masa y geometría del sistema Balance de fuerzas Magnitud y dirección Tiempo y posición Resistencia del material, de fuerzas propiedades estructurales y geometría del sistema Balance de energía Cambios en los Tiempo y posición Propiedades térmicas, estados de energía masa del material y cinética y potencial geometría del sistema de un sistema Leyes de Newton Aceleración, velocidad Tiempo y posición Masa del material, del movimiento y posición geometría del sistema y parámetros disipadores, tales como fricción y rozamiento Leyes de Kirchhoff Corriente y voltaje Tiempo Propiedades eléctricas del en circuitos eléctricos sistema, tales como resistencia, capacitancia e inductancia
  • 139. donde la velocidad v = la variable dependiente, el tiempo t = la variable independiente, la constante de gravitación g = una función de fuerza y el coeficiente de arrastre c y la masa m son los parámetros. Si se conocen los parámetros, la ecuación (PT2.3) se utiliza para predecir la velocidad del paracaidista como una función del tiempo. Estos cálculos se pueden llevar a cabo de manera directa, ya que v se expresa explícitamente como una función del tiempo. Es decir, queda despejada en el lado izquierdo del signo igual. No obstante, suponga que se tiene que determinar el coeficiente de arrastre de un paracaidista con una masa dada, para alcanzar una velocidad determinada en un periodo preestablecido. Aunque la ecuación (PT2.3) ofrece una representación matemática de la interrelación entre las variables del modelo y los parámetros, no es posible obtener explí- citamente el coeficiente de arrastre. Trate de hacerlo. No hay forma de reordenar la ecua- ción para despejar el parámetro c. En tales casos, se dice que c está en forma implícita. Esto representa un verdadero dilema, ya que en muchos de los problemas de diseño en ingeniería hay que especificar las propiedades o la composición de un sistema (repre- sentado por sus parámetros) para asegurar que esté funcionando de la manera deseada (representado por las variables). Así, a menudo dichos problemas requieren la determi- nación de parámetros implícitos. La solución del dilema es proporcionada por los métodos numéricos para raíces de ecuaciones. Para resolver el problema con métodos numéricos es conveniente reexpresar la ecuación (PT2.3), esto se logra restando la variable dependiente v de ambos lados de la ecuación, f c gm c e c m t ( ) – – ( ) –( / ) = 1 v (PT2.4) Por lo tanto, el valor de c que hace f(c) = 0 es la raíz de la ecuación. Este valor también representa el coeficiente de arrastre que resuelve el problema de diseño. En la parte dos de este libro se analiza una gran variedad de métodos numéricos y gráficos para determinar raíces de relaciones tales como en la ecuación (PT2.4). Dichas técnicas se pueden aplicar a problemas de diseño en ingeniería con base en los principios fundamentales dados en la tabla PT2.1, así como a muchos problemas que se encuentran de manera rutinaria en la práctica de la ingeniería. PT2.2 ANTECEDENTES MATEMÁTICOS En la mayoría de las áreas mencionadas en este libro existen algunos prerrequisitos ma- temáticos necesarios para dominar el tema. Por ejemplo, los conceptos de estimación del error y expansión de la serie de Taylor, analizados en los capítulos 3 y 4, tienen relevancia directa en nuestro estudio de las raíces de ecuaciones. Además, anteriormente ya se mencionaron los términos: ecuaciones “algebraicas” y “trascendentes”. Resulta útil defi- nir formalmente dichos términos y estudiar cómo se relacionan en esta parte del libro. Por definición, una función dada por y = f(x) es algebraica si se expresa de la forma: fnyn + fn–1yn–1 + … + f1y + f0 = 0 (PT2.5) donde fi es un polinomio de i-ésimo orden en x. Los polinomios son un tipo de funciones algebraicas que generalmente se representan como: fn(x) = a0 + a1x + a2x2 + … + anxn (PT2.6) PT2.2 ANTECEDENTES MATEMÁTICOS 115
  • 140. 116 RAÍCES DE ECUACIONES donde n es el orden del polinomio y las a son constantes. Algunos ejemplos específicos son: f2(x) = 1 – 2.37x + 7.5x2 (PT2.7) y f6(x) = 5x2 – x3 + 7x6 (PT2.8) Las funciones trascendentes son funciones que no son algebraicas. Comprenden las funciones trigonométricas, las funciones exponenciales, las funciones logarítmicas y otras menos familiares. Algunos ejemplos son: f(x) = ln x2 – 1 (PT2.9) y f(x) = e–0.2x sen (3x – 0.5) (PT2.10) Las raíces de las ecuaciones pueden ser reales o complejas. Aunque hay algunos casos en que las raíces complejas de funciones no polinomiales son de interés, esta situación es menos común que en polinomios. En consecuencia, los métodos numéricos estánda- res para encontrar raíces se encuentran en dos áreas de problemas relacionados, pero fundamentalmente distintos: 1. La determinación de raíces reales de ecuaciones algebraicas y trascendentes. Dichas técnicas se diseñaron para determinar el valor de una sola raíz real basándose en un conocimiento previo de su posición aproximada. 2. La determinación de todas las raíces reales y complejas de polinomios. Estos métodos están diseñados especialmente para polinomios; determinan sistemáticamente todas las raíces del polinomio en lugar de sólo una raíz real dada una posición aproximada. En este libro se estudian ambas, los capítulos 5 y 6 se dedican a la primera área y el capítulo 7 se ocupa de los polinomios. PT2.3 ORIENTACIÓN Antes de proceder con los métodos numéricos para determinar raíces de ecuaciones, será útil dar alguna orientación. El siguiente material intenta dar una visión general de los temas de la parte dos. Además, se han incluido algunos objetivos que orientarán al lector en su estudio del material. PT2.3.1 Alcance y presentación preliminar La figura PT2.1 es una representación esquemática de la organización de la parte dos. Examine esta figura cuidadosamente, iniciando en la parte de arriba y avanzando en el sentido de las manecillas del reloj. Después de la presente introducción, el capítulo 5 se dedica a los métodos cerrados, que usan intervalos, para encontrar raíces. Estos métodos empiezan con intervalos que
  • 141. encierran o contienen a la raíz, y después reducen sistemáticamente el tamaño del inter- valo. Se estudian dos métodos específicos: el de bisección y el de la falsa posición. Los métodos gráficos sirven para dar una comprensión visual de las técnicas. Se desarrollan formulaciones del error para ayudar a determinar el trabajo computacional que se re- quiere para estimar la raíz con un nivel de precisión especificado previamente. CAPÍTULO 5 Métodos cerrados PARTE 2 Raíces de ecuaciones CAPÍTULO 6 Métodos abiertos CAPÍTULO 7 Raíces de polinomios CAPÍTULO 8 Estudio de casos: raíces de ecuaciones EPÍLOGO 6.5 Sistemas no lineales 6.4 Raíces múltiples 6.3 Secante 6.2 Newton- Raphson 6.1 Iteración simple de punto fijo PT2.2 Antecedentes matemáticos PT2.6 Métodos avanzados PT2.5 Fórmulas importantes 8.4 Ingeniería mecánica 8.3 Ingeniería eléctrica 8.2 Ingeniería civil 8.1 Ingeniería química 7.7 Bibliotecas y paquetes 7.6 Otros métodos 7.1 Polinomios en ingeniería 7.2 Cálculos con polinomios 7.4 Método de Müller 7.5 Método de Bairstow 7.3 Métodos convencionales PT2.4 Alternativas PT2.3 Orientación PT2.1 Motivación 5.2 Bisección 5.3 Falsa posición 5.4 Búsquedas por incrementos 5.1 Métodos gráficos FIGURA PT2.1 Esquema de la organización del material de la parte dos: Raíces de ecuaciones. PT2.3 ORIENTACIÓN 117
  • 142. 118 RAÍCES DE ECUACIONES En el capítulo 6 se tratan los métodos abiertos, estos métodos también emplean iteraciones sistemáticas de prueba y error; pero no requieren que el intervalo inicial encierre a la raíz. Se descubrirá que estos métodos, en general, son más eficientes compu- tacionalmente que los métodos cerrados, aunque no siempre funcionan. Se analizan los métodos de iteración de un punto fijo, de Newton-Raphson y de la secante. Los métodos gráficos sirven para dar una idea geométrica en los casos donde los métodos abiertos no funcionan. Se desarrollan las fórmulas que proporcionan una idea de qué tan rápido los métodos abiertos convergen a la raíz. Además, se explica la forma de extender el méto- do de Newton-Raphson para sistemas de ecuaciones no-lineales. El capítulo 7 está dedicado a encontrar las raíces de polinomios. Después de las secciones anteriores sobre polinomios, se estudian los métodos convencionales (en particular los métodos abiertos del capítulo 6). Se describen dos métodos especiales para localizar raíces de polinomios: los métodos de Müller y Bairstow. Al final del capítulo se da información relacionada con la búsqueda de las raíces a través de programas de biblioteca y paquetes de software. En el capítulo 8 se extienden los conceptos anteriores a los problemas reales de ingeniería. Se emplean aplicaciones a la ingeniería para ilustrar las ventajas y desventa- jas de cada uno de los métodos, proporcionando una visión de cómo se aplican las téc- nicas en la práctica profesional. Las aplicaciones también destacan las alternativas (estudiadas en la parte uno) asociadas con cada uno de los métodos. Se incluye un epílogo al final de la parte dos. Éste contiene una detallada compa- ración de los métodos analizados en los capítulos 5, 6 y 7. Esta comparación comprende una descripción de las alternativas relacionadas con el uso apropiado de cada técnica. Esta sección proporciona también un resumen de las fórmulas importantes, junto con referencias para algunos de los métodos que van más allá del alcance de este texto. PT2.3.2 Metas y objetivos Objetivos de estudio. Después de terminar la parte dos se debe tener la suficiente información para abordar con éxito una amplia variedad de problemas de ingeniería, relacionados con las raíces de ecuaciones. En general, se dominarán las técnicas, se habrá aprendido a determinar su confiabilidad y se tendrá la capacidad de elegir el me- jor método (o métodos) para cualquier problema particular. Además de estas metas generales, deberá haber asimilado los conceptos específicos de la tabla PT2.2 para comprender mejor el material de la parte dos. Objetivos de cómputo. El libro proporciona software y algoritmos sencillos para implementar las técnicas analizadas en la parte dos. Todos tienen utilidad como herra- mientas del aprendizaje. Se presentan directamente seudocódigos para varios métodos en el texto. Esta in- formación le permitirá ampliar su biblioteca de software para contar con programas que son más eficientes que el método de bisección. Por ejemplo, tal vez usted desee tener sus propios programas para las técnicas de la falsa posición, de Newton-Raphson y de se- cante, las cuales a menudo son más eficientes que el método de bisección. Finalmente, los paquetes de software como Excel, MATLAB y programas de bi- bliotecas tienen poderosas capacidades para localizar raíces. Puede usar esta parte del libro para empezar a familiarizarse con estas posibilidades.
  • 143. TABLA PT2.2 Objetivos específicos de estudio de la parte dos. 1. Comprender la interpretación gráfica de una raíz 2. Conocer la interpretación gráfica del método de la falsa posición y por qué, en general, es mejor que el método de bisección 3. Entender la diferencia entre los métodos cerrados y los métodos abiertos para la localización de las raíces 4. Entender los conceptos de convergencia y de divergencia; usar el método gráfico de las dos curvas para tener una idea visual de los conceptos 5. Saber por qué los métodos cerrados siempre convergen, mientras que los métodos abiertos algunas veces pueden diverger 6. Observar que la convergencia en los métodos abiertos es más segura si el valor inicial está cercano a la raíz verdadera 7. Entender los conceptos de convergencia lineal y cuadrática, así como sus implicaciones en la eficiencia de los métodos de iteración de punto fijo y de Newton-Raphson 8. Conocer las diferencias fundamentales entre el método de la falsa posición y el método de la secante, y cómo se relacionan con la convergencia 9. Comprender los problemas que presentan raíces múltiples y las modificaciones que se pueden hacer para reducir dichos problemas 10. Saber cómo extender el método de Newton-Raphson de una sola ecuación no lineal con el propósito de resolver sistemas de ecuaciones no lineales PT2.3 ORIENTACIÓN 119
  • 144. CAPÍTULO 5 Métodos cerrados Este capítulo sobre raíces de ecuaciones se ocupa de métodos que aprovechan el hecho de que una función cambia de signo en la vecindad de una raíz. A estas técnicas se les llama métodos cerrados, o de intervalos, porque se necesita de dos valores iniciales para la raíz. Como su nombre lo indica, dichos valores iniciales deben “encerrar”, o estar a ambos lados de la raíz. Los métodos particulares descritos aquí emplean diferentes es- trategias para reducir sistemáticamente el tamaño del intervalo y así converger a la respuesta correcta. Como preámbulo de estas técnicas se analizarán los métodos gráficos para repre- sentar tanto las funciones como sus raíces. Además de la utilidad de los métodos gráfi- cos para determinar valores iniciales, también son útiles para visualizar las propiedades de las funciones y el comportamiento de los diversos métodos numéricos. 5.1 MÉTODOS GRÁFICOS Un método simple para obtener una aproximación a la raíz de la ecuación f(x) = 0 con- siste en graficar la función y observar dónde cruza el eje x. Este punto, que representa el valor de x para el cual f(x) = 0, ofrece una aproximación inicial de la raíz. EJEMPLO 5.1 El método gráfico Planteamiento del problema. Utilice el método gráfico para determinar el coeficien- te de arrastre c necesario para que un paracaidista de masa m = 68.1 kg tenga una velo- cidad de 40 m/s después de una caída libre de t = 10 s. Nota: La aceleración de la gravedad es 9.8 m/s2 . Solución. Este problema se resuelve determinando la raíz de la ecuación (PT2.4) usando los parámetros t = 10, g = 9.8, v = 40 y m = 68.1: f c c e c ( ) . ( . ) – – ( ) –( / . ) = 9 8 68 1 1 40 68 1 10 o f c c e c ( ) . – – ( ) – . = 667 38 1 40 0 146843 (E5.1.1) Diversos valores de c pueden sustituirse en el lado derecho de esta ecuación para calcular
  • 145. c f(c) 4 34.115 8 17.653 12 6.067 16 –2.269 20 –8.401 Estos puntos se grafican en la figura 5.1. La curva resultante cruza el eje c entre 12 y 16. Un vistazo a la gráfica proporciona una aproximación a la raíz de 14.75. La validez de la aproximación visual se verifica sustituyendo su valor en la ecuación (E5.1.1) para obtener f e ( . ) . . – – . ( ) – . ( . ) 14 75 667 38 14 75 1 40 0 059 0 146843 14 75 = = que está cercano a cero. También se verifica por sustitución en la ecuación (PT2.4) junto con el valor de los parámetros de este ejemplo para dar v = = 9 8 68 1 14 75 1 40 059 14 75 68 1 10 . ( . ) . – . ( ) –( . / . ) e que es muy cercano a la velocidad de caída deseada de 40 m/s. 20 Raíz 12 8 4 0 20 40 f(c) c –10 FIGURA 5.1 El método gráfico para determinar las raíces de una ecuación. 5.1 MÉTODOS GRÁFICOS 121
  • 146. Las técnicas gráficas tienen un valor práctico limitado, ya que no son precisas. Sin embargo, los métodos gráficos se utilizan para obtener aproximaciones de la raíz. Dichas aproximaciones se pueden usar como valores iniciales en los métodos numéricos anali- zados en este capítulo y en el siguiente. Las interpretaciones gráficas, además de proporcionar estimaciones de la raíz, son herramientas importantes en la comprensión de las propiedades de las funciones y en la prevención de las fallas de los métodos numéricos. Por ejemplo, la figura 5.2 muestra algunas de las formas en las que la raíz puede encontrarse (o no encontrarse) en un in- tervalo definido por un límite inferior xl y un límite superior xu. La figura 5.2b repre- senta el caso en que una sola raíz está acotada por los valores positivo y negativo de f(x). Sin embargo, la figura 5.2d, donde f(xl) y f(xu) están también en lados opuestos del eje x, muestra tres raíces que se presentan en ese intervalo. En general, si f(xl) y f(xu) tienen signos opuestos, existe un número impar de raíces en el intervalo. Como se indica en las figuras 5.2a y c, si f(xl) y f(xu) tienen el mismo signo, no hay raíces o hay un número par de ellas entre los valores. Aunque dichas generalizaciones son usualmente verdaderas, existen casos en que no se cumplen. Por ejemplo, las funciones tangenciales al eje x (figura 5.3a) y las fun- ciones discontinuas (figura 5.3b) pueden violar estos principios. Un ejemplo de una función que es tangencial al eje x es la ecuación cúbica f(x) = (x – 2)(x – 2)(x – 4). Ob- serve que cuando x = 2, dos términos en este polinomio son iguales a cero. Matemáti- camente, x = 2 se llama una raíz múltiple. Al final del capítulo 6 se presentan técnicas que están diseñadas expresamente para localizar raíces múltiples. La existencia de casos del tipo mostrado en la figura 5.3 dificulta el desarrollo de algoritmos generales para computadoras que garanticen la ubicación de todas las raíces en el intervalo. Sin embargo, cuando se usan los métodos expuestos en las siguientes f (x) x f (x) x f (x) x f (x) x a) b) c) d) xl xu FIGURA 5.2 Ilustración de las formas generales en que puede ocurrir una raíz en un inter- valo preescrito por los límites inferior xl y superior xu. Las figuras a) y c) muestran que si f(xl) y f(xu) tienen el mismo signo, entonces no habrá raíces dentro del intervalo o habrá un número par de ellas. Las figuras b) y d) muestran que si la función tiene signos diferentes en los puntos extremos, entonces habrá un número impar de raíces dentro del intervalo. FIGURA 5.3 Ilustración de algunas excepciones a los casos generales mostrados en la figura 5.2. a) Pueden ocurrir raíces múltiples cuando la función es tangencial el eje x. En este caso, aun- que los puntos extremos son de signos opuestos, hay un núme- ro par de intersecciones con el eje x en el intervalo. b) Función discontinua donde los puntos extremos de signo opuesto contienen un número par de raíces. Se requiere de estrategias especiales para determinar las raíces en estos casos. f (x) x f (x) x a) b) xl xu 122 MÉTODOS CERRADOS
  • 147. secciones en conjunción con los métodos gráficos, resultan de gran utilidad para buscar muchas raíces en problemas de ecuaciones que se presentan rutinariamente en la inge- niería y en las matemáticas aplicadas. EJEMPLO 5.2 Uso de gráficas por computadora para localizar raíces Planteamiento del problema. Las gráficas por computadora facilitan y mejoran la localización de las raíces de una ecuación. La función f(x) = sen l0x + cos 3x tiene varias raíces en el rango que va de x = 0 a x = 5. Utilice gráficas por computadora para comprender mejor el comportamiento de esta función. 5 2 0 Y 0 2.5 X –2 2 0 Y 3 4 X 5 – 2 .15 0 Y 4.2 4.25 X 4.3 –.15 c) a) b) FIGURA 5.4 Amplificación progresiva de f(x) = sen 10x + cos 3x mediante la computadora. Estas gráficas interactivas le permiten al analista determinar que existen dos raíces distintas entre x = 4.2 y x = 4.3. 5.1 MÉTODOS GRÁFICOS 123
  • 148. Solución. Para generar gráficas se usan paquetes como Excel y MATLAB. En la fi- gura 5.4a se presenta la gráfica de f(x) desde x = 0 hasta x = 5. La gráfica muestra la existencia de varias raíces, incluyendo quizás una doble raíz alrededor de x = 4.2, donde f(x) parece ser tangente al eje x. Se obtiene una descripción más detallada del compor- tamiento de f(x) cambiando el rango de graficación, desde x = 3 hasta x = 5, como se muestra en la figura 5.4b. Finalmente, en la figura 5.4c, se reduce la escala vertical, de f(x) = –0.15 a f(x) = 0.15, y la escala horizontal se reduce, de x = 4.2 a x = 4.3. Esta grá- fica muestra claramente que no existe una doble raíz en esta región y que, en efecto, hay dos raíces diferentes entre x = 4.23 y x = 4.26. Las gráficas por computadora tienen gran utilidad en el estudio de los métodos numéricos. Esta posibilidad también puede tener muchas aplicaciones en otras materias de la escuela, así como en las actividades profesionales. 5.2 EL MÉTODO DE BISECCIÓN Cuando se aplicaron las técnicas gráficas en el ejemplo 5.1, se observó (figura 5.1) que f(x) cambió de signo a ambos lados de la raíz. En general, si f(x) es real y continúa en el intervalo que va desde xl hasta xu y f(xl) y f(xu) tienen signos opuestos, es decir, f(xl) f(xu) 0 (5.1) entonces hay al menos una raíz real entre xl y xu. Los métodos de búsqueda incremental aprovechan esta característica localizando un intervalo en el que la función cambie de signo. Entonces, la localización del cambio de signo (y, en consecuencia, de la raíz) se logra con más exactitud al dividir el interva- lo en varios subintervalos. Se investiga cada uno de estos subintervalos para encontrar el cambio de signo. El proceso se repite y la aproximación a la raíz mejora cada vez más en la medida que los subintervalos se dividen en intervalos cada vez más pequeños. Volveremos al tema de búsquedas incrementales en la sección 5.4. FIGURA 5.5 Paso 1: Elija valores iniciales inferior, xl, y superior, xu, que encierren la raíz, de forma tal que la función cambie de signo en el intervalo. Esto se verifica comprobando que f(xl) f(xu) 0. Paso 2: Una aproximación de la raíz xr se determina mediante: xl + xu xr = ——– 2 Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está la raíz: a) Si f(xl)f(xr) 0, entonces la raíz se encuentra dentro del subintervalo inferior o izquierdo. Por lo tanto, haga xu = xr y vuelva al paso 2. b) Si f(xl)f(xr) 0, entonces la raíz se encuentra dentro del subintervalo superior o derecho. Por lo tanto, haga xl = xr y vuelva al paso 2. c) Si f(xl)f(xr) = 0, la raíz es igual a xr; termina el cálculo. 124 MÉTODOS CERRADOS
  • 149. El método de bisección, conocido también como de corte binario, de partición de intervalos o de Bolzano, es un tipo de búsqueda incremental en el que el intervalo se divide siempre a la mitad. Si la función cambia de signo sobre un intervalo, se evalúa el valor de la función en el punto medio. La posición de la raíz se determina situándola en el punto medio del subintervalo, dentro del cual ocurre un cambio de signo. El proceso se repite hasta obtener una mejor aproximación. En la figura 5.5 se presenta un algorit- mo sencillo para los cálculos de la bisección. En la figura 5.6 se muestra una represen- tación gráfica del método. Los siguientes ejemplos se harán a través de cálculos reales involucrados en el método. EJEMPLO 5.3 Bisección Planteamiento del problema. Emplee el método de bisección para resolver el mismo problema que se resolvió usando el método gráfico del ejemplo 5.1. Solución. El primer paso del método de bisección consiste en asignar dos valores ini- ciales a la incógnita (en este problema, c) que den valores de f(c) con diferentes signos. En la figura 5.1 se observa que la función cambia de signo entre los valores 12 y 16. Por lo tanto, la estimación inicial de la raíz xr se encontrará en el punto medio del intervalo xr = + = 12 16 2 14 Dicha aproximación representa un error relativo porcentual verdadero de et = 5.3% (note que el valor verdadero de la raíz es 14.7802). A continuación calculamos el producto de los valores en la función en un límite inferior y en el punto medio: f(12)f(14) = 6.067(1.569) = 9.517 que es mayor a cero y, por lo tanto, no ocurre cambio de signo entre el límite inferior y el punto medio. En consecuencia, la raíz debe estar localizada entre 14 y 16. Entonces, 16 12 14 16 15 14 FIGURA 5.6 Una representación gráfica del método de bisección. La gráfica presenta las primeras tres iteraciones del ejemplo 5.3. 5.2 EL MÉTODO DE BISECCIÓN 125
  • 150. se crea un nuevo intervalo redefiniendo el límite inferior como 14 y determinando una nueva aproximación corregida de la raíz xr = + = 14 16 2 15 la cual representa un error porcentual verdadero et = 1.5%. Este proceso se repite para obtener una mejor aproximación. Por ejemplo, f(14)f(15) = 1.569(–0.425) = –0.666 Por lo tanto, la raíz está entre 14 y 15. El límite superior se redefine como 15 y la raíz estimada para la tercera iteración se calcula así: xr = + = 14 15 2 14 5 . que representa un error relativo porcentual et = 1.9%. Este método se repite hasta que el resultado sea suficientemente exacto para satisfacer sus necesidades. En el ejemplo anterior, se observa que el error verdadero no disminuye con cada iteración. Sin embargo, el intervalo donde se localiza la raíz se divide a la mitad en cada paso del proceso. Como se estudiará en la siguiente sección, el ancho del intervalo pro- porciona una estimación exacta del límite superior del error en el método de bisección. 5.2.1 Criterios de paro y estimaciones de errores Terminamos el ejemplo 5.3 diciendo que el método se repite para obtener una aproxi- mación más exacta de la raíz. Ahora se debe desarrollar un criterio objetivo para decidir cuándo debe terminar el método. Una sugerencia inicial sería finalizar el cálculo cuando el error verdadero se en- cuentre por debajo de algún nivel prefijado. En el ejemplo 5.3 se observa que el error relativo baja de 5.3 a 1.9% durante el procedimiento de cálculo. Puede decidirse que el método termina cuando se alcance un error más bajo, por ejemplo, al 0.1%. Dicha estra- tegia es inconveniente, ya que la estimación del error en el ejemplo anterior se basó en el conocimiento del valor verdadero de la raíz de la función. Éste no es el caso de una situación real, ya que no habría motivo para utilizar el método si se conoce la raíz. Por lo tanto, se requiere estimar el error de forma tal que no se necesite el conoci- miento previo de la raíz. Como se vio previamente en la sección 3.3, se puede calcular el error relativo porcentual ea de la siguiente manera (recuerde la ecuación 3.5): εa r r r x x x = nuevo anterior nuevo – % 100 (5.2) donde xr nuevo es la raíz en la iteración actual y xr anterior es el valor de la raíz en la iteración anterior. Se utiliza el valor absoluto, ya que por lo general importa sólo la magnitud de ea sin considerar su signo. Cuando ea es menor que un valor previamente fijado es, ter- mina el cálculo. 126 MÉTODOS CERRADOS
  • 151. EJEMPLO 5.4 Estimación del error en la bisección Planteamiento del problema. Continúe con el ejemplo 5.3 hasta que el error aproxi- mado sea menor que el criterio de terminación de es = 0.5%. Use la ecuación (5.2) para calcular los errores. Solución. Los resultados de las primeras dos iteraciones en el ejemplo 5.3 fueron 14 y 15. Sustituyendo estos valores en la ecuación (5.2) se obtiene εa = − = 15 14 15 100 6 67 % . % Recuerde que el error relativo porcentual para la raíz estimada de 15 fue 1.5%. Por lo tanto, ea es mayor a et. Este comportamiento se manifiesta en las otras iteraciones: Iteración xl xu xr ea (%) et (%) 1 12 16 14 5.279 2 14 16 15 6.667 1.487 3 14 15 14.5 3.448 1.896 4 14.5 15 14.75 1.695 0.204 5 14.75 15 14.875 0.840 0.641 6 14.75 14.875 14.8125 0.422 0.219 Así, después de seis iteraciones ea finalmente está por debajo de es = 0.5%, y el cálculo puede terminar. Estos resultados se resumen en la figura 5.7. La naturaleza “desigual” del error verdadero se debe a que, en el método de la bisección, la raíz exacta se encuentra en cualquier lugar dentro del intervalo cerrado. Los errores verdadero y aproximado quedan distantes cuando el intervalo está centrado sobre la raíz verdadera. Ellos están cercanos cuando la raíz verdadera se halla en cualquier extremo del intervalo. Aunque el error aproximado no proporciona una estimación exacta del error verda- dero, la figura 5.7 sugiere que ea toma la tendencia general descendente de et. Además, la gráfica muestra una característica muy interesante: que ea siempre es mayor que et. Por lo tanto, cuando ea es menor que es los cálculos se pueden terminar, con la confian- za de saber que la raíz es al menos tan exacta como el nivel aceptable predeterminado. Aunque no es conveniente aventurar conclusiones generales a partir de un solo ejemplo, es posible demostrar que ea siempre será mayor que et en el método de bisec- ción. Esto se debe a que cada vez que se encuentra una aproximación a la raíz cuando se usan bisecciones como xr = (xl + xu)/2, se sabe que la raíz verdadera se halla en algún lugar dentro del intervalo de (xu – xl)/2 = ∆x/2. Por lo tanto, la raíz debe situarse dentro de ±∆x/2 de la aproximación (figura 5.8). Así, cuando se terminó el ejemplo 5.3 se pudo afirmar definitivamente que xr = 14.5 ± 0.5 Debido a que ∆x/2 = xr nuevo – xr anterior (figura 5.9), la ecuación (5.2) proporciona un límite superior exacto del error verdadero. Para que se rebase este límite, la raíz verda- 5.2 EL MÉTODO DE BISECCIÓN 127
  • 152. dera tendría que estar fuera del intervalo que la contiene, lo cual, por definición, jamás ocurrirá en el método de bisección. El ejemplo 5.7 muestra otras técnicas de localización de raíces que no siempre resultan tan eficientes. Aunque el método de bisección por lo general es más lento que otros métodos, la claridad del análisis de error ciertamente es un aspecto positivo que puede volverlo atractivo para ciertas aplicaciones en ingeniería. 6 3 Iteraciones Error relativo porcentual 0 0.1 1.0 Verdadero Aproximado 10 FIGURA 5.7 Errores en el método de bisección. Los errores ver- dadero y aproximado se grafican contra el número de iteraciones. b) a) c) ⌬x/2 xl xr xu xl xr xu xl xr xu ⌬x/2 Raíz verdadera FIGURA 5.8 Tres formas en que un inter- valo puede encerrar a la raíz. En a) el valor verdade- ro está en el centro del inter- valo, mientras que en b) y c) el valor verdadero está cerca de los extremos. Ob- serve que la diferencia entre el valor verdadero y el punto medio del intervalo jamás sobrepasa la longitud media del intervalo, o ∆x/2. 128 MÉTODOS CERRADOS
  • 153. Antes de utilizar el programa de computadora para la bisección, debemos observar que las siguientes relaciones (figura 5.9) x x x x r r u l nuevo anterior − = − 2 y x x x r l u nuevo = + 2 puede sustituirse en la ecuación (5.2) para desarrollar una formulación alternativa en la aproximación del error relativo porcentual εa u l u l x x x x = − + 100% (5.3) Esta ecuación resulta idéntica a la ecuación (5.2) para la bisección. Además, permite calcular el error basándose en nuestros valores iniciales; es decir, en la primera iteración. Por ejemplo, en la primera iteración del ejemplo 5.2, el error aproximado se calcula como εa = − + = 16 12 16 12 100 14 29 % . % Otro beneficio del método de bisección es que el número de iteraciones requerido para obtener un error absoluto se calcula a priori; esto es, antes de empezar las iteracio- nes, donde se observa que antes de empezar esta técnica, el error absoluto es Ea 0 = xu 0 – xl 0 = ∆x0 donde los superíndices definen la iteración. Por lo tanto, antes de empezar el método se tiene la “iteración cero”. Después de la primera iteración el error será E x a 1 2 = ∆ 0 Iteración anterior ⌬x/2 xnuevo r xanterior r xnuevo – xanterior r r Iteración actual FIGURA 5.9 Representación gráfica de por qué la estimación del error para el método de bisección (∆x/2) es equiva- lente a la raíz estimada en la iteración actual (xr nuevo ) menos la raíz aproximada en la iteración anterior (xr anterior ). 5.2 EL MÉTODO DE BISECCIÓN 129
  • 154. Debido a que en cada iteración se reduce el error a la mitad, la fórmula general que re- laciona el error y el número de iteraciones, n, es E x a n n = ∆ 0 2 (5.4) Si Ea,d es el error deseado, en esta ecuación se despeja n x E x E a d a d = = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ log( / ) log log , , ∆ ∆ 0 2 0 2 (5.5) Probemos la fórmula. En el ejemplo 5.4, el intervalo inicial fue ∆x0 = 16 – 12 = 4. Después de seis iteraciones, el error absoluto era Ea = − = 14 875 14 75 2 0 0625 . . . Si se sustituyen esos valores en la ecuación (5.5) resulta n = = log( / . ) log 4 0 0625 2 6 Entonces, si se sabe de antemano que un error menor a 0.0625 es aceptable, la fórmula indica que con seis iteraciones se consigue el resultado deseado. Aunque se ha puesto énfasis en el uso del error relativo por obvias razones, habrá casos (usualmente a través del conocimiento del contexto del problema) donde se podrá especificar el error absoluto. En esos casos, la bisección junto con la ecuación (5.5) ofrece un útil algoritmo de localización de raíces. Se explorarán tales aplicaciones con los problemas al final del capítulo. 5.2.2 Algoritmo de bisección El algoritmo en la figura 5.5 se extiende para incluir verificación del error (figura 5.10). El algoritmo emplea funciones definidas por el usuario para volver más eficientes la loca- lización de las raíces y la evaluación de las funciones. Además, se le pone un límite superior al número de iteraciones. Por último, se incluye la verificación de errores para evitar la división entre cero durante la evaluación del error. Éste podría ser el caso cuan- do el intervalo está centrado en cero. En dicha situación la ecuación (5.2) tiende al infi- nito. Si esto ocurre, el programa saltará la evaluación de error en esa iteración. El algoritmo en la figura 5.10 no es amigable al usuario; más bien está diseñado estrictamente para dar la respuesta. En el problema 5.14 al final del capítulo, se tendrá una tarea para volverlo fácil de usar y de entender. 5.2.3 Minimización de las evaluaciones de una función El algoritmo de bisección de la figura 5.10 es adecuado si se quiere realizar la evalua- ción de una sola raíz de una función que es fácil de evaluar. Sin embargo, hay muchos casos en ingeniería que no son así. Por ejemplo, suponga que se quiere desarrollar un 130 MÉTODOS CERRADOS
  • 155. programa computacional que localice varias raíces. En tales casos, se tendría que llamar al algoritmo de la figura 5.10 miles o aun millones de veces en el transcurso de una sola ejecución. Además, en un sentido más general, la función de una variable es tan sólo una en- tidad que regresa un solo valor para un solo valor que se le da. Visto de esta manera, las funciones no son simples fórmulas como las ecuaciones de una sola línea de código resueltas en los ejemplos anteriores de este capítulo. Por ejemplo, una función puede consistir de muchas líneas de código y su evaluación llega a tomar un tiempo importan- te de ejecución. En algunos casos, esta función incluso representaría un programa de computadora independiente. Debido a ambos factores es imperativo que los algoritmos numéricos minimicen las evaluaciones de una función. A la luz de estas consideraciones, el algoritmo de la figu- ra 5.10 es deficiente. En particular, observe que al hacer dos evaluaciones de una función por iteración, vuelve a calcular una de las funciones que se determinó en la iteración anterior. La figura 5.11 proporciona un algoritmo modificado que no tiene esta deficiencia. Se han resaltado las líneas que difieren de la figura 5.10. En este caso, únicamente se calcula el valor de la nueva función para aproximar la raíz. Los valores calculados pre- viamente son guardados y simplemente reasignados conforme el intervalo se reduce. Así, las 2n evaluaciones de la función se reducen a n + 1. 5.3 MÉTODO DE LA FALSA POSICIÓN Aun cuando la bisección es una técnica perfectamente válida para determinar raíces, su método de aproximación por “fuerza bruta” es relativamente ineficiente. La falsa posición es una alternativa basada en una visualización gráfica. 5.3 MÉTODO DE LA FALSA POSICIÓN 131 FIGURA 5.10 Seudocódigo para la fun- ción que implementa el método de bisección. FUNCTION Bisect(xl, xu, es, imax, xr, iter, ea) iter = 0 DO xrold = xr xr = (xl + xu)/2 iter = iter + 1 IF xr ≠ 0 THEN ea = ABS((xr – xrold) / xr) * 100 END IF test = f(xl) * f(xr) IF test 0 THEN xu = xr ELSE IF test 0 THEN xl = xr ELSE ea = 0 END IF IF ea es OR iter ≥ imax EXIT END DO Bisect = xr END Bisect
  • 156. Un inconveniente del método de bisección es que al dividir el intervalo de xl a xu en mitades iguales, no se toman en consideración las magnitudes de f(xl) y f(xu). Por ejem- plo, si f(xl) está mucho más cercana a cero que f(xu), es lógico que la raíz se encuentre más cerca de xl que de xu (figura 5.12). Un método alternativo que aprovecha esta visua- lización gráfica consiste en unir f(xl) y f(xu) con una línea recta. La intersección de esta línea con el eje de las x representa una mejor aproximación de la raíz. El hecho de que se reemplace la curva por una línea recta da una “falsa posición” de la raíz; de aquí el nombre de método de la falsa posición, o en latín, regula falsi. También se le conoce como método de interpolacion lineal. Usando triángulos semejantes (figura 5.12), la intersección de la línea recta con el eje de las x se estima mediante f x x x f x x x l r l u r u ( ) ( ) − = − (5.6) en la cual se despeja xr (véase cuadro 5.1 para los detalles) x x f x x x f x f x r u u l u l u = − − − ( )( ) ( ) ( ) (5.7) Ésta es la fórmula de la falsa posición. El valor de xr calculado con la ecuación (5.7), re- emplazará, después, a cualquiera de los dos valores iniciales, xl o xu, y da un valor de la FUNCTION Bisect(xl, xu, es, imax, xr, iter, ea) iter = 0 fl = f(xl) DO xrold = xr xr = (xl + xu) / 2 fr = f(xr) iter = iter + 1 lF xr ≠ 0 THEN ea = ABS((xr – xrold) / xr) * 100 END IF test = fl * fr IF test 0 THEN xu = xr ELSE IF test 0 THEN xl = xr fl = fr ELSE ea = 0 END IF IF ea es OR iter ≥ imax EXIT END DO Bisect = xr END Bisect FIGURA 5.11 Seudocódigo para el subprograma de bisección que minimiza las evaluacio- nes de la función. 132 MÉTODOS CERRADOS
  • 157. función con el mismo signo de f(xr). De esta manera, los valores xl y xu siempre encierran la verdadera raíz. El proceso se repite hasta que la aproximación a la raíz sea adecuada. El algoritmo es idéntico al de la bisección (figura 5.5), excepto en que la ecuación (5.7) Cuadro 5.1 Desarrollo del método de la falsa posición Multiplicando en cruz la ecuación (5.6) obtenemos f(xl)(xr – xu) = f(xu)(xr – xl) Agrupando términos y reordenando: xr [f(xl) – f(xu)] = xu f(xl) – xl f(xu) Dividiendo entre f(xl) – f(xu): x x f x x f x f x f x r u l l u l u = − − ( ) ( ) ( ) ( ) (C5.1.1) Ésta es una de las formas del método de la falsa posición. Ob- serve que permite el cálculo de la raíz xr como una función de los valores iniciales inferior xl y superior xu. Ésta puede ponerse en una forma alternativa al separar los términos: x x f x f x f x x f x f x f x r u l l u l u l u = − − − ( ) ( ) ( ) ( ) ( ) ( ) 5.3 MÉTODO DE LA FALSA POSICIÓN 133 x f(x) f(xl) f(xu) xu xl xr FIGURA 5.12 Representación gráfica del método de la falsa posición. Con los triángulos semejan- tes sombreados se obtiene la fórmula para el método. sumando y restando xu en el lado derecho: x x x f x f x f x x x f x f x f x r u u l l u u l u l u = + − − − − ( ) ( ) ( ) ( ) ( ) ( ) Agrupando términos se obtiene x x x f x f x f x x f x f x f x r u u u l u l u l u = + − − − ( ) ( ) ( ) ( ) ( ) ( ) o x x f x x x f x f x r u u l u l u = − − − ( )( ) ( ) ( ) la cual es la misma ecuación (5.7). Se utiliza esta forma porque implica una evaluación de la función y una multiplicación menos que la ecuación (C5.1.1). Además ésta es directamente compa- rable con el método de la secante, el cual se estudia en el capí- tulo 6.
  • 158. se usa en el paso 2. Además, se usa el mismo criterio de terminación [ecuación (5.2)] para concluir los cálculos. EJEMPLO 5.5 Falsa posición Planteamiento del problema. Con el método de la falsa posición determine la raíz de la misma ecuación analizada en el ejemplo 5.1 [ecuación (E5.1.1)]. Solución. Como en el ejemplo 5.3 se empieza el cálculo con los valores iniciales xl = 12 y xu = 16. Primera iteración: xl = 12 f(xl) = 6.0699 xu = 16 f(xu) = –2.2688 xr = 16 − − − − − = 2 2688 12 16 6 0669 2 2688 14 9113 . ( ) . ( . ) . que tiene un error relativo verdadero de 0.89 por ciento. Segunda iteración: f(xl) f(xr) = –1.5426 Por lo tanto, la raíz se encuentra en el primer subintervalo y xr se vuelve ahora el límite superior para la siguiente iteración, xu = 14.9113: xl = 12 f(xl) = 6.0699 xu = 14.9113 f(xu) = –0.2543 xr = 14.9113 − − − − − = 0 2543 12 14 9113 6 0669 0 2543 14 7942 . ( . ) . ( . ) . el cual tiene errores relativos y verdadero y aproximado de 0.09 y 0.79 por ciento. Es po- sible realizar iteraciones adicionales para hacer una mejor aproximación de las raíces. Se obtiene una idea más completa de la eficiencia de los métodos de bisección y de falsa posición al observar la figura 5.13, donde se muestra el error relativo porcentual verdadero de los ejemplos 5.4 y 5.5. Observe cómo el error decrece mucho más rápida- mente en el método de la falsa posición que en el de la bisección, debido a un esquema más eficiente en el método de la falsa posición para la localización de raíces. Recuerde que en el método de bisección el intervalo entre xl y xu se va haciendo más pequeño durante los cálculos. Por lo tanto, el intervalo, como se definió por ∆x/2 = |xu – xl|/2 para la primera iteración, proporciona una medida del error en este método. Éste no es el caso con el método de la falsa posición, ya que uno de los valores iniciales puede permanecer fijo durante los cálculos, mientras que el otro converge hacia la raíz. Como en el caso del ejemplo 5.6, el extremo inferior xl permanece en 12, mientras que xu converge a la raíz. En tales casos, el intervalo no se acorta, sino que se aproxima a un valor constante. 134 MÉTODOS CERRADOS
  • 159. El ejemplo 5.6 sugiere que la ecuación (5.2) representa un criterio de error muy conservador. De hecho, la ecuación (5.2) constituye una aproximación de la discrepancia en la iteración previa. Esto se debe a que para un caso, tal como el del ejemplo 5.6, donde el método converge rápidamente (por ejemplo, el error se va reduciendo casi un 100% de magnitud por cada iteración), la raíz para la iteración actual xr nuevo es una me- jor aproximación al valor real de la raíz, que el resultado de la iteración previa xr anterior . Así, el numerador de la ecuación (5.2) representa la discrepancia de la iteración previa. En consecuencia, se nos asegura que al satisfacer la ecuación (5.2), la raíz se conocerá con mayor exactitud que la tolerancia preestablecida. Sin embargo, como se ve en la siguiente sección, existen casos donde el método de la falsa posición converge lentamen- te. En tales casos la ecuación (5.2) no es confiable y se debe desarrollar un criterio di- ferente de terminación. 5.3.1 Desventajas del método de la falsa posición Aunque el método de la falsa posición parecería ser siempre la mejor opción entre los métodos cerrados, hay casos donde funciona de manera deficiente. En efecto, como en el ejemplo siguiente, hay ciertos casos donde el método de bisección ofrece mejores resultados. 6 3 Iteraciones Error relativo porcentual verdadero 0 10–2 10–3 Bisección Falsa posición 10 1 10–1 10–4 FIGURA 5.13 Comparación de los errores relativos de los métodos de bisección y de la falsa posición. 5.3 MÉTODO DE LA FALSA POSICIÓN 135
  • 160. EJEMPLO 5.6 Un caso en el que la bisección es preferible a la falsa posición Planteamiento del problema. Con los métodos de bisección y de falsa posición loca- lice la raíz de f(x) = x10 – 1 entre x = 0 y 1.3. Solución. Usando bisección, los resultados se resumen como sigue Iteración xl xu xr ea (%) et (%) 1 0 1.3 0.65 100.0 35 2 0.65 1.3 0.975 33.3 2.5 3 0.975 1.3 1.1375 14.3 13.8 4 0.975 1.1375 1.05625 7.7 5.6 5 0.975 1.05625 1.015625 4.0 1.6 1.0 10 5 0 f(x) x FIGURA 5.14 Gráfica de la función f(x) = x10 – 1, ilustrando la lentitud de convergencia del método de la falsa posición. 136 MÉTODOS CERRADOS
  • 161. De esta manera, después de cinco iteraciones, el error verdadero se reduce a menos del 2%. Con la falsa posición se obtienen resultados muy diferentes: Iteración xl xu xr ea (%) et (%) 1 0 1.3 0.09430 90.6 2 0.09430 1.3 0.18176 48.1 81.8 3 0.18176 1.3 0.26287 30.9 73.7 4 0.26287 1.3 0.33811 22.3 66.2 5 0.33811 1.3 0.40788 17.1 59.2 Después de cinco iteraciones, el error verdadero sólo se ha reducido al 59%. Además, observe que ea et. Entonces, el error aproximado es engañoso. Se obtiene mayor cla- ridad sobre estos resultados examinando una gráfica de la función. En la figura 5.14, la curva viola la premisa sobre la cual se basa la falsa posición; es decir, si f(xl) se encuen- tra mucho más cerca de cero que f(xu), la raíz se encuentra más cerca de xl que de xu (recuerde la figura 5.12). Sin embargo, debido a la forma de esta función ocurre lo con- trario. El ejemplo anterior ilustra que, por lo común, no es posible realizar generalizaciones con los métodos de obtención de raíces. Aunque un método como el de la falsa posición casi siempre es superior al de bisección, hay algunos casos que violan esta conclusión general. Por lo tanto, además de usar la ecuación (5.2), los resultados se deben verificar sustituyendo la raíz aproximada en la ecuación original y determinar si el resultado se acerca a cero. Esta prueba se debe incorporar en todos los programas que localizan raíces. El ejemplo ilustra también una importante desventaja del método de la falsa posición: su unilateralidad. Es decir, conforme se avanza en las iteraciones, uno de los puntos limitantes del intervalo tiende a permanecer fijo. Esto puede llevar a una mala conver- gencia, especialmente en funciones con una curvatura importante. La sección siguiente ofrece una solución. 5.3.2 Falsa posición modificada Una forma de disminuir la naturaleza unilateral de la falsa posición consiste en obtener un algoritmo que detecte cuando se “estanca” uno de los límites del intervalo. Si ocurre esto, se divide a la mitad el valor de la función en el punto de “estancamiento”. A este método se le llama método de la falsa posición modificado. El algoritmo dado en la figura 5.15 lleva a cabo dicha estrategia. Observe cómo se han usado contadores para determinar si uno de los límites del intervalo permanece fijo “estancado” durante dos iteraciones. Si ocurre así, el valor de la función en este valor de “estancamiento” se divide a la mitad. La efectividad de este algoritmo se demuestra aplicándolo al ejemplo 5.6. Si se uti- liza un criterio de terminación de 0.01% el método de bisección y el método estándar de 5.3 MÉTODO DE LA FALSA POSICIÓN 137
  • 162. falsa posición convergerán, respectivamente, después de 14 y 39 iteraciones. En cambio el método de la falsa posición modificado convergerá después de 12 iteraciones. De ma- nera que para este ejemplo el método de la falsa posición modificado es más eficiente que el de bisección y muchísimo mejor que el método de la falsa posición no modificado. 5.4 BÚSQUEDAS POR INCREMENTOS Y DETERMINACIÓN DE VALORES INICIALES Además de verificar una respuesta individual, se debe determinar si se han localizado todas las raíces posibles. Como se mencionó anteriormente, por lo general una gráfica de la función ayudará a realizar dicha tarea. Otra opción es incorporar una búsqueda incremental al inicio del programa. Esto consiste en empezar en un extremo del inter- valo de interés y realizar evaluaciones de la función con pequeños incrementos a lo largo del intervalo. Si la función cambia de signo, se supone que la raíz está dentro del incremento. Los valores de x, al principio y al final del incremento, pueden servir como valores iniciales para una de las técnicas descritas en este capítulo. FUNCTION ModFalsePos(xl, xu, es, imax, xr, iter, ea) iter = 0 fl = f(xl) fu = f(xu) DO xrold = xr xr = xu – fu * (xl – xu) / (fl – fu) fr = f(xr) iter = iter + 1 IF xr 0 THEN ea = Abs((xr – xrold) / xr) * 100 END IF test = fl * fr IF test 0 THEN xu = xr fu = f(xu) iu = 0 il = il +1 If il ≥ 2 THEN fl = fl / 2 ELSE IF test 0 THEN xl = xr fl = f (xl) il = 0 iu = iu + 1 IF iu ≥ 2 THEN fu = fu / 2 ELSE ea = 0 END IF IF ea es 0R iter ≥ imax THEN EXIT END DO ModFalsePos = xr END ModFalsePos FIGURA 5.15 Seudocódigo para el mé- todo de la falsa posición modificado. 138 MÉTODOS CERRADOS
  • 163. Un problema potencial en los métodos de búsqueda por incremento es el de escoger la longitud del incremento. Si la longitud es muy pequeña, la búsqueda llega a consumir demasiado tiempo. Por otro lado, si la longitud es demasiado grande, existe la posibilidad de que raíces muy cercanas entre sí pasen inadvertidas (figura 5.16). El problema se complica con la posible existencia de raíces múltiples. Un remedio parcial para estos casos consiste en calcular la primera derivada de la función f′(x) al inicio y al final de cada intervalo. Cuando la derivada cambia de signo, puede existir un máximo o un mínimo en ese intervalo, lo que sugiere una búsqueda más minuciosa para detectar la posibilidad de una raíz. Aunque estas modificaciones o el empleo de un incremento muy fino ayudan a resolver el problema, se debe aclarar que métodos tales como el de la búsqueda incre- mental no siempre resultan sencillos. Será prudente complementar dichas técnicas au- tomáticas con cualquier otra información que dé idea de la localización de las raíces. Esta información se puede encontrar graficando la función y entendiendo el problema físico de donde proviene la ecuación. PROBLEMAS x6 x0 x1 x2 x3 x4 x5 f(x) x FIGURA 5.16 Casos donde las raíces pueden pasar inadvertidas debido a que la longitud del incremento en el método de búsqueda incremental es demasiado grande. Ob- serve que la última raíz a la derecha es múltiple y podría dejar de considerarse inde- pendientemente de la longi- tud del incremento. 5.1 Determine las raíces reales de f(x) = –0.5x2 + 2.5x + 4.5: a) Gráficamente b) Empleando la fórmula cuadrática c) Usando el método de bisección con tres iteraciones para determinar la raíz más grande. Emplee como valores inicia- les xl = 5 y xu = 10. Calcule el error estimado ea y el error verdadero et para cada iteración. 5.2 Determine las raíces reales de f(x) = 5x3 – 5x2 + 6x – 2: a) Gráficamente b) Utilizando el método de bisección para localizar la raíz más pequeña. Use los valores iniciales xl = 0 y xu = 1 iterando PROBLEMAS 139 hasta que el error estimado ea se encuentre debajo de es = 10%. 5.3 Determine las raíces reales de f(x) = −25 1 82x − 90x2 + 44x3 – 8x4 + 0.7x5 : a) Gráficamente b) Usando el método de bisección para localizar la raíz más grande con es = 10%. Utilice como valores iniciales xl = 0.5 y xu = 1.0. c) Realice el mismo cálculo que en b), pero con el método de la falsa posición y es = 0.2%. 5.4 Calcule las raíces reales de f(x) = –12 – 21x + 18x2 – 2.75x3 :
  • 164. a) Gráficamente b) Empleando el método de la falsa posición con un valor es correspondiente a tres cifras significativas para determinar la raíz más pequeña. 5.5 Localice la primera raíz no trivial de sen x = x2 , donde x está en radianes. Use una técnica gráfica y bisección con un interva- lo inicial de 0.5 a 1. Haga el cálculo hasta que ea sea menor que es = 2%. Realice también una prueba de error sustituyendo la respuesta final en la ecuación original. 5.6 Determine la raíz real de ln x2 = 0.7: a) Gráficamente b) Empleando tres iteraciones en el método de bisección con los valores iniciales xl = 0.5 y xu = 2. c) Usando tres iteraciones del método de la falsa posición, con los mismos valores iniciales de b). 5.7 Determine la raíz real de f(x) = (0.8 – 0.3x)/x: a) Analíticamente b) Gráficamente c) Empleando tres iteraciones en el método de la falsa posición, con valores iniciales de 1 a 3. Calcule el error aproximado ea y el error verdadero et en cada iteración. 5.8 Calcule la raíz cuadrada positiva de 18 usando el método de la falsa posición con es = 0.5%. Emplee como valores iniciales xl = 4 y xu = 5. 5.9 Encuentre la raíz positiva más pequeña de la función (x está en radianes) x2 | cos 冑苴 x | = 5 usando el método de la falsa posición. Para localizar el intervalo en donde se encuentra la raíz, grafique primero esta función para valores de x entre 0 y 5. Realice el cálculo hasta que ea sea menor que es = 1%. Compruebe su res- puesta final sustituyéndola en la función original. 5.10 Encuentre la raíz positiva de f(x) = x4 – 8x3 – 35x2 + 450x –1001, utilizando el método de la falsa posición. Tome como valores iniciales a xl = 4.5 y xu = 6, y ejecute cinco iteraciones. Calcule los errores tanto aproximado como verdadero, con base en el hecho de que la raíz es 5.60979. Emplee una gráfica para explicar sus resultados y hacer el cálculo dentro de un es = 1.0%. 5.11 Determine la raíz real de x3.5 = 80: a) En forma analítica. b) Con el método de la falsa posición dentro de es = 2.5%. Haga elecciones iniciales de 2.0 a 5.0. 5.12 Dada f(x) = –2x6 – 1.5x4 + 10x + 2 Use el método de la bisección para determinar el máximo de esta función. Haga elecciones iniciales de xl = 0 y xu = 1, y rea- lice iteraciones hasta que el error relativo aproximado sea menor que 5%. 5.13 La velocidad v de un paracaidista que cae está dada por v gm c e c m t = − ( ) − 1 ( / ) donde g = 9.8 m/s2 . Para un paracaidista con coeficiente de arrastre de c = 15 kg/s, calcule la masa m de modo que la velo- cidad sea v = 35 m/s en t = 9s. Utilice el método de la falsa po- sición para determinar m a un nivel de es = 0.1%. 5.14 Se carga una viga de la manera que se aprecia en la figura P5.14. Emplee el método de bisección para resolver la posición dentro de la viga donde no hay momento. 140 MÉTODOS CERRADOS 3’ 3’ 2’ 4’ 100 lb/ft 100 lb 5.15 Por un canal trapezoidal fluye agua a una tasa de Q = 20 m3 /s. La profundidad crítica y para dicho canal satisface la ecuación 0 1 2 3 = − Q gA B c donde g = 9.81m/s2 , Ac = área de la sección transversal (m2 ), y B = ancho del canal en la superficie (m). Para este caso, el ancho y el área de la sección transversal se relacionan con la profundi- dad y por medio de B = 3 + y y A y y c = + 3 2 2 Resuelva para la profundidad crítica con el uso de los métodos a) gráfico, b) bisección, y c) falsa posición. En los incisos b) y c), haga elecciones iniciales de xl = 0.5 y xu = 2.5, y ejecute iteracio- nes hasta que el error aproximado caiga por debajo del 1% o el número de interaciones supere a 10. Analice sus resultados. 5.16 Suponga el lector que está diseñando un tanque esférico (véase la figura P5.16) para almacenar agua para un poblado pequeño en un país en desarrollo. El volumen de líquido que puede contener se calcula con V h R h = − π 2 3 3 [ ] Figura P5.14
  • 165. donde V = volumen [m3 ], h = profundidad del agua en el tanque [m], y R = radio del tanque [m]. a) Si los valores iniciales son de 0 y 40ºC, con el método de la bisección, ¿cuántas iteraciones se requerirían para deter- minar la temperatura con un error absoluto de 0.05ºC. b) Desarrolle y pruebe un programa para el método de bisec- ción a fin de determinar T como función de una concen- tración dada de oxígeno, con un error absoluto preespecifi- cado como en el inciso a). Dadas elecciones iniciales de 0 y 40ºC, pruebe su programa para un error absoluto de 0.05ºC para los casos siguientes: osf = 8, 10 y 12 mg/L. Compruebe sus resultados. 5.18 Integre el algoritmo que se bosquejó en la figura 5.10, en forma de subprograma completo para el método de bisección amigable para el usuario. Entre otras cosas: a) Construya enunciados de documentación en el subprograma a fin de identificar lo que se pretende que realice cada sec- ción. b) Etiquete la entrada y la salida. c) Agregue una comprobación de la respuesta, en la que se sustituya la estimación de la raíz en la función original para verificar si el resultado final se acerca a cero. d) Pruebe el subprograma por medio de repetir los cálculos de los ejemplos 5.3 y 5.4. 5.19 Desarrolle un subprograma para el método de bisección que minimice las evaluaciones de la función, con base en el seu- docódigo que se presenta en la figura 5.11. Determine el núme- ro de evaluaciones de la función (n) para el total de iteraciones. Pruebe el programa con la repetición del ejemplo 5.6. 5.20 Desarrolle un programa amigable para el usuario para el método de la falsa posición. La estructura del programa debe ser similar al algoritmo de la bisección que se bosquejó en la figura 5.10. Pruebe el programa con la repetición del ejemplo 5.5. 5.21 Desarrolle un subprograma para el método de la falsa po- sición que minimice las evaluaciones de la función en forma similar a la figura 5.11. Determine el número de evaluaciones de la función (n) para el total de iteraciones. Pruebe el programa por medio de la duplicación del ejemplo 5.6. 5.22 Desarrolle un subprograma amigable para el usuario para el método de la falsa posición modificado, con base en la figura 5.15. Pruebe el programa con la determinación de la raíz de la función del ejemplo 5.6. Ejecute corridas hasta que el error re- lativo porcentual verdadero esté por debajo de 0.01%. Elabore una gráfica en papel semilogarítmico de los errores relativo, porcentual, aproximado y verdadero, versus el número de itera- ciones. Interprete los resultados. PROBLEMAS 141 h V R Figura P5.16 Si R = 3m, ¿a qué profundidad debe llenarse el tanque de modo que contenga 30 m3 ? Haga tres iteraciones con el método de la falsa posición a fin de obtener la respuesta. Determine el error relativo aproximado después de cada iteración. 5.17 La concentración de saturación de oxígeno disuelto en agua dulce se calcula con la ecuación (APHA, 1992) ln o T sf a = − + × − × 139 34411 1 575701 10 6 642308 1 5 . . . 0 0 1 243800 10 8 621949 10 7 2 10 3 11 4 T T T a a a + × − × . . donde osf = concentración de saturación de oxígeno disuelto en agua dulce a 1 atm (mg/L) y Ta = temperatura absoluta (K). Recuerde el lector que Ta = T + 273.15, donde T = temperatura (ºC). De acuerdo con esta ecuación, la saturación disminuye con el incremento de la temperatura. Para aguas naturales comunes en climas templados, la ecuación se usa para determinar que la concentración de oxígeno varía de 14.621 mg/L a 0ºC a 6.413 mg/L a 40ºC. Dado un valor de concentración de oxígeno, puede emplearse esta fórmula y el método de bisección para resolver para la termperatura en ºC.
  • 166. CAPÍTULO 6 Métodos abiertos En los métodos cerrados del capítulo anterior la raíz se encuentra dentro de un interva- lo predeterminado por un límite inferior y otro superior. La aplicación repetida de estos métodos siempre genera aproximaciones cada vez más cercanas a la raíz. Se dice que tales métodos son convergentes porque se acercan progresivamente a la raíz a medida que se avanza en el cálculo (figura 6.1a). En contraste, los métodos abiertos descritos en este capítulo se basan en fórmulas que requieren únicamente de un solo valor de inicio x o que empiecen con un par de ellos, pero que no necesariamente encierran la raíz. Éstos, algunas veces divergen o se alejan de la raíz verdadera a medida que se avanza en el cálculo (figura 6.1b). Sin em- bargo, cuando los métodos abiertos convergen (figura 6.1c), en general lo hacen mucho más rápido que los métodos cerrados. Empecemos el análisis de los métodos abiertos con una versión simple que es útil para ilustrar su forma general y también para demos- trar el concepto de convergencia. FIGURA 6.1 Representación gráfica de las diferencias fundamen- tales entre los métodos a) cerrados, b) y c) los méto- dos abiertos para el cálculo de raíces. En a) se ilustra el método de bisección, donde la raíz está contenida dentro del intervalo dado por xl, y xu. En contraste, en los mé- todos abiertos, ilustrados en b) y c), se utiliza una fórmula para dirigirse de xi a xi+1, con un esquema iterativo. Así, el método puede b) diverger o c) converger rápidamente, dependiendo de los valores iniciales. f(x) x a) xl xu xl xu f(x) x b) xi xi + 1 f(x) x c) xi xi + 1 xl xu xl xu xl xu
  • 167. 6.1 ITERACIÓN SIMPLE DE PUNTO FIJO Como se dijo antes, los métodos abiertos emplean una fórmula para predecir la raíz. Esta fórmula puede desarrollarse como una iteración simple de punto fijo (también llamada iteración de un punto o sustitución sucesiva o método de punto fijo), al arreglar la ecua- ción f(x) = 0 de tal modo que x esté del lado izquierdo de la ecuación: x = g(x) (6.1) Esta transformación se realiza mediante operaciones algebraicas o simplemente suman- do x a cada lado de la ecuación original. Por ejemplo, x2 – 2x + 3 = 0 se arregla para obtener x2 + 3 x = –––––– 2 mientras que sen x = 0 puede transformarse en la forma de la ecuación (6.1) sumando x a ambos lados para obtener x = sen x + x La utilidad de la ecuación (6.1) es que proporciona una fórmula para predecir un nuevo valor de x en función del valor anterior de x. De esta manera, dado un valor inicial para la raíz xi, la ecuación (6.1) se utiliza para obtener una nueva aproximación xi+1, expresada por la fórmula iterativa xi+1 = g(xi) (6.2) Como en otras fórmulas iterativas de este libro, el error aproximado de esta ecuación se calcula usando el error normalizado [ecuación (3.5)]: εa i i i x x x = − + + 1 1 100% EJEMPLO 6.1 Iteración simple de punto fijo Planteamiento del problema. Use una iteración simple de punto fijo para localizar la raíz de f(x) = e–x – x. Solución. La función se puede separar directamente y expresarse en la forma de la ecuación (6.2) como xi + l = e–xi 6.1 ITERACIÓN SIMPLE DE PUNTO FIJO 143
  • 168. 144 MÉTODOS ABIERTOS Empezando con un valor inicial x0 = 0, se aplica esta ecuación iterativa para calcular i xi ea (%) et (%) 0 0 100.0 1 1.000000 100.0 76.3 2 0.367879 171.8 35.1 3 0.692201 46.9 22.1 4 0.500473 38.3 11.8 5 0.606244 17.4 6.89 6 0.545396 11.2 3.83 7 0.579612 5.90 2.20 8 0.560115 3.48 1.24 9 0.571143 1.93 0.705 10 0.564879 1.11 0.399 De esta manera, se puede observar que cada iteración se acerca cada vez más al valor aproximado al valor verdadero de la raíz: 0.56714329. 6.1.1 Convergencia Note que el error relativo porcentual verdadero en cada iteración del ejemplo 6.1 es pro- porcional (por un factor de 0.5 a 0.6) al error de la iteración anterior. Esta propiedad, co- nocida como convergencia lineal, es característica de la iteración simple de punto fijo. Además de la “velocidad” de convergencia, en este momento debemos enfatizar la “posibilidad” de convergencia. Los conceptos de convergencia y divergencia se pueden ilustrar gráficamente. Recuerde que en la sección 5.1 se graficó una función para visua- lizar su estructura y comportamiento (ejemplo 5.1). Ese método se emplea en la figura 6.2a para la función f(x) = e–x – x. Un método gráfico alternativo consiste en separar la ecuación en dos partes, de esta manera f1(x) = f2(x) Entonces las dos ecuaciones y1 = f1(x) (6.3) y y2 = f2(x) (6.4) se grafican por separado (figura 6.2b ). Así, los valores de x correspondientes a las in- tersecciones de estas dos funciones representan las raíces de f(x) = 0. EJEMPLO 6.2 El método gráfico de las dos curvas Planteamiento del problema. Separe la ecuación e–x – x = 0 en dos partes y deter- mine su raíz en forma gráfica. Solución. Reformule la ecuación como y1 = x y y2 = e–x . Al tabular las funciones se obtienen los siguientes valores:
  • 169. x y1 y2 0.0 0.0 1.000 0.2 0.2 0.819 0.4 0.4 0.670 0.6 0.6 0.549 0.8 0.8 0.449 1.0 1.0 0.368 Estos puntos se grafican en la figura 6.2b. La intersección de las dos curvas indica una raíz estimada de aproximadamente x = 0.57, que corresponde al valor donde la curva de la figura 6.2a cruza el eje x. FIGURA 6.2 Dos métodos gráficos para determinar la raíz de f(x) = e–x – x. a) La raíz como un punto donde la función cruza el eje x; b) la raíz como la intersección de las dos funciones componentes. f (x) f (x) x x Raíz Raíz f (x) = e– x – x f 1(x) = x f 2(x) = e– x a) b) 6.1 ITERACIÓN SIMPLE DE PUNTO FIJO 145
  • 170. 146 MÉTODOS ABIERTOS El método de las dos curvas también se utiliza para ilustrar la convergencia y diver- gencia de la iteración de punto fijo. En primer lugar, la ecuación (6.1) se reexpresa como un par de ecuaciones y1 = x y y2 = g(x). Estas dos ecuaciones se grafican por separado. Entonces, las raíces de f(x) = 0 corresponden al valor de la abscisa para la intersección de las dos curvas. En la figura 6.3 se grafican la función yl = x y cuatro formas diferen- tes de la función y2 = g(x). En el primer caso (figura 6.3a), el valor inicial x0 sirve para determinar el punto [x0, g(x0)] correspondiente a la curva y2. El punto (x1, x1) se encuentra moviéndose ho- rizontalmente a la izquierda hasta la curva y1. Estos movimientos son el equivalente a la primera iteración en el método de punto fijo: x1 = g(x0) De esta manera, tanto en la ecuación como en la gráfica se usa un valor inicial x0 para obtener una aproximación de x1. La siguiente iteración consiste en moverse al punto [x1, g(x1)] y después a (x2, x2). Esta iteración es equivalente a la ecuación: x2 = g(x1) FIGURA 6.3 Representación gráfica en a) y b) de la convergencia. En c) y d) de la divergencia del método de punto fijo. Las gráficas a) y c) tienen un comportamiento monótono; mientras que b) y d) tienen un comportamiento oscila- torio o en espiral. Deberá notar que la convergencia se obtiene cuando ⎪g’(x)⎪ 1. x x1 y1 = x y2 = g(x) x2 x0 y a) x y1 = x y2 = g(x) x0 y b) x y1 = x y2 = g(x) x0 y c) x y1 = x y2 = g(x) x0 y d)
  • 171. La solución en la figura 6.3a es convergente, ya que la aproximación de x se acerca más a la raíz con cada iteración. Lo mismo ocurre en la figura 6.3b. Sin embargo, éste no es el caso en las figuras 6.3c y 6.3d, donde las iteraciones divergen de la raíz. Observe que la convergencia ocurre únicamente cuando el valor absoluto de la pendiente de y2 = g(x) es menor al valor de la pendiente de y1 = x, es decir, cuando |g′(x)| 1. En el cuadro 6.1 se presenta un desarrollo teórico de este resultado. 6.1.2 Algoritmo para el método de punto fijo El algoritmo para la iteración de punto fijo es simple en extremo. Consta de un loop o ciclo que calcula en forma iterativa nuevas aproximaciones hasta satisfacer el criterio de terminación. En la figura 6.4 se muestra el seudocódigo para el algoritmo. Se pueden programar de manera similar otros métodos abiertos, la modificación principal consis- te en cambiar la fórmula iterativa que se utiliza para calcular la nueva raíz. Al analizar la figura 6.3, se debe notar que la iteración de punto fijo converge si, en la región de interés, ⏐g′(x)⏐ 1. En otras palabras, la convergencia ocurre si la magnitud de la pendiente de g(x) es menor que la pendiente de la recta f(x) = x. Esta ob- servación puede demostrarse teóricamente. Recuerde que la ecuación iterativa es xi + 1 = g(xi) Suponga que la solución verdadera es xr = g(xr) Restando estas dos ecuaciones se obtiene xr – xi+1 = g(xr) – g(xi) (C6.1.1) El teorema del valor medio de la derivada (recuerde la sección 4.1.1) establece que si una función g(x) y su primer derivada son continuas en un intervalo a ≤ x ≤ b, entonces existe al menos un valor de x = x dentro del intervalo para el que g(b) – g(a) g′(x) = ————— (C6.1.2) b – a El lado derecho de esta ecuación es la pendiente de la recta que une a g(a) y g(b). Así, el teorema del valor medio establece que existe al menos un punto entre a y b que tiene una pendiente, denotada por g′(x), que es paralela a la línea que une g(a) con g(b) (recuerde la figura 4.3). Ahora, si se hace a = xi y b = xr, el lado derecho de la ecuación (C6.1.1) se expresa como g(xr) – g(xi) = (xr – xi)g′(x) donde x se encuentra en alguna parte entre xi y xr . Este resultado se sustituye en la ecuación (C6.1.1) para obtener xr – xi+1 = (xr – xi)g′(x) (C6.1.3) Si el error verdadero en la iteración i se define como Et,i = xr – xi entonces la ecuación (C6.1.3) se convierte en Et,i+1 = g′(x)Et,i En consecuencia, si ⏐g′(x)⏐ 1, entonces los errores disminuyen con cada iteración. Si ⏐g′(x)⏐ 1, los errores crecen. Observe también que si la derivada es positiva, los errores serán positivos y, por lo tanto, la solución iterativa será monótona (figuras 6.3a y 6.3c). Si la derivada es negativa, entonces los errores oscilarán (figuras 6.3b y 6.3d). Un corolario de este análisis establece que cuando el método converge, el error es proporcional y menor que el error en la iteración anterior. Por tal razón se dice que la iteración simple de punto fijo es linealmente convergente. 6.1 ITERACIÓN SIMPLE DE PUNTO FIJO 147 Cuadro 6.1 Convergencia del método de punto fijo
  • 172. 148 MÉTODOS ABIERTOS FUNCTION Fixpt(x0, es, imax iter, ea) xr = x0 iter = 0 DO xrold = xr xr = g(xrold) iter = iter + 1 lF xr ≠ 0 THEN ea xr– xrold xr 100 = ⋅ END IF IF ea es 0R iter ≥ imax EXIT END DO Fixpt = xr END Fixpt FIGURA 6.4 Seudocódigo para el mé- todo de punto fijo. Note que otros métodos abiertos pueden diseñarse en este formato general. FIGURA 6.5 Representación gráfica del método de Newton-Raph- son. Se extrapola una tan- gente a la función en xi [esto es, f’(xi)] hasta el eje x para obtener una estimación de la raíz en xi + 1. 6.2 MÉTODO DE NEWTON-RAPHSON Tal vez, de las fórmulas para localizar raíces, la fórmula de Newton-Raphson (figura 6.5) sea la más ampliamente utilizada. Si el valor inicial para la raíz es xi, entonces se puede trazar una tangente desde el punto [xi, f(xi)] de la curva. Por lo común, el punto donde esta tangente cruza al eje x representa una aproximación mejorada de la raíz. El método de Newton-Raphson se deduce a partir de esta interpretación geométri- ca (un método alternativo basado en la serie de Taylor se describe en el cuadro 6.2). De la figura 6.5, se tiene que la primera derivada en x es equivalente a la pendiente: f(x) f(xi) f(xi) – 0 Pendiente = f'(xi) 0 x xi+1 xi xi – xi+1
  • 173. f(xi) – 0 ƒ′(xi) = ––––—— (6.5) xi – xi + 1 que se arregla para obtener x x f x f x i i i i + = ′ 1 – ( ) ( ) (6.6) la cual se conoce como fórmula de Newton-Raphson. EJEMPLO 6.3 Método de Newton-Raphson Planteamiento del problema. Utilice el método de Newton-Raphson para calcular la raíz de f(x) = e–x – x empleando como valor inicial x0 = 0. Solución. La primera derivada de la función es ƒ′(x) = –e–x – 1 que se sustituye, junto con la función original en la ecuación (6.6), para tener e–xi – xi xi + 1 = xi – –––—— –e–xi – 1 Empezando con un valor inicial x0 = 0, se aplica esta ecuación iterativa para calcular i xi et (%) 0 0 100 1 0.500000000 11.8 2 0.566311003 0.147 3 0.567143165 0.0000220 4 0.567143290 10–8 Así, el método converge rápidamente a la raíz verdadera. Observe que el error relativo porcentual verdadero en cada iteración disminuye mucho más rápido que con la iteración simple de punto fijo (compare con el ejemplo 6.1). 6.2.1 Criterio de terminación y estimación de errores Como en los otros métodos para localizar raíces, la ecuación (3.5) se utiliza como un criterio de terminación. No obstante, el desarrollo del método con base en la serie de Taylor (cuadro 6.2), proporciona una comprensión teórica respecto a la velocidad de convergencia expresada por Ei+1 = O(E2 i ). De esta forma, el error debe ser proporcional al cuadrado del error anterior. En otras palabras, el número de cifras significativas de precisión aproximadamente se duplica en cada iteración. Dicho comportamiento se examina en el siguiente ejemplo. 6.2 MÉTODO DE NEWTON-RAPHSON 149
  • 174. 150 MÉTODOS ABIERTOS EJEMPLO 6.4 Análisis de error en el método de Newton-Raphson Planteamiento del problema. Como se dedujo del cuadro 6.2, el método de Newton- Raphson es convergente en forma cuadrática. Es decir, el error es proporcional al cua- drado del error anterior: – ƒ″(xr) Et, i + 1 ≅ ———– E2 t,i (E6.4.1) 2ƒ′(xr) Examine esta fórmula y observe si concuerda con los resultados del ejemplo 6.3. Solución. La primera derivada de f(x) = e–x – x es ƒ′(x) = –e–x – 1 Además de la deducción geométrica [ecuaciones (6.5) y (6.6)], el método de Newton-Raphson también se desarrolla a partir de la expansión de la serie de Taylor. Esta deducción alternativa es muy útil en el sentido de que provee cierta comprensión sobre la velocidad de convergencia del método. Recuerde del capítulo 4 que la expansión de la serie de Taylor se puede representar como f(xi + 1) = f(xi) + ƒ′(xi)(xi + 1 – xi) ƒ″(x) + ——— (xi + 1 – xi)2 (C6.2.1) 2! donde x se encuentra en alguna parte del intervalo desde xi hasta xi+l. Truncando la serie de Taylor después del término de la pri- mera derivada, se obtiene una versión aproximada: f(xi+1) ≅ f(xi) + ƒ′(xi)(xi+1 – xi) En la intersección con el eje x, f(xi+1) debe ser igual a cero, o 0 = f(xi) + ƒ′(xi)(xi+1 – xi) (C6.2.2) de donde se puede despejar a xi+1, así f(xi) xi + 1 = xi – ——– ƒ′(xi) que es idéntica a la ecuación (6.6). De esta forma, se ha deduci- do la fórmula de Newton-Raphson usando una serie de Taylor. Además de este desarrollo, la serie de Taylor sirve para esti- mar el error de la fórmula. Esto se logra observando que si se utilizan todos los términos de la serie de Taylor se obtendrá un resultado exacto. En tal situación xi+1 = xr, donde x es el valor verdadero de la raíz. Sustituyendo este valor junto con f(xr) = 0 en la ecuación (C6.2.1)se obtiene ƒ″(x) 0 = f(xi) + ƒ′(xi)(xr – xi) + ——– (xr – xi)2 (C6.2.3) 2! La ecuación (C6.2.2) se resta de la ecuación (C6.2.3) para obtener f″(x) 0 = ƒ′(xi)(xr – xi + 1) + ——–– (xr – xi)2 (C6.2.4) 2! Ahora, observe que el error es igual a la diferencia entre xi + l y el valor verdadero xr , como en Et, i + 1 = xr – xi + 1 y la ecuación (C6.2.4) se expresa como f″(x) 0 = ƒ′(xi)Et, i + 1 + ——–– E2 t,i (C6.2.5) 2! Si se supone que hay convergencia, entonces tanto xi como x se deberán aproximar a la raíz xr y la ecuación (C6.2.5) se reordena para obtener – ƒ″(xr) Et, i + 1 = ———–– E2 t,i (C6.2.6) 2ƒ′(xr) De acuerdo con la ecuación (C6.2.6), el error es proporcional al cuadrado del error anterior. Esto significa que el número de cifras decimales correctas aproximadamente se duplica en cada itera- ción. A este comportamiento se le llama convergencia cuadráti- ca. El ejemplo 6.4 ilustra esta propiedad. Cuadro 6.2 Deducción y análisis del error del método de Newton-Raphson
  • 175. que se evalúa en xr = 0.56714329 para dar ƒ′(0.56714329) = –1.56714329. La segunda derivada es: ƒ″(x) = e–x la cual se evalúa como ƒ″(0.56714329) = 0.56714329. Estos resultados se sustituyen en la ecuación (E6.4.1): 0.56714329 Et,i + 1 ≅ – ——————– E2 t,i = 0.18095E2 t,i 2(–1.56714329) En el ejemplo 6.3, el error inicial fue Et,0 = 0.56714329, el cual se sustituye en la ecuación de error que predice Et,1 ≅ 0.18095(0.56714329)2 = 0.0582 que es cercano al error verdadero de 0.06714329. En la siguiente iteración, Et,2 ≅ 0.18095(0.06714329)2 = 0.0008158 que también se compara de manera favorable con el error verdadero 0.0008323. Para la tercera iteración, Et,3 ≅ 0.18095(0.0008323)2 = 0.000000125 que es el error obtenido en el ejemplo 6.3. Así, la estimación del error mejora, ya que conforme nos acercamos a la raíz, x y x se aproximan mejor mediante xr [recuerde nues- tra suposición al ir de la ecuación (C6.2.5) a la ecuación (C6.2.6) en el cuadro 6.2]. Fi- nalmente: Et,4 ≅ 0.18095(0.000000125)2 = 2.83 × 10–15 Así, este ejemplo ilustra que el error en el método de Newton-Raphson para este caso es, de hecho, proporcional (por un factor de 0.18095) al cuadrado del error en la iteración anterior. 6.2.2 Desventajas del método de Newton-Raphson Aunque en general el método de Newton-Raphson es muy eficiente, hay situaciones donde se comporta de manera deficiente. Por ejemplo en el caso especial de raíces múl- tiples que se analizará más adelante en este capítulo. Sin embargo, también cuando se trata de raíces simples, se encuentran dificultades, como en el siguiente ejemplo. EJEMPLO 6.5 Ejemplo de una función que converge lentamente con el método de Newton-Raphson Planteamiento del problema. Determine la raíz positiva de f(x) = x10 – 1 usando el método de Newton-Raphson y un valor inicial x = 0.5. Solución. La fórmula de Newton-Raphson en este caso es: xi + 1 = xi – x x i i 10 9 1 10 – 6.2 MÉTODO DE NEWTON-RAPHSON 151
  • 176. 152 MÉTODOS ABIERTOS que se utiliza para calcular: Iteración x 0 0.5 1 51.65 2 46.485 3 41.8365 4 37.65285 5 33.887565 · · · ∞ 1.0000000 De esta forma, después de la primera predicción deficiente, la técnica converge a la raíz verdadera, 1, pero muy lentamente. Además de la convergencia lenta debido a la naturaleza de la función, es posible que se presenten otras dificultades, como se ilustra en la figura 6.6. Por ejemplo, la figura 6.6a muestra el caso donde un punto de inflexión [esto es, ƒ″(x) = 0] ocurre en la vecin- dad de una raíz. Observe que las iteraciones que empiezan con x0 divergen progresiva- mente de la raíz. En la figura 6.6b se ilustra la tendencia del método de Newton-Raphson a oscilar alrededor de un mínimo o máximo local. Tales oscilaciones pueden persistir o, como en la figura 6.6b, alcanzar una pendiente cercana a cero, después de lo cual la solución se aleja del área de interés. En la figura 6.6c se muestra cómo un valor inicial cercano a una raíz salta a una posición varias raíces más lejos. Esta tendencia a alejarse del área de interés se debe a que se encuentran pendientes cercanas a cero. En efecto, una pendiente cero [ƒ′(x) = 0] es un verdadero desastre, ya que causa una división entre cero en la fórmula de Newton-Raphson [ecuación (6.6)]. En forma gráfica (figura 6.6d), esto significa que la solución se dispara horizontalmente y jamás toca al eje x. De manera que no hay un criterio general de convergencia para el método de Newton- Raphson. Su convergencia depende de la naturaleza de la función y de la exactitud del valor inicial. La única solución en estos casos es tener un valor inicial que sea “suficien- temente” cercano a la raíz. ¡Y para algunas funciones ningún valor inicial funcionará! Los buenos valores iniciales por lo común se predicen con un conocimiento del proble- ma físico o mediante el uso de recursos alternativos, tales como las gráficas, que pro- porcionan mayor claridad en el comportamiento de la solución. Ante la falta de un criterio general de convergencia se sugiere el diseño de programas computacionales eficientes que reconozcan la convergencia lenta o la divergencia. La siguiente sección está enfocada hacia dichos temas. 6.2.3 Algoritmo para el método de Newton-Raphson Un algoritmo para el método de Newton-Raphson se obtiene fácilmente al sustituir la ecuación (6.6) por la fórmula predictiva [ecuación (6.2)] en la figura 6.4. Observe, sin embargo, que el programa también debe modificarse para calcular la primera derivada. Esto se logra incluyendo simplemente una función definida por el usuario.
  • 177. Además, a la luz del análisis anterior sobre los problemas potenciales del método de Newton-Raphson, el programa se podría mejorar incorporando algunas considera- ciones adicionales: FIGURA 6.6 Cuatro casos donde el método de Newton-Raphson exhibe una convergencia deficiente. f (x) x x2 x0 x1 a) f (x) x x2 x4 x0 x1 x3 b) f (x) x x0 x1 x2 c) f (x) x x0 x1 d) 6.2 MÉTODO DE NEWTON-RAPHSON 153
  • 178. 154 MÉTODOS ABIERTOS 1. Se debe incluir una rutina de graficación en el programa. 2. Al final de los cálculos, se necesitará sustituir siempre la raíz final calculada en la función original, para determinar si el resultado se acerca a cero. Esta prueba protege el desarrollo del programa contra aquellos casos en los que se presenta convergencia lenta u oscilatoria, la cual puede llevar a valores pequeños de ea, mientras que la solución aún está muy lejos de una raíz. 3. El programa deberá incluir siempre un límite máximo permitido del número de ite- raciones para estar prevenidos contra soluciones oscilantes, de lenta convergencia o divergentes que podrían persistir en forma interminable. 4. El programa deberá alertar al usuario para que tome en cuenta la posibilidad de que ƒ′(x) sea igual a cero en cualquier momento durante el cálculo. 6.3 EL MÉTODO DE LA SECANTE Un problema potencial en la implementación del método de Newton-Raphson es la evaluación de la derivada. Aunque esto no es un inconveniente para los polinomios ni para muchas otras funciones, existen algunas funciones cuyas derivadas en ocasiones resultan muy difíciles de calcular. En dichos casos, la derivada se puede aproximar mediante una diferencia finita dividida hacia atrás, como en (figura 6.7) ′ ≅ f x f x f x x x i i i i i ( ) ( ) – ( ) – – – 1 1 FIGURA 6.7 Representación gráfica del método de la secante. Esta técnica es similar a la del método de Newton-Raphson (figura 6.5) en el sentido de que una aproximación de la raíz se predice extrapolando una tangente de la función hasta el eje x. Sin embargo, el método de la se- cante usa una diferencia dividida en lugar de una derivada para estimar la pendiente. f (x) f (xi ) f (xi – 1) x xi xi – 1
  • 179. Esta aproximación se sustituye en la ecuación (6.6) para obtener la siguiente ecuación iterativa: x x f x x x f x f x i i i i i i i + = 1 1 1 – ( )( – ) ( ) – ( ( ) – – (6.7) La ecuación (6.7) es la fórmula para el método de la secante. Observe que el método requiere de dos valores iniciales de x. Sin embargo, debido a que no se necesita que f(x) cambie de signo entre los valores dados, este método no se clasifica como un método cerrado. EJEMPLO 6.6 El método de la secante Planteamiento del problema. Con el método de la secante calcule la raíz de f(x) = e–x – x. Comience con los valores iniciales x–1 = 0 y x0 = 1.0. Solución. Recuerde que la raíz real es 0.56714329... Primera iteración: x–1 = 0 f(x–1) = 1.00000 x0 = 1 f(x0) = –0.63212 –0.63212(0 – 1) x1 = 1 – ———————– = 0.61270 et = 8.0% 1 – (–0.63212) Segunda iteración: x0 = 1 f(x0) = –0.63212 x1 = 0.61270 f(x1) = –0.07081 (Note que ambas aproximaciones se encuentran del mismo lado de la raíz.) x2 = 0.61270 – – . ( – . ) – . – ( . ) 0 07081 1 0 61270 0 63212 0 07081 = 0.56384 et = 0.58% Tercera iteración: x1 = 0.61270 f(x1) = –0.07081 x2 = 0.56384 f(x2) = 0.00518 x3 = 0.56384 – 0 00518 0 61270 0 56384 0 07081 0 00518 . ( . – . ) – . – (– . ) = 0.56717 et = 0.0048% 6.3.1 Diferencia entre los métodos de la secante y de la falsa posición Observe la similitud entre los métodos de la secante y de la falsa posición. Por ejemplo, las ecuaciones (6.7) y (5.7) son idénticas en todos los términos. Ambas usan dos valores iniciales para calcular una aproximación de la pendiente de la función que se utiliza para 6.3 EL MÉTODO DE LA SECANTE 155
  • 180. 156 MÉTODOS ABIERTOS proyectar hacia el eje x una nueva aproximación de la raíz. Sin embargo, existe una di- ferencia crítica entre ambos métodos. Tal diferencia estriba en la forma en que uno de los valores iniciales se reemplaza por la nueva aproximación. Recuerde que en el méto- do de la falsa posición, la última aproximación de la raíz reemplaza cualquiera de los valores iniciales que dé un valor de la función con el mismo signo que f(xr). En conse- cuencia, las dos aproximaciones siempre encierran a la raíz. Por lo tanto, para todos los casos, el método siempre converge, pues la raíz se encuentra dentro del intervalo. En contraste, el método de la secante reemplaza los valores en secuencia estricta: con el nuevo valor xi + 1 se reemplaza a xi y xi reemplaza a xi – 1. En consecuencia, algunas veces los dos valores están en el mismo lado de la raíz. En ciertos casos esto puede llevar a divergencias. EJEMPLO 6.7 Comparación de la convergencia en los métodos de la secante y de la falsa posición Planteamiento del problema. Utilice los métodos de la secante y de la falsa posición para calcular la raíz de f(x) = ln x. Empiece los cálculos con los valores iniciales xl = xi –1 = 0.5 y xu = xi = 5.0. FIGURA 6.8 Comparación entre los métodos de la falsa posición y de la secante. Las primeras iteracio- nes a) y b) de ambos métodos son idénticas. No obstante, en las segundas iteraciones c) y d), los puntos usados son diferentes. En consecuencia, el método de la secante llega a diver- ger, como se indica en d). f (x) f (xu ) f (xl) x xr a) Falsa posición f (x) f (xi ) f (xi ) f (xi – 1) x xr b) Secante f (x) f (xl ) f (xu) x xr c) f (x) f (xi – 1) x xr d)
  • 181. Solución. En el método de la falsa posición, con el uso de la ecuación (5.7) y los cri- terios del intervalo para el reemplazo de las aproximaciones, se obtienen las siguientes iteraciones: Iteración xl xu xr 1 0.5 5.0 1.8546 2 0.5 1.8546 1.2163 3 0.5 1.2163 1.0585 Como se observa (figuras 6.8a y c), las aproximaciones van convergiendo a la raíz real que es igual a 1. En el método de la secante, con el uso de la ecuación (6.7) y el criterio secuencial para el reemplazo de las aproximaciones, se obtiene: Iteración xi – 1 xi xi + 1 1 0.5 5.0 1.8546 2 5.0 1.8546 –0.10438 Como se muestra en la figura 6.8d, el método es divergente. Aunque el método de la secante sea divergente, cuando converge lo hace más rápi- do que el método de la falsa posición. Por ejemplo, en la figura 6.9 se muestra la supe- rioridad del método de la secante. La inferioridad del método de la falsa posición se debe a que un extremo permanece fijo, para mantener a la raíz dentro del intervalo. Esta propiedad, que es una ventaja porque previene la divergencia, tiene una desventaja en relación con la velocidad de convergencia; esto hace de la diferencia finita estimada una aproximación menos exacta que la derivada. 6.3.2 Algoritmo para el método de la secante Como con los otros métodos abiertos, el algoritmo del método de la secante se obtiene simplemente modificando la figura 6.4, de tal forma que se puedan introducir dos valo- res iniciales, y usando la ecuación (6.7) se calcule la raíz. Además, las opciones sugeri- das en la sección 6.2.3 para el método de Newton-Raphson, también se pueden aplicar para obtener ventajas al programa de la secante. 6.3.3 Método de la secante modificado En lugar de usar dos valores arbitrarios para aproximar la derivada, un método alterna- tivo considera un cambio fraccionario de la variable independiente para estimar ƒ′(x), ƒ′(xi) ≅ f x x f x x i i i i ( ) – ( ) + δ δ 6.3 EL MÉTODO DE LA SECANTE 157
  • 182. 158 MÉTODOS ABIERTOS donde d es un pequeño cambio fraccionario. Esta aproximación se sustituye en la ecua- ción (6.6) que da la siguiente ecuación iterativa: x x x f x f x x f x i i i i i i i + = + 1 – ( ) ( ) – ( ) δ δ (6.8) EJEMPLO 6.8 Método de la secante modificado Planteamiento del problema. Con el método de la secante modificado estime la raíz de f(x) = e–x – x. Use un valor de 0.01 para d y comience con x0 = 1.0. Recuerde que la raíz verdadera es 0.56714329... Solución. Primera iteración: 20 Iteraciones Error relativo porcentual verdadero 10–6 10–5 10–4 10–3 10–2 10–1 1 10 F a l s a p o s i c i ó n S e c a n t e N e w t o n - R a p h s o n B i s e c c i ó n FIGURA 6.9 Comparación de los errores relativos porcentuales verdaderos et, para los métodos que de- terminan las raíces de f(x) = e–x – x.
  • 183. x0 = 1 f(x0) = –0.63212 x0 + dx0 = 1.01 f(x0 + dx0) = –0.64578 x1 = 1 – 0 01 0 63212 0 64578 0 63212 . (– . ) – . – (– . ) = 0.537263 ⏐et⏐ = 5.3% Segunda iteración: x0 = 0.537263 f(x0) = 0.047083 x0 + dx0 = 0.542635 f(x0 + dx0) = 0.038579 x1 = 0.537263 – 0 005373 0 047083 0 038579 0 0047083 . ( . ) . – . = 0.56701 ⏐et⏐ = 0.0236% Tercera iteración: x0 = 0.56701 f(x0) = 0.000209 x0 + dx0 = 0.567143 f(x0 + dx0) = –0.00867 x1 = 0.56701 – 0 00567 0 000209 0 00867 0 000209 . ( . ) – . – . = 0.567143 ⏐et⏐ = 2.365 × 10–5 % La elección de un valor adecuado para d no es automática. Si d es muy pequeño, el método puede no tener éxito por el error de redondeo, causado por la cancelación por resta en el denominador de la ecuación (6.8). Si ésta es muy grande, la técnica puede llegar a ser ineficiente y hasta divergente. No obstante, si se selecciona correctamente, proporciona una adecuada alternativa en los casos donde la evaluación de la derivada se dificulta y el desarrollo de dos valores iniciales es inconveniente. 6.4 RAÍCES MÚLTIPLES Una raíz múltiple corresponde a un punto donde una función es tangencial al eje x. Por ejemplo, una raíz doble resulta de f(x) = (x – 3)(x – 1)(x – 1) (6.9) o, multiplicando términos, f(x) = x3 – 5x2 + 7x – 3. La ecuación tiene una raíz doble porque un valor de x hace que dos términos de la ecuación (6.9) sean iguales a cero. Gráficamen- te, esto significa que la curva toca en forma tangencial al eje x en la raíz doble. Observe la figura 6.l0a en x = 1. Note que la función toca al eje pero no la cruza en la raíz. Una raíz triple corresponde al caso en que un valor de x hace que tres términos en una ecuación sean iguales a cero, como en f(x) = (x – 3)(x – l)(x – 1)(x – 1) o, multiplicando los términos, f(x) = x4 – 6x3 + 12x2 – 10x + 3. Advierta que la represen- tación gráfica (figura 6.10b) indica otra vez que la función es tangente al eje en la raíz, pero que en este caso sí cruza el eje. En general, la multiplicidad impar de raíces cruza 6.4 RAÍCES MÚLTIPLES 159
  • 184. 160 MÉTODOS ABIERTOS el eje, mientras que la multiplicidad par no lo cruza. Por ejemplo, la raíz cuádruple en la figura 6.10c no cruza el eje. Las raíces múltiples ofrecen algunas dificultades a muchos de los métodos numé- ricos expuestos en la parte dos: 1. El hecho de que la función no cambie de signo en raíces múltiples pares impide con- fiarse de los métodos cerrados, que se analizan en el capítulo 5. Así, en los métodos incluidos en este texto, se está limitando a los abiertos que pueden ser divergentes. 2. Otro posible problema se relaciona con el hecho de que no sólo f(x), sino también ƒ′(x) se aproxima a cero en la raíz. Tales problemas afectan los métodos de Newton- Raphson y de la secante, los cuales contienen derivadas (o su aproximación) en el denominador de sus fórmulas respectivas. Esto provocará una división entre cero cuando la solución converge muy cerca de la raíz. Una forma simple de evitar dichos problemas, que se ha demostrado teóricamente (Ralston y Rabinowitz, 1978), se basa en el hecho de que f(x) siempre alcanzará un valor cero antes que ƒ′(x). Por lo tanto, si se compara f(x) contra cero, dentro del programa, entonces los cálculos se pueden terminar antes de que ƒ′(x) llegue a cero. 3. Es posible demostrar que el método de Newton-Raphson y el método de la secante convergen en forma lineal, en vez de cuadrática, cuando hay raíces múltiples (Ralston y Rabinowitz, 1978). Se han propuesto algunas modificaciones para atenuar este problema. Ralston y Rabinowitz (1978) proponen que se realice un pequeño cambio en la formulación para que se regrese a la convergencia cuadrática, como en f(xi) xi + 1 = xi – m ——— (6.9a) ƒ′(xi) donde m es la multiplicidad de la raíz (es decir, m = 2 para una raíz doble, m = 3 para una raíz triple, etc.). Se trata de una alternativa poco satisfactoria, porque depende del conocimiento de la multiplicidad de la raíz. Otra alternativa, también sugerida por Ralston y Rabinowitz (1978), consiste en de- finir una nueva función u(x), que es el cociente de la función original entre su derivada: f(x) u(x) = ——– (6.10) ƒ′(x) Se puede demostrar que esta función tiene raíces en las mismas posiciones que la función original. Por lo tanto, la ecuación (6.10) se sustituye en la ecuación (6.6) para desarrollar una forma alternativa del método de Newton-Raphson: u(xi) xi + 1 = xi – ——— (6.11) u′(xi) Se deriva con respecto a x la ecuación (6.10) para obtener ƒ′(x)ƒ′(x) – f(x)ƒ″(x) u′(x) = —————————— (6.12) [ƒ′(x)]2 Se sustituyen las ecuaciones (6.10) y (6.12) en la ecuación (6.11) y se simplifica el resul- tado: f (x) x a) Raíz doble Raíz triple Raíz cuádruple 1 3 4 0 – 4 f (x) x c) 1 3 4 0 – 4 f (x) x b) 1 3 4 0 – 4 FIGURA 6.10 Ejemplos de raíces múltiples que son tangenciales al eje x. Observe que la función no cruza el eje en los casos de raíces múltiples pares a) y c), mientras que con multiplici- dad impar sí lo hace en b).
  • 185. x x f x f x f x f x f x i i i i i i + = ′ ′ [ ] ′′ 1 2 – ( ) ( ) ( ) – ( ) ( ) (6.13) EJEMPLO 6.9 Método de Newton-Raphson modificado para el cálculo de raíces múltiples Planteamiento del problema. Conlosdosmétodos,elestándaryelmodificado,deNew- ton-Raphson evalúe la raíz múltiple de la ecuación (6.9), use un valor inicial de x0 = 0. Solución. La primera derivada de la ecuación (6.9) es ƒ′(x) = 3x2 – 10x + 7, y por lo tanto, el método de Newton-Raphson estándar para este problema es [ecuación (6.6)] xi + 1 = xi – x x x x x i i i i 3 2 1 2 5 7 3 3 10 7 – – – + + que se resuelve iterativamente para obtener i xi et (%) 0 0 100 1 0.4285714 57 2 0.6857143 31 3 0.8328654 17 4 0.9133290 8.7 5 0.9557833 4.4 6 0.9776551 2.2 Como ya se había anticipado, el método converge en forma lineal hacia el valor verda- dero 1.0. Para el caso del método modificado, la segunda derivada es ƒ″(x) = 6x – 10, y en consecuencia la ecuación iterativa será [ecuación (6.13)] xi+1 = xi – ( – – )( – ) ( – ) – ( – – )( – ) x x x x x x x x x x x i i i i i i i i i i i 3 2 2 2 2 3 2 5 7 3 3 10 7 3 10 7 5 7 3 6 10 + + + + que se resuelve para obtener i xi et (%) 0 0 100 1 1.105263 11 2 1.003082 0.31 3 1.000002 0.00024 De esta manera, la fórmula modificada converge en forma cuadrática. Se pueden usar ambos métodos para buscar la raíz simple en x = 3. Con un valor inicial x0 = 4 se obtienen los siguientes resultados: 6.4 RAÍCES MÚLTIPLES 161
  • 186. 162 MÉTODOS ABIERTOS i Estándar et (%) Modificado et (%) 0 4 33 4 33 1 3.4 13 2.636364 12 2 3.1 3.3 2.820225 6.0 3 3.008696 0.29 2.961728 1.3 4 3.000075 0.0025 2.998479 0.051 5 3.000000 2 × 10–7 2.999998 7.7 × 10–5 De esta forma, deberá notar que, ambos métodos convergen con rapidez, aunque el método estándar es el más eficiente. En el ejemplo anterior se ilustran los factores de mayor importancia involucrados al elegir el método de Newton-Raphson modificado. Aunque es preferible para raíces múltiples, es menos eficiente y requiere más trabajo computacional que el método es- tándar para raíces simples. Se debe notar que hay manera de desarrollar una versión modificada del método de la secante para raíces múltiples, sustituyendo la ecuación (6.10) en la ecuación (6.7). La fórmula resultante es (Ralston y Rabinowitz, 1978) xi + 1 = xi – u x x x u x u x i i i i i ( )( – ) ( ) – ( ) – – 1 1 6.5 SISTEMAS DE ECUACIONES NO LINEALES Hasta aquí nos hemos ocupado de determinar las raíces de una sola ecuación no lineal. Un problema relacionado con éste consiste en obtener las raíces de un conjunto de ecua- ciones simultáneas, f1(x1, x2,..., xn) = 0 f2(x1, x2,..., xn) = 0 . . . . (6.14) . . fn(x1, x2,..., xn) = 0 La solución de este sistema consta de un conjunto de valores xi que simultáneamente hacen que todas las ecuaciones sean iguales a cero. En la parte tres, presentaremos los métodos, para el caso en que las ecuaciones si- multáneas son lineales, es decir, que se puedan expresar en la forma general f(x) = a1x1 + a2x2 + ··· + anxn – b = 0 (6.15) donde la b y las a son constantes. A las ecuaciones algebraicas y trascendentes que no se pueden expresar de esta forma se les llama ecuaciones no lineales. Por ejemplo, x2 + xy = 10
  • 187. y y + 3xy2 = 57 son dos ecuaciones simultáneas no lineales con dos incógnitas, x y y, las cuales se ex- presan en la forma de la ecuación (6.14) como u(x, y) = x2 + xy – 10 = 0 (6.16a) v(x, y) = y + 3xy2 – 57 = 0 (6.16b) Así, la solución serían los valores de x y de y que hacen a las funciones u(x, y) y v(x, y) iguales a cero. La mayoría de los métodos para determinar tales soluciones son exten- siones de los métodos abiertos para resolver ecuaciones simples. En esta sección presen- taremos dos de ellos: iteración de punto fijo y Newton-Raphson. 6.5.1 Iteración de punto fijo El método de iteración de punto fijo (sección 6.1) puede modificarse para resolver dos ecuaciones simultáneas no lineales. Este método se ilustra en el siguiente ejemplo. EJEMPLO 6.10 Iteración de punto fijo para un sistema no lineal Planteamiento del problema. Con el método de iteración de punto fijo determine las raíces de la ecuación (6.16). Observe que un par correcto de raíces es x = 2 y y = 3. Inicie el cálculo con el valor inicial x = 1.5 y y = 3.5. Solución. En la ecuación (6.l6a) se despeja x xi + 1 = 10 1 2 – x yi (E6.10.1) y en la ecuación (6.16b) se despeja y yi + l = 57 – 3xiyi 2 (E6.10.2) Observe que dejaremos los subíndices en el resto del ejemplo. Con base en los valores iniciales, la ecuación (E6.10.1) se utiliza para determinar un nuevo valor de x: x = 10 1 5 3 5 2 – ( . ) . = 2.21429 Este resultado y el valor inicial de y = 3.5 se sustituye en la ecuación (E6.10.2) para determinar un nuevo valor de y: y = 57 – 3(2.21429)(3.5)2 = –24.37516 Así, parece que el método diverge. Este comportamiento es aún más pronunciado en la segunda iteración: x = 10 2 21429 24 37516 2 – ( . ) – . = –0.20910 6.5 SISTEMAS DE ECUACIONES NO LINEALES 163
  • 188. 164 MÉTODOS ABIERTOS y = 57 – 3(–0.20910)(–24.37516)2 = 429.709 En efecto, la aproximación se está descomponiendo. Ahora repita el cálculo, pero con la ecuación original puesta en una forma diferen- te. Por ejemplo, un despeje alternativo de la ecuación (6.16a) es x xy = 10 – y de la ecuación (6.16b) es y y x = 57 3 – Ahora los resultados son más satisfactorios: x = = 10 1 5 3 5 2 17945 – . ( . ) . y = = 57 3 5 3 2 17945 2 86051 – . ( . ) . x = = 10 2 17945 2 86051 1 94053 – . ( . ) . y = = 57 2 86051 3 1 940553 3 04955 – . ( . ) . Así, la aproximación converge hacia la solución correcta x = 2 y y = 3. El ejemplo anterior ilustra la más seria desventaja de la iteración simple de punto fijo, ésta es que, la convergencia depende de la manera en que se formula la ecuación. Además, aun cuando la convergencia es posible, la divergencia puede ocurrir si los va- lores iniciales no son suficientemente cercanos a la solución verdadera. Usando un ra- zonamiento similar al del cuadro 6.1, se demuestra que las condiciones suficientes para la convergencia en el caso de dos ecuaciones son ∂ ∂ + ∂ ∂ u x x v 1 y ∂ ∂ + ∂ ∂ u y y v 1 Estos criterios son tan restringidos que el método de punto fijo tiene una utilidad limi- tada para resolver sistemas no lineales. Sin embargo, como se describirá más adelante en el libro, será muy útil para resolver sistemas de ecuaciones lineales. 6.5.2 Newton-Raphson Recuerde que el método de Newton-Raphson se utilizó empleando la derivada (al evaluar, es la pendiente de la recta tangente) de una función, para calcular su intersección con el
  • 189. eje de la variable independiente; esto es, la raíz (figura 6.5). Dicho cálculo se basó en la expansión de la serie de Taylor de primer orden (recuerde el cuadro 6.2), f(xi + 1) = f(xi) + (xi+1 – xi) ƒ′(xi) (6.17) donde xi es el valor inicial de la raíz y xi+1 es el valor en el cual la recta tangente inter- secta el eje x. En esta intersección, f(xi + 1) es, por definición, igual a cero y la ecuación (6.17) se reordena para tener f(xi) xi + 1 = xi – ——– (6.18) ƒ′(xi) que es la forma del método de Newton-Raphson para una sola ecuación. La forma para múltiples ecuaciones se obtiene en forma idéntica. Sin embargo, se debe usar una serie de Taylor de múltiples variables para tomar en cuenta el hecho de que más de una variable independiente contribuye a la determinación de la raíz. En el caso de dos variables, una serie de Taylor de primer orden se escribe [recuerde la ecua- ción (4.26)] para cada ecuación no lineal como ui + 1 = ui + (xi+1 – xi) ∂ ∂ u x i + (yi + 1 – yi) ∂ ∂ u y i (6.19a) y vi + 1 = vi + (xi+1 – xi) ∂ ∂ vi x + (yi+1 – yi) ∂ ∂ vi y (6.19b) De la misma manera como en la versión para una sola ecuación, la raíz aproximada corresponde a los valores de x y y, donde ui+1 y vi+1 son iguales a cero. En tal situación, se reordena la ecuación (6.19) como: ∂ ∂ + ∂ ∂ = + ∂ ∂ + ∂ ∂ + + u x x u y y u x u x y u y i i i i i i i i i 1 1 – (6.20a) ∂ ∂ + ∂ ∂ = + ∂ ∂ + ∂ ∂ + + v v v v v i i i i i i i i i x x y y x x y y 1 1 – (6.20b) Debido a que se conocen todos los valores con subíndice i (corresponden al último valor estimado), las únicas incógnitas son xi+1 y yi+1. Entonces, la ecuación (6.20) es un con- junto de dos ecuaciones lineales con dos incógnitas [compare con la ecuación (6.15)]. En consecuencia, se pueden usar manipulaciones algebraicas (por ejemplo, la regla de Cramer) para resolverlo: x x u y u y u x y u y x i i i i i i i i i i + = ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ 1 – – – v v v v (6.21a) 6.5 SISTEMAS DE ECUACIONES NO LINEALES 165
  • 190. 166 MÉTODOS ABIERTOS y y u x u x u x y u y x i i i i i i i i i i + = ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ 1 – – – v v v v (6.21b) El denominador de cada una de esas ecuaciones se conoce formalmente como el deter- minante Jacobiano del sistema. La ecuación (6.21) es la versión para dos ecuaciones del método de Newton-Raph- son. Como en el siguiente ejemplo, se puede emplear en forma iterativa para determinar las raíces de dos ecuaciones simultáneas. EJEMPLO 6.11 Newton-Raphson para un sistema no lineal Planteamiento del problema. Con el método de Newton-Raphson para múltiples ecuaciones determine las raíces de la ecuación (6.16). Observe que un par correcto de raíces es x = 2 y y = 3. Use como valores iniciales x = 1.5 y y = 3.5. Solución. Primero calcule las derivadas parciales y evalúelas con los valores iniciales de x y y: ∂ ∂ = + = + = u x x y 0 2 2 1 5 3 5 6 5 ( . ) . . ∂ ∂ = = u y x 0 1 5 . ∂ ∂ = = = v0 2 2 3 3 3 5 36 75 x y ( . ) . ∂ ∂ = + = + = v0 1 6 1 6 1 5 3 5 32 5 y xy ( . )( . ) . Así, el determinante jacobiano para la primera iteración es 6.5(32.5) – 1.5(36.75) = 156.125 Los valores de las funciones se evalúan con los valores iniciales como u0 = (1.5)2 + 1.5(3.5) – 10 = –2.5 v0 = 3.5 + 3(1.5)(3.5)2 – 57 = 1.625 Estos valores se sustituyen en la ecuación (6.21): x = 1.5 – – . ( . ) – . ( . ) . 2 5 32 5 1 625 1 5 156 125 = 2.03603 y = 3.5 – 1 625 6 5 2 5 36 75 156 125 . ( . ) – ( . )( . ) . − = 2.84388 Así, los resultados están convergiendo a los valores verdaderos x = 2 y y = 3. Los cálcu- los se repiten hasta que se obtenga una precisión aceptable. Como con el método de iteración de punto fijo, la aproximación de Newton-Raphson puede diverger si los valores iniciales no están lo suficientemente cercanos a la raíz
  • 191. verdadera. Mientras que para el caso de una sola ecuación los métodos gráficos son útiles para obtener un buen valor inicial, ningún procedimiento tan simple está disponi- ble para el caso de múltiples ecuaciones. Aunque existen algunos métodos avanzados para obtener una primer aproximación aceptable, los valores iniciales a menudo deben obtenerse mediante prueba y error, con el conocimiento del sistema físico que se está modelando. El método de Newton-Raphson para dos ecuaciones puede generalizarse para re- solver n ecuaciones simultáneas. Debido a que el camino más eficiente para esto impli- ca el álgebra matricial y la solución de ecuaciones lineales simultáneas, se pospondrá su estudio para la parte tres. 6.1 Utilice la iteración simple de punto fijo para localizar la raíz de f(x) = 2 sen x x ( )– Haga una elección inicial de x0 = 0.5 e itere hasta que ea ≤ 0.001%. Compruebe que el proceso converge en forma lineal según se describió en el recuadro 6.1. 6.2 Determine la raíz real más grande de f(x) = 2x3 – 11.7x2 + 17.7x – 5 a) En forma gráfica. b) Con el método de iteración simple de punto fijo (tres itera- ciones, x0 = 3). Nota: asegúrese de haber desarrollado una solución que converja a la raíz. c) Con el método de Newton-Raphson (tres iteraciones, x0 = 3, d = 0.001). d) Con el método de la secante (tres iteraciones x–1 = 3, x0 = 4). e) Con el método de la secante modificado (tres iteraciones, x0 = 3, d = 0.01). Calcule el porcentaje aproximado de errores relativos para sus soluciones. 6.3 Utilicelosmétodosdea)iteracióndepuntofijo,yb)Newton- Raphson, para determinar una raíz de f(x) = –x2 + 1.8x + 2.5 con el uso de x0 = 5. Haga el cálculo hasta que ea sea menor que es = 0.05%.Asimismo, realice una comprobación del error de su respuesta final. 6.4 Determine las raíces reales de f(x) = –1 + 5.5x – 4x2 + 0.5x3 : a) en forma gráfica, y b) con el método de Newton-Raphson dentro de es = 0.01%. 6.5 Emplee el método de Newton-Raphson para determinar una raíz real de f(x) = –1 + 5.5x – 4x2 + 0.5x3 con el uso de eleccio- nes iniciales de a) 4.52, y b) 4.54. Estudie y use métodos gráfi- cos y analíticos para explicar cualquier peculiaridad en sus resultados. 6.6 Determine la raíz real más pequeña de f(x) = –12 – 21x + 18x2 – 2.4x3 : a) en forma gráfica, y b) con el empleo del método de la secante para un valor de es que corresponda a tres cifras significativas. 6.7 Localice la primera raíz positiva de f(x) = sen x + cos(1 + x2 ) – 1 donde x está en radianes. Para localizar la raíz, use cuatro itera- ciones del método de la secante con valores iniciales de a) xi–1 = 1.0 y xi = 3.0; y b) xi – 1 = 1.5 y xi = 2.5, y c) xi–1 = 1.5 y xi = 2.25. 6.8 Determine la raíz real de x3.5 = 80, con el método de la se- cante modificado dentro de es = 0.1%, con el uso de una elección inicial de x0 = 3.5 y d = 0.01. 6.9 Determine la raíz real más grande de f(x) = 0.95x3 – 5.9x2 + 10.9x – 6: a) En forma gráfica. b) Con el uso del método de Newton-Raphson (tres iteraciones, xi = 3.5). c) Con el método de la secante (tres iteraciones, xi–1 = 2.5 y xi = 3.5). d) Por medio del método de la secante modificado (tres itera- ciones, xi = 3.5, d = 0.01). 6.10 Determine la menor raíz positiva de f(x) = 8 sen(x)e–x – 1: a) En forma gráfica. b) Con el uso del método de Newton-Raphson (tres iteraciones, xi = 0.3). PROBLEMAS PROBLEMAS 167
  • 192. 168 MÉTODOS ABIERTOS c) Con el método de la secante (tres iteraciones, xi–1 = 0.5 y xi = 0.3). d) Por medio del método de la secante modificado (cinco iteraciones xi = 0.3, d = 0.01). 6.11 La función x3 + 2x2 – 4x + 8 tiene una raíz doble en x = 2. Emplee a) el método estándar de Newton-Raphson [ec. (6.6)], b) el método de Newton-Raphson modificado [ec. (6.9a)], y c) el método de Newton-Raphson modificado [ec. (6.13)] para re- solver para la raíz en x = 2. Compare y analice la tasa de conver- gencia con un valor inicial x0 = 1.2. 6.12 Determine las raíces de las siguientes ecuaciones no linea- les simultáneas, por medio de los métodos de a) iteración de punto fijo, y b) Newton-Raphson: y = – x2 + x + 0.75 y + 5xy = x2 Utilice valores iniciales de x = y = 1.2, y analice los resultados. 6.13 Encuentre las raíces de las ecuaciones simultáneas que siguen: (x – 4)2 + (y – 4)2 = 5 x2 + y2 = 16 Use un enfoque gráfico para obtener los valores iniciales. En- cuentre estimaciones refinadas con el método de Newton-Raph- son para dos ecuaciones, que se describe en la sección 6.5.2. 6.14 Repita el problema 6.13, excepto que y = x2 + 1 y = 2 cos x 6.15 El balance de masa de un contaminante en un lago bien mezclado se expresa así: V dc dt W Qc kV c = – – Dados los valores de parámetros V = 1 × 106 m3 , Q = l × 105 m3 /año y W = l × 106 g/año, y k = 0.25 m0.5 /año, use el método de la secante modificado para resolver para la concentración de estado estable. Emplee un valor inicial c = 4 g/m3 y d = 0.5. Realice tres iteraciones y determine el error relativo porcentual después de la tercera iteración. 6.16 Para el problema 6.15, la raíz puede localizarse con iteración de punto fijo como c W Qc kV = ⎛ ⎝ ⎞ ⎠ – 2 o bien como c W kV c Q = – De las que solo una convergerá para valores iniciales de 2 c 6. Seleccione la que sea correcta y demuestre por qué siempre lo será. 6.17 Desarrolle un programa amigable para el usuario para el método de Newton-Raphson, con base en la figura 6.4 y la sección 6.2.3. Pruébelo por medio de repetir el cálculo del ejemplo 6.3. 6.18 Desarrolle un programa amigable para el usuario para el método de la secante, con base en la figura 6.4 y la sección 6.3.2. Pruébelo con la repetición de los cálculos del ejemplo 6.6. 6.19 Haga un programa amigable para el usuario para el método de la secante modificado, con base en la figura 6.4 y la sección 6.3.2. Pruébelo con la repetición del cálculo del ejemplo 6.8. 6.20 Desarrolle un programa amigable para el usuario para el método de Newton-Raphson para dos ecuaciones, con base en la sección 6.5. Pruébelo con la solución del ejemplo 6.10. 6.21 Use el programa que desarrolló en el problema 6.20 para resolver los problemas 6.12 y 6.13, con una tolerancia de es = 0.01%. 6.22 El antiguo método de dividir y promediar, para obtener una apoximación de la raíz cuadrada de cualquier número positivo, a, se formula del modo siguiente: x x a x = + / 2 Demuestre que éste es equivalente al algoritmo de Newton-Ra- phson. 6.23 a)Aplique el método de Newton-Raphson a la función f(x) = tanh (x2 – 9) para evaluar su raíz real conocida en x = 3. Use un valor inicial de x0 = 3.2 y haga un mínimo de cuatro iteracio- nes. b) ¿Converge el método a su raíz real? Bosqueja la gráfica con los resultados para cada iteración que obtenga. 6.24 El polinomio f(x) = 0.0074x4 – 0.284x3 + 3.355x2 – 12.183x + 5 tiene una raíz real entre 15 y 20. Aplique el método de Newton-Raphson a dicha función con valor inicial x0 = 16.15. Explique sus resultados. 6.25 Emplee el método de la secante con la función del círculo (x + 1)2 + (y – 2)2 = 16, a fin de encontrar una raíz real positiva. Haga que el valor inicial sea xi = 3 y xi–1 = 0.5. Aproxímese a la solución del primer y cuarto cuadrantes. Cuando resuelva para
  • 193. f(x) en el cuarto cuadrante, asegúrese de tomar el valor negativo de la raíz cuadrada. ¿Por qué diverge la solución? 6.26 Suponga el lector que está diseñando un tanque esférico (véase la figura P6.26) de almacenamiento de agua para un po- blado pequeño de un país en desarrollo. El volumen del líquido que puede contener se calcula con V h R h = − π 2 3 3 [ ] donde V = volumen [pie3 ], h = profundidad del agua en el tanque [pies], y R = radio del tanque [pies]. Si R = 3m, ¿a qué profundidad debe llenarse el tanque de modo que contenga 30 m3 ? Haga tres iteraciones del método de Newton- Raphson para determinar la respuesta. Encuentre el error relati- vo aproximado después de cada iteración. Observe que el valor inicial de R convergerá siempre. h V R Figura P6.26 PROBLEMAS 169
  • 194. CAPÍTULO 7 Raíces de polinomios En este capítulo estudiaremos los métodos para encontrar las raíces de ecuaciones poli- nomiales de la forma general fn(x) = a0 + a1x + a2x2 +... + anxn (7.1) donde n es el grado del polinomio y las a son los coeficientes del polinomio. Aunque los coeficientes pueden ser números reales o complejos, este estudio se limitará a los casos en que son reales. Entonces las raíces del polinomio pueden ser rea- les y/o complejas. Las raíces de los polinomios cumplen estas reglas: 1. En una ecuación de grado n, hay n raíces reales o complejas. Se debe notar que esas raíces no necesariamente son distintas. 2. Si n es impar, hay al menos una raíz real. 3. Si existen raíces complejas, éstas se encuentran por pares conjugados (es decir, l + µi y l – µi), donde i = −1 . Antes de describir las técnicas para localizar las raíces de polinomios, se proporcionarán algunos antecedentes. La primera sección da una motivación para estudiar dichas téc- nicas; la segunda trata de algunas manipulaciones computacionales fundamentales con polinomios. 7.1 POLINOMIOS EN LA CIENCIA Y EN LA INGENIERÍA Los polinomios tienen muchas aplicaciones en la ciencia y en la ingeniería. Por ejemplo, se usan mucho en el ajuste de curvas. Aunque se considera que una de las aplicaciones más interesantes y potentes es la caracterización de sistemas dinámicos y, en particular, de sistemas lineales. Algunos ejemplos son los dispositivos mecánicos, las estructuras y los circuitos eléctricos. Se analizarán ejemplos específicos en el resto del texto. Éstos, en particular, se enfocarán a varias aplicaciones en la ingeniería. Por ahora se mantendrá una discusión simple y general estudiando un sistema físi- co de segundo orden modelado con la siguiente ecuación diferencial ordinaria (EDO) lineal: a d y dt a dy dt a y F t 2 2 2 1 0 + + = ( ) (7.2) donde y y t son las variables dependiente e independiente, respectivamente, las a son coeficientes constantes y F(t) es la función de fuerza. Si el saber cómo se obtiene esta
  • 195. ecuación a partir de un sistema físico ayuda a motivarlo en el estudio de las matemáticas, puede leer con atención la sección 8.4 antes de continuar. Además, se debe observar que la ecuación (7.2) puede expresarse en forma alterna- tiva transformándola en un par de EDO de primer orden, mediante la definición de una nueva variable z, z dy dt = (7.3) La ecuación (7.3) se sustituye con su derivada en la ecuación (7.2) para eliminar el tér- mino de la segunda derivada. Esto reduce el problema a resolver dz dt F t a z a y a = − − ( ) 1 0 2 (7.4) dy dt z = (7.5) En forma similar, una EDO lineal de orden n-ésimo siempre puede transformarse en un sistema de n EDO de primer orden. Ahora veamos la solución. La función de fuerza representa el efecto del mundo exterior sobre el sistema. La solución general de la ecuación homogénea trata el caso donde la función de fuerza es igual a cero, a d y dt a dy dt a y 2 2 2 1 0 0 + + = (7.6) Entonces, como su nombre lo indica, la solución general describe algo muy general acerca del sistema que está simulando; es decir, cómo responde el sistema en ausencia de un estímulo externo. Ahora bien, como la solución general de todos los sistemas lineales no forzados es de la forma y = ert . Si esta función se deriva y se sustituye en la ecuación (7.6), el resul- tado es a2r2 ert + a1rert + a0ert = 0 cancelando los términos exponenciales, ya que ert ≠ 0 a2r2 + a1r + a0 = 0 (7.7) Observe que el resultado es un polinomio, que al igualar a cero, se obtiene una ecuación, llamada ecuación auxiliar o característica. Las raíces de este polinomio son los valores de r que satisfacen la ecuación (7.7). Las r se conocen como los valores ca- racterísticos, o eigenvalores, del sistema. Se tiene aquí la relación entre las raíces de polinomios con la ciencia y la ingeniería. Los eigenvalores nos dicen algo fundamental acerca del sistema que se está modelando, así encontrar los eigenvalores implica encontrar las raíces de los polinomios. Y mientras encontrar las raíces de una ecuación de segundo orden es fácil con la fórmula cua- drática, encontrar las raíces de una EDO de orden superior, relacionado con un sistema 7.1 POLINOMIOS EN LA CIENCIA Y EN LA INGENIERÍA 171
  • 196. 172 RAÍCES DE POLINOMIOS de orden superior (y, por lo tanto, de un polinomio de grado superior) es arduo desde el punto de vista analítico. Entonces, se requiere usar métodos numéricos del tipo descrito en este capítulo. Antes de proceder con dichos métodos, investigaremos más profundamente qué valores específicos de los eigenvalores están implicados en el comportamiento de sistemas físicos. Primero se evaluarán las raíces de la ecuación (7.7) con la fórmula cuadrática r r a a a a a 1 2 1 1 2 2 0 0 4 = − ± − Se obtienen dos raíces. Si el discriminante (a1 2 – 4a2a0) es positivo, las raíces son reales y la solución general se representa como y = c1er1t + c2er2t (7.8) donde las c son constantes que se determinan a partir de las condiciones iniciales. Este caso se llama sobreamortiguado. Si el discriminante es cero, resulta una sola raíz real y la solución general se escri- be como y = (c1 + c2t)elt (7.9) Este caso se llama de amortiguamiento crítico. Si el discriminante es negativo, las raíces son números complejos conjugados r1 = l ± µi r2 y la solución general se formula como y = c1e(l+µi)t + c2e(l – µi)t El comportamiento de esta solución se aclara mediante la fórmula de Euler de un núme- ro complejo eµit = cos µt + i sen µt para obtener la solución general como (véase Boyce y DiPrima, 1992, para detalles de la demostración) y = c1elt cos µt + c2elt sen µt (7.10) Este caso se llama subamortiguado. Las ecuaciones (7.8), (7.9) y (7.10) expresan las maneras posibles en que los sistemas lineales responden dinámicamente. El término exponencial indica que la solución del sistema es capaz de decaer (parte real del número complejo negativa) o crecer (parte real del número complejo positiva) exponencialmente con el tiempo (figura 7.la). El término senosoidal (parte imaginaria) significa que la solución puede oscilar (figura 7.1b). Si el eigenvalor tiene tanto parte real como imaginaria, se combinan la forma exponencial y senosoidal (figura 7.1c). Debido a que este conocimiento es el elemento clave para enten-
  • 197. der, diseñarycontrolarelcomportamientodesistemasfísicos,lospolinomioscaracterísticos son muy importantes en ingeniería y en muchas ramas de la ciencia. Se analizará la dinámi- ca de varios sistemas en las aplicaciones que se estudian en el capítulo 8. 7.2 CÁLCULOS CON POLINOMIOS Antes de describir los métodos para localizar raíces, se examinarán algunas operaciones fundamentales con polinomios. Dichas operaciones tendrán utilidad en sí mismas, ade- más de proporcionar apoyo para localizar las raíces. 7.2.1 Evaluación y derivación de polinomios Aunque la forma de la ecuación (7.1) es la más común, no resulta la mejor para determi- nar el valor de un polinomio para un valor específico de x. Por ejemplo, evaluar el poli- nomio de tercer grado como f3(x) = a3x3 + a2x2 + a1x + a0 (7.11) implica seis multiplicaciones y tres sumas. En general, para un polinomio de n-ésimo orden, se requieren n(n + 1)/2 multiplicaciones y n sumas. y t a) b) y t c) y t FIGURA 7.1 La solución general de las EDO lineales puede estar determinada por componentes a) exponenciales y b) senosoidales. La combinación de las dos formas es una senosoidal amortiguada como se muestra en c). 7.2 CÁLCULOS CON POLINOMIOS 173
  • 198. 174 RAÍCES DE POLINOMIOS La forma anidada, en cambio f3(x) = ((a3x + a2)x + a1)x + a0 (7.12) implica tres multiplicaciones y tres sumas. Para un polinomio de n-ésimo grado, esta forma requiere n multiplicaciones y n sumas. Ya que la forma anidada minimiza el número de operaciones, también tiende a minimizar los errores de redondeo. Observe que, según sea la preferencia, el orden de anidamiento puede invertirse: f3(x) = a0 + x(a1 + x(a2 + xa3)) (7.13) Un seudocódigo adecuado para implementar la forma anidada se escribe simple- mente como DOFOR j = n, 0, –1 p = p * x+a(j) END DO donde p tiene el valor del polinomio (definido por los coeficientes de las a) evaluado en x. Existen casos (como el método de Newton-Raphson) donde se requiere evaluar tanto la función como su derivada. Esta evaluación se puede también incluir al agre- gar una línea en el seudocódigo anterior, DOFOR j = n, 0, –1 df = df * x+p p = p * x+a(j) END DO donde df es la primera derivada del polinomio. 7.2.2 Deflación polinomial Suponga que se determina la raíz de un polinomio de n-ésimo grado. Si se repite el procedimiento para localizar la raíz, puede encontrarse la misma raíz. Por lo tanto, sería adecuado eliminar la raíz encontrada antes de continuar. A este proceso de eliminar la raíz se le llama deflación polinomial. Antes de mostrar cómo se hace esto, veamos algunos antecedentes útiles. Los po- linomios son típicamente representados en la forma de la ecuación (7.1). Por ejemplo, un polinomio de quinto grado puede escribirse como f5(x) = –120 – 46x + 79x2 – 3x3 – 7x4 + x5 (7.14) Aunque ésta es la forma más común, no necesariamente es la mejor expresión para en- tender el comportamiento matemático de los polinomios. Por ejemplo, este polinomio de quinto grado se expresa de manera alternativa como f5(x) = (x + 1)(x – 4)(x – 5)(x + 3)(x – 2) (7.15)
  • 199. Ésta se conoce como la forma factorizada de un polinomio. Si se efectúa la multi- plicación y se agrupan los términos semejantes, se obtendrá la ecuación (7.14). Sin embargo, la forma de la ecuación (7.15) tiene la ventaja de que indica claramente las raíces de la función. Así, resulta claro que x = –1, 4, 5, –3 y 2 son todas las raíces, porque cada una hace que uno de los términos de la ecuación (7.15) sea igual a cero. Ahora, suponga que se divide este polinomio de quinto grado entre cualquiera de sus factores; por ejemplo, x + 3. En este caso, el resultado será un polinomio de cuarto grado F4(x) = (x + 1)(x – 4)(x – 5)(x – 2) = –40 – 2x + 27x2 – 10x3 + x4 (7.16) con un residuo igual a cero. En el pasado, quizás usted aprendió que los polinomios se dividen usando un pro- cedimiento llamado división sintética. Varios algoritmos de computadora (basados tanto en la división sintética como en otros métodos) están disponibles para realizar la operación. Un esquema simple se proporciona en el siguiente seudocódigo, el cual divi- de un polinomio de n-ésimo grado entre un factor monomial x – t. r = a(n) a(n) = 0 DOFOR i = n–1, 0, –1 s = a(i) a(i) = r r = s+r * t END DO Si el monomio es un factor del polinomio, el residuo r será cero, y los coeficientes del cociente se guardarán en a, al final del loop. EJEMPLO 7.1 Deflación polinomial Planteamiento del problema. Divida el polinomio de segundo grado f(x) = (x – 4)(x + 6) = x2 + 2x – 24 entre el factor x – 4. Solución. Usando el método propuesto en el seudocódigo anterior, los parámetros son n = 2, a0 = –24, al = 2, a2 = 1 y t = 4. Estos valores se usan para calcular r = a2 = 1 a2 = 0 El loop o ciclo se itera después desde i = 2 – 1 = 1 hasta 0. Para i = 1, s = a1 = 2 a1 = r = 1 r = s + rt = 2 + 1(4) = 6 7.2 CÁLCULOS CON POLINOMIOS 175
  • 200. 176 RAÍCES DE POLINOMIOS Para i = 0, s = a0 = 24 a0 = r = 6 r = –24 + 6(4) = 0 Así, el resultado, como se esperaba, es el cociente a0 + a1x = 6 + x, con un residuo de cero. También es posible dividir entre polinomios de grado superior. Como se verá más adelante en este capítulo, la tarea más común es dividir entre un polinomio de segundo grado o parábola. La subrutina de la figura 7.2 resuelve el problema más general de di- vidir un polinomio a de grado n entre un polinomio d de grado m. El resultado es un polinomio q de grado (n – m), con un polinomio de grado (m – 1) como el residuo. Ya que cada raíz calculada se conoce únicamente en forma aproximada, se observa que la deflación es sensible al error de redondeo. En algunos casos puede crecer a tal punto que los resultados lleguen a no tener sentido. Algunas estrategias generales pueden aplicarse para minimizar el problema. Por ejemplo, el error de redondeo está afectado por el orden en que se evalúan los términos. La deflación hacia adelante se refiere al caso donde los coeficientes del nuevo polinomio están en orden de potencias descendentes de x (es decir, del término de mayor grado al SUB poldiv(a, n, d, m, q, r) DOFOR j = 0, n r(j) = a(j) q(j) = 0 END DO DOFOR k = n–m, 0, –1 q(k+1) = r(m+k) / d(m) DOFOR j = m+k–1, k, –1 r(j) = r(j)–q(k+1) * b(j–k) END DO END DO DOFOR j = m, n r(j) = 0 END DO n = n–m DOFOR i = 0, n a(i) = q(i+1) END DO END SUB FIGURA 7.2 Algoritmo que divide un polinomio (definido por sus coeficientes a) entre un polinomio de grado menor d.
  • 201. de grado cero). En tal caso, es preferible dividir primero entre las raíces con el valor absoluto más pequeño. En forma inversa, en la deflación hacia atrás (esto es, del térmi- no de grado cero al de mayor grado) es preferible dividir primero entre las raíces con mayor valor absoluto. Otra manera de reducir los errores de redondeo es considerar que cada raíz sucesi- va estimada, obtenida durante la deflación es un buen primer valor inicial. Al utilizarse como un valor inicial, y determinar las raíces otra vez con el polinomio original sin deflación, se obtiene raíces que se conocen como raíces pulidas. Por último, se presenta un problema cuando dos raíces deflacionadas son suficien- temente inexactas, de tal manera que ambas converjen a la misma raíz no deflacionada. En tal caso, se podría creer en forma errónea que un polinomio tiene una raíz múltiple (recuerde la sección 6.4). Una forma para detectar este problema consiste en comparar cada raíz pulida con las que se han calculado anteriormente. Press y colaboradores (1992) analizan el problema con mayor detalle. 7.3 MÉTODOS CONVENCIONALES Ahora que se ha visto algún material de apoyo sobre polinomios, empezaremos a des- cribir los métodos para localizar sus raíces. Es obvio que el primer paso sería investigar la posibilidad de usar los métodos cerrados y abiertos, descritos en los capítulos 5 y 6. La eficacia de dichos métodos depende de que el problema a resolver tenga raíces complejas. Si sólo existen raíces reales, cualquiera de los métodos descritos anterior- mente puede utilizarse. Sin embargo, el problema de encontrar un buen valor inicial complica tanto los métodos cerrados como los abiertos; además que los métodos abier- tos podrían ser susceptibles a problemas de divergencia. Cuando existen raíces complejas, los métodos cerrados obviamente no se pueden usar, ya que el criterio para definir el intervalo (que es el cambio de signo) no puede trasladarse a valores complejos. De los métodos abiertos, el método convencional de Newton-Raphson llega a ofre- cer una aproximación viable. En particular, es posible desarrollar un código conciso que comprenda deflación. Si se usa un lenguaje que permite manipular variables complejas (como Fortran), entonces el algoritmo localizará tanto raíces reales como complejas. Sin embargo, como es de esperarse, podría ser susceptible a tener problemas de convergen- cia. Por tal razón, se han desarrollado métodos especiales para encontrar raíces reales y complejas de polinomios. Se describen dos de estos métodos, el método de Müller y el de Bairstow, en las siguientes secciones. Como se verá, ambos están relacionados con los métodos abiertos convencionales descritos en el capítulo 6. 7.4 MÉTODO DE MÜLLER Recuerde que el método de la secante obtiene una aproximación de la raíz dirigiendo una línea recta hasta el eje x con dos valores de la función (figura 7.3a). El método de Müller es similar; pero se construye una parábola con tres puntos (figura 7.3b). El método consiste en obtener los coeficientes de la parábola que pasa por los tres puntos. Dichos coeficientes se sustituyen en la fórmula cuadrática para obtener el valor donde la parábola interseca al eje x; es decir, la raíz estimada. La aproximación se faci- lita al escribir la ecuación de la parábola en una forma conveniente, 7.4 MÉTODO DE MÜLLER 177
  • 202. 178 RAÍCES DE POLINOMIOS f2(x) = a(x – x2)2 + b(x – x2) + c (7.17) Queremos que esta parábola pase por tres puntos [x0, f(x0)], [x1, f(x1)] y [x2, f(x2)]. Los coeficientes de la ecuación (7.17) se evalúan sustituyendo cada uno de esos tres puntos para dar f(x0) = a(x0 – x2)2 + b(x0 – x2) + c (7.18) f(x1) = a(x1 – x2)2 + b(x1 – x2) + c (7.19) f(x2) = a(x2 – x2)2 + b(x2 – x2) + c (7.20) Observe que se ha eliminado el subíndice “2” de la función por brevedad. Debido a que se tienen tres ecuaciones, es posible encontrar los tres coeficientes desconocidos a, b y c. Debido a que dos términos de la ecuación (7.20) son cero, se encuentra inmediata- mente que c = f(x2). Así, el coeficiente c es igual al valor de la función evaluada en el tercer valor inicial, x2. Este resultado se sustituye en las ecuaciones (7.18) y (7.19) para tener dos ecuaciones con dos incógnitas: f(x0) – f(x2) = a(x0 – x2)2 + b(x0 – x2) (7.21) f(x1) – f(x2) = a(x1 – x2)2 + b(x1 – x2) (7.22) Una manipulación algebraica permite encontrar los coeficientes restantes a y b. La manera de hacer esto consiste en definir las diferencias: h0 = x1 – x0 h1 = x2 – x1 δ δ 0 1 0 1 0 1 2 1 2 1 = − − = − − f x f x x x f x f x x x ( ) ( ) ( ) ( ) (7.23) f(x) x x1 x0 a) Línea recta Raíz estimada Raíz f(x) x x2 x0 b) Parábola Raíz Raíz estimada x1 FIGURA 7.3 Una comparación de dos métodos relacionados para encontrar raíces a) el método de la secante y b) el método de Müller.
  • 203. Éstas se sustituyen en las ecuaciones (7.21 ) y (7.22) para dar (h0 + h1)b – (h0 + h1)2 a = h0d0 + h1d1 h1 b – h1 2 a = h1d1 de donde se despejan a y b. El resultado se resume como a h h = − − δ δ 1 0 1 0 (7.24) b = ah1 + d1 (7.25) c = f(x2) (7.26) Para encontrar la raíz se aplica la fórmula cuadrática a la ecuación (7.17). Sin em- bargo, debido al error de redondeo potencial, en lugar de usar la forma convencional, se usará la fórmula alternativa [ecuación (3.13)], es decir, x x c b b ac 3 2 2 2 4 − = − ± − (7.27a) o despejando la incógnita x3 x x c b b ac 3 2 2 2 4 = + − ± − (7.27b) Observe que al usar la fórmula cuadrática, es posible localizar tanto las raíces reales como las complejas. Ésta es la mayor ventaja del método. Además, la ecuación (7.27a) proporciona una forma directa para determinar el error de aproximación. Debido a que el lado izquierdo representa la diferencia entre la raíz estimada actual (x3) y la raíz estimada anterior (x2), el error se calcula como εa x x x = − 3 2 3 100% Ahora, un problema de la ecuación (7.27a) es que produce dos raíces, correspon- dientes a los términos ± del denominador. En el método de Müller, se escoge el signo que coincida con el signo de b. Esta elección proporciona como resultado el denomina- dor más grande y, por lo tanto, dará la raíz estimada más cercana a x2. Una vez que se determinó x3, el proceso se repite. Esto trae el problema de que un valor es descartado. En general, dos estrategias son comúnmente usadas. 1. Si sólo se localizan raíces reales, elegimos los dos valores originales más cercanos a la nueva raíz estimada, x3. 2. Si se localizan raíces reales y complejas, se emplea un método secuencial. Es decir, como en el método de la secante, x1, x2 y x3 toman el lugar de x0, x1 y x2. 7.4 MÉTODO DE MÜLLER 179
  • 204. 180 RAÍCES DE POLINOMIOS EJEMPLO 7.2 Método de Müller Planteamiento del problema. Utilice el método de Müller con valores iniciales x0, x1, y x2 = 4.5, 5.5 y 5, respectivamente, para determinar la raíz de la ecuación f(x) = x3 – 13x – 12 Observe que las raíces de la ecuación son –3, –1 y 4. Solución. Primero se evaluará la función con los valores iniciales f(4.5) = 20.625 f(5.5) = 82.875 f(5) = 48 que se emplean para calcular h0 = 5.5 – 4.5 = 1 h1 = 5 – 5.5 = –0.5 δ δ 0 1 82 875 20 625 5 5 4 5 62 25 48 82 875 5 5 5 69 75 = − − = = − − = . . . . . . . . Estos valores, a su vez, se sustituyen con las ecuaciones (7.24) a (7.26) para calcular a = − − + = 69 75 62 25 0 5 1 15 . . . b = 15(–0.5) + 69.75 = 62.25 c = 48 La raíz cuadrada del discriminante se evalúa como 62 25 4 15 48 31 54461 2 . ( ) . − = Luego, como |62.25 + 31.54451| |62.25 – 31.54451|, se emplea un signo positivo en el denominador de la ecuación (7.27b), y la nueva raíz estimada se determina como x3 5 2 48 62 25 31 54451 3 976487 = + − + = ( ) . . . y desarrollando el error estimado εa = − = 1 023513 3 976487 100 25 74 . . % . % Debido a que el error es grande, se asignan nuevos valores: x0 se reemplaza por x1, x1 se reemplaza por x2 y x2 se reemplaza por x3. Por lo tanto, para la nueva iteración, x0 = 5.5 x1 = 5 x2 = 3.976487 y se repite el cálculo. Los resultados, tabulados a continuación, muestran que el método converge rápidamente a la raíz xr = 4: i xr ea (%) 0 5 1 3.976487 25.74 2 4.00105 0.6139 3 4 0.0262 4 4 0.0000119
  • 205. El seudocódigo del método de Müller para raíces reales se presenta en la figura 7.4. Observe que esta rutina toma un valor inicial único diferente de cero, que después se altera por el factor h para generar los otros dos valores iniciales. Por supuesto, el algo- ritmo puede programarse para considerarse tres valores iniciales. Con lenguajes pareci- dos a Fortran, el programa encontrará raíces complejas si las variables adecuadas se declaran como complejas. 7.5 MÉTODO DE BAIRSTOW El método de Bairstow es un método iterativo relacionado de alguna manera con los métodos de Müller y de Newton-Raphson. Antes de hacer la descripción matemática de éste, recuerde la forma factorizada de un polinomio, por ejemplo ƒ5(x) = (x + l)(x – 4)(x – 5)(x + 3)(x – 2) (7.28) SUB Muller(xr, h, eps, maxit) x2 = xr x1 = xr + h*xr x0 = xr – h*xr DO iter = iter + 1 h0 = x1 – x0 h1 = x2 – x1 d0 = (f(x1) – f(x0)) / h0 d1 = (f(x2) – f(x1)) / h1 a = (d1 – d0) /(h1 + h0) b = a*h1 + d1 c = f(x2) rad = SQRT(b*b – 4*a*c) If |b+rad| |b–rad| THEN den = b + rad ELSE den = b – rad END IF dxr = –2*c /den xr = x2 + dxr PRINT iter, xr IF (|dxr| eps*xr OR iter maxit) EXIT x0 = x1 x1 = x2 x2 = xr END DO END Muller FIGURA 7.4 Seudocódigo para el método de Müller. 7.5 MÉTODO DE BAIRSTOW 181
  • 206. 182 RAÍCES DE POLINOMIOS Si se divide entre un factor que no es una raíz (por ejemplo, x + 6), el cociente es un polinomio de cuarto grado. Aunque, en este caso, habrá un residuo diferente de cero. Con estas consideraciones se puede elaborar un algoritmo para determinar la raíz de un polinomio: 1. dé un valor inicial para la raíz x = t; 2. divida el polinomio entre el factor x – t, y 3. determine si hay un residuo diferente de cero. Si no, el valor inicial es perfecto y la raíz es igual a t. Si existe un residuo, se ajusta el valor inicial en forma sistemática y se repite el procedimiento hasta que el residuo desaparezca y se localice la raíz. Una vez hecho esto, se repite el procedimiento totalmente, ahora con el cociente para localizar otra raíz. Por lo general, el método de Bairstow se basa en esta manera de proceder. Por con- siguiente, depende del proceso matemático de dividir un polinomio entre un factor. Recuerde (sección 7.2.2) de nuestro estudio de la deflación de polinomios que la división sintética implica la división del polinomio entre un factor x – t. Por ejemplo, el polinomio general [ecuación (7.1)] ƒn (x) = a0 + a1x + a2x2 +···+ anxn (7.29) se divide entre el factor x – t para dar un segundo polinomio que es de un grado menor: ƒn–1 (x) = b1 + b2x + b3x2 + ··· + bnxn–1 (7.30) con un residuo R = b0, donde los coeficientes se calculan por la relación de recurrencia bn = an bi = ai + bi+1t para i = n – 1 a 0 Observe que si t es una raíz del polinomio original, el residuo b0 sería igual a cero. Para permitir la evaluación de raíces complejas, el método de Bairstow divide el polinomio entre un factor cuadrático x2 – rx – s. Si esto se hace con la ecuación (7.29), el resultado es un nuevo polinomio ƒn–2(x) = b2 + b3x +···+ bn–1xn–3 + bnxn–2 con un residuo R = b1(x – r) + b0 (7.31) Como con la división sintética normal, se utiliza una relación de recurrencia simple para realizar la división entre el factor cuadrático: bn = an (7.32a) bn–1 = an–1 + rbn (7.32b) bi = ai + rbi+1 + sbi+2 para i = n – 2 a 0 (7.32c) El factor cuadrático se introduce para permitir la determinación de las raíces com- plejas. Esto se relaciona con el hecho de que, si los coeficientes del polinomio original son reales, las raíces complejas se presentan en pares conjugados. Si x2 – rx – s es un divisor exacto del polinomio, las raíces complejas pueden determinarse con la fórmula cuadrática. Así, el método se reduce a determinar los valores de r y s que hacen que el factor cuadrático sea un divisor exacto. En otras palabras, se buscan los valores que hacen que el residuo sea igual a cero.
  • 207. La inspección de la ecuación (7.31) nos lleva a concluir que para que el residuo sea cero, b0 y b1 deben ser cero. Como es improbable que los valores iniciales para evaluar r y s conduzcan a este resultado, debemos determinar una forma sistemática para mo- dificar los valores iniciales, de tal forma que b0 y b1 tiendan a cero. Para lograrlo, el método de Bairstow usa una estrategia similar a la del método de Newton-Raphson. Como tanto b0 como b1 son funciones de r y s, se pueden expandir usando una serie de Taylor, así [recuerde la ecuación (4.26)]: b1(r + ∆r, s + ∆s) = b1 + ∂ ∂ + ∂ ∂ b r r b s s 1 1 ∆ ∆ b0(r + ∆r, s + ∆s) = b0 + ∂ ∂ + ∂ ∂ b r r b s s 0 0 ∆ ∆ (7.33) donde los valores del lado derecho se evalúan en r y s. Observe que se han despreciado los términos de segundo orden y de orden superior. Esto representa una suposición im- plícita de que –r y –s son suficientemente pequeños para que los términos de orden superior puedan despreciarse. Otra manera de expresar esta suposición es que los valo- res iniciales son adecuadamente cercanos a los valores de r y s en las raíces. Los incrementos, ∆r y ∆s, necesarios para mejorar nuestros valores iniciales, se estiman igualando a cero la ecuación (7.33) para dar ∂ ∂ + ∂ ∂ = − b r r b s s b 1 1 1 ∆ ∆ (7.34) ∂ ∂ + ∂ ∂ = − b r r b s s b 0 0 0 ∆ ∆ (7.35) Si las derivadas parciales de las b, pueden determinarse, hay un sistema de dos ecuacio- nes que se resuelve simultáneamente para las dos incógnitas, ∆r y ∆s. Bairstow demos- tró que las derivadas parciales se obtienen por división sintética de las b en forma similar a como las b mismas fueron obtenidas: cn = bn (7.36a) cn–1 = bn–1 + rcn (7.36b) ci = bi + rci+1 + sci+2 para i = n – 2 a 1 (7.36c) donde ∂b0/∂r = cl, ∂b0/∂s = ∂b1/∂r = c2 y ∂b1/∂s = c3. Así, las derivadas parciales se obtienen por la división sintética de las b. Entonces, las derivadas parciales se sustituyen en las ecuaciones (7.34) y (7.35) junto con las b para dar c2∆r + c3∆s = –b1 c1∆r + c2∆s = –b0 Estas ecuaciones se resuelven para ∆r y ∆s, las cuales, a su vez, se emplean para mejorar los valores iniciales de r y s. En cada paso, se estima un error aproximado en r y s: |ea,r| = ∆r r 100% (7.37) 7.5 MÉTODO DE BAIRSTOW 183
  • 208. 184 RAÍCES DE POLINOMIOS y |ea,s| = ∆s s 100% (7.38) Cuando ambos errores estimados caen por debajo de un criterio especificado de termi- nación es, los valores de las raíces se determinan mediante x r r s = ± + 2 4 2 (7.39) En este punto, existen tres posibilidades: 1. El cociente es un polinomio de tercer grado o mayor. En tal caso, el método de Bairstow se aplica al cociente para evaluar un nuevo valor de r y s. Los valores anteriores de r y s pueden servir como valores iniciales en esta aplicación. 2. El cociente es cuadrático. Aquí es posible evaluar directamente las dos raíces res- tantes con la ecuación (7.39). 3. El cociente es un polinomio de primer grado. En este caso, la raíz restante se evalúa simplemente como x s r = − (7.40) EJEMPLO 7.3 Método de Bairstow Planteamiento del problema. Emplee el método de Bairstow para determinar las raíces del polinomio ƒ5(x) = x5 – 3.5x4 + 2.75x3 + 2.125x2 – 3.875x + 1.25 Utilice como valores iniciales r = s = –1 e itere hasta un nivel de es = 1%. Solución. Se aplican las ecuaciones (7.32) y (7.36) para calcular b5 = 1 b4 = –4.5 b3 = 6.25 b2 = 0.375 b1 = –10.5 b0 = 11.375 c5 = 1 c4 = –5.5 c3 = 10.75 c2 = –4.875 c1 = –16.375 Así, las ecuaciones simultáneas para encontrar ∆r y ∆s son –4.875∆r + 10.75∆s = 10.5 –16.375∆r – 4.875∆s = –11.375 al ser resueltas se encuentra que ∆r = 0.3558 y ∆s = 1.1381. Por lo tanto, nuestros valores iniciales se corrigen a r = –1 + 0.3558 = –0.6442 s = –1 + 1.1381 = 0.1381 y se evalúa el error aproximado con las ecuaciones (7.37) y (7.38),
  • 209. |ea,r| = 0 3558 0 6442 . . − 100% = 55.23% |ea,s| = 1 1381 0 1381 . . 100% = 824.1% A continuación, se repiten los cálculos usando los valores revisados para r y s. Aplican- do las ecuaciones (7.32) y (7.36) se obtiene b5 = 1 b4 = –4.1442 b3 = 5.5578 b2 = –2.0276 b1 = –1.8013 b0 = 2.1304 c5 = 1 c4 = –4.7884 c3 = 8.7806 c2 = –8.3454 c1 = 4.7874 Por lo tanto, se debe resolver el sistema de ecuación –8.3454∆r + 8.7806∆s = 1.8013 4.7874∆r – 8.3454∆s = –2.1304 al tener la solución ∆r = 0.1331 y ∆s = 0.3316, ésta se utiliza para corregir la raíz esti- mada: r = –0.6442 + 0.1331 = –0.5111 |ea,r| = 26.0% s = 0.1381 + 0.3316 = 0.4697 |ea,s| = 70.6% El cálculo continúa, resultando que después de cuatro iteraciones el método conver- ge a los valores r = –0.5 (|ea,r| = 0.063%) y s = 0.5 (|ea,s| = 0.040%). La ecuación (7.39) puede emplearse para evaluar las raíces: x = − ± − + = − 0 5 0 5 4 0 5 2 0 5 1 0 2 . ( . ) ( . ) . , . Entonces, se tiene que, el cociente es la ecuación cúbica ƒ(x) = x3 – 4x2 + 5.25x – 2.5 El método de Bairstow puede aplicarse a este polinomio usando los resultados del paso anterior, r = –0.5 y s = 0.5, como valores iniciales. Cinco iteraciones dan las aproxima- ciones r = 2 y s = –1.249, las cuales se usan para calcular x i = ± + − = ± 2 2 4 1 249 2 1 0 499 2 ( . ) . Ahora, el cociente es un polinomio de primer grado que puede ser directamente evaluado mediante la ecuación (7.40) para determinar la quinta raíz: 2. Observe que la esencia del método de Bairstow es la evaluación de las b y de las c por medio de las ecuaciones (7.32) y (7.36). Una de las ventajas principales de este método radica en la forma concisa en la cual tales fórmulas de recurrencia pueden programarse. En la figura 7.5 se muestra el seudocódigo que ejecuta el método de Bairstow. La parte principal de este algoritmo es el ciclo que evalúa las b y c. También observe que el seudocódigo para resolver las ecuaciones simultáneas revisa para evitar la división entre cero. Si éste es el caso, los valores de r y s se alteran ligeramente y el procedimien- 7.5 MÉTODO DE BAIRSTOW 185
  • 210. 186 RAÍCES DE POLINOMIOS a) Algoritmo de Bairstow SUB Bairstow (a,nn,es,rr,ss,maxit,re,im,ier) DIMENSION b(nn), c(nn) r = rr; s = ss; n = nn ier = 0; ea1 = 1; ea2 = 1 DO IF n 3 OR iter ≥ maxit EXIT iter = 0 DO iter = iter + 1 b(n) = a(n) b(n – 1) = a(n – 1) + r * b(n) c(n) = b(n) c(n – 1) = b(n – 1) + r * c(n) DO i = n – 2, 0, –1 b(i) = a(i) + r * b(i + 1) + s * b(i + 2) c(i) = b(i) + r * c(i + 1) + s * c(i + 2) END DO det = c(2) * c(2)–c(3) *c(1) IF det ≠ 0 THEN dr = (–b(1) * c(2) + b(0) * c(3))/det ds = (–b(0) * c(2) + b(1) * c(1))/det r = r + dr s = s + ds IF r≠0 THEN ea1 = ABS(dr/r) * 100 IF s≠O THEN ea2 = ABS(ds/s) * 100 ELSE r = r + 1 s = s + 1 iter = 0 END IF IF ea1 ≤ es AND ea2 ≤ es OR iter ≥ maxitEXIT END DO CALL Quadroot(r,s,r1,i1,r2,i2) re(n) = r1 im(n) = i1 re(n – 1) = r2 im(n – 1) = i2 n = n–2 DO i = 0, n a(i) = b(i + 2) END DO END DO IF iter maxit THEN IF n = 2 THEN r = –a(1)/a(2) s = –a(0)/a(2) CALL Quadroot(r,s,r1,i1,r2,i2) re(n) = r1 im(n) = i1 re(n – 1) = r2 im(n – 1) = i2 ELSE re(n) = –a(0)/a(1) im(n) = 0 END IF ELSE ier = 1 END IF END Bairstow b) Algoritmo para raíces de una cuadrática SUB Quadroot(r,s,r1,i1,r2,i2) disc = r ^ 2 + 4 * s IF disc 0 THEN r1 = (r + SQRT(disc))/2 r2 = (r – SQRT(disc))/2 i1 = 0 i2 = 0 ELSE r1 = r/2 r2 = r1 i1 = SQRT(ABS(disc))/2 i2 = –i1 END IF END QuadRoot FIGURA 7.5 a) Algoritmo para el método de Bairstow junto con b) un algoritmo para determinar las raíces de una ecuación cuadrática.
  • 211. to comienza de nuevo. Además, en el algoritmo hay un lugar donde el usuario puede definir el número máximo de iteraciones (MAXIT) y está diseñado para evitar una di- visión entre cero cuando se calcula el error estimado. Finalmente, el algoritmo requiere valores iniciales para r y s (rr y ss en el código). Si no se tiene conocimiento a priori de que existan las raíces, se tendrá un conjunto de ceros al llamar el programa. 7.6 OTROS MÉTODOS Otros métodos están disponibles para localizar las raíces de los polinomios. El método de Jenkins-Traub (Jenkins y Traub, 1970) es comúnmente usado en bibliotecas como IMSL. Es relativamente complicado y un punto de partida aceptable para entenderlo se encuentra en Ralston y Rabinowitz (1978). El método de Laguerre, que aproxima las raíces reales y complejas, tiene una con- vergencia cúbica, se encuentra entre los mejores métodos. Un análisis completo se en- cuentra en Householder (1970). Además, Press y colaboradores (1992) ofrecen un buen algoritmo para implementar este método. 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE Las bibliotecas y los paquetes de cómputo tienen gran capacidad para localizar raíces. En esta sección, se ofrece una muestra de los más útiles. 7.7.1 Excel Una hoja de cálculo como Excel se utiliza para localizar la raíz mediante prueba y error. Por ejemplo, si se quiere encontrar una raíz de ƒ(x) = x – cos x primero se introduce un valor de x en una celda. Después se destina otra celda para ƒ(x) donde se obtendrá el valor de la función para la x de la primera celda. Se puede variar el valor de la celda en x hasta que la celda de ƒ(x) se aproxime a cero. Este proceso se mejora usando la capacidad de graficación de Excel para obtener un buen valor inicial (figura 7.6). Aunque Excel facilita el método de prueba y error, también posee dos herramientas estándar que sirven para la localización de raíces: Goal Seek (buscar objetivo) y Solver. Ambas son útiles para ajustar sistemáticamente los valores iniciales. Goal Seek (buscar objetivo) se utiliza expresamente para llevar la ecuación a un valor (en este caso, cero) mediante la variación de un solo parámetro. EJEMPLO 7.4 Use la herramienta Goal Seek (buscar objetivo) de Excel para localizar una raíz simple. Planteamiento del problema. Emplee “buscar objetivo” para determinar la raíz de la función trascendente ƒ(x) = x – cos x 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 187
  • 212. 188 RAÍCES DE POLINOMIOS Solución. Como en la figura 7.6, la clave para resolver una sola ecuación con Excel es crear una celda que tenga el valor de la función en cuestión y hacer, después, el valor dependiente de otra celda. Una vez hecho esto del menú herramientas se selecciona “buscar objetivo”. Ahora aparece una ventana de diálogo pidiendo se especifique una celda para un valor al modificar otra celda. Por ejemplo, suponga que, como en la figu- ra 7.6, el valor propuesto se escribe en la celda A11 y la función resultante en la celda B11. La ventana de diálogo para Goal Seek (buscar objetivo) será FIGURA 7.6 Una hoja de cálculo para determinar la raíz de f(x) = x – cos x por prueba y error. La gráfica se usa para obtener un buen valor inicial. Cuando se selecciona el botón de OK (aceptar) una ventana de mensaje presenta los resultados Buscar objetivo: Definir la celda: B11 Con el valor: 0 Para cambiar la celda: A11 Aceptar Cancelar valores para la gráfica: 2 x f(x) 3 0 –1 4 0.5 –0.37758 5 1 0.459698 6 1.5 1.429263 7 2 2.416147 8 9 valores para prueba y error: 10 x f(x) 11 0.739125 6.64E-05 12 B11 =A11–COS(A11) 3 2 1 0 –1 0.5 1 1.5 2 –2
  • 213. Las celdas de la hoja de cálculo se modificarán con los nuevos valores, como se muestra en la figura 7.6. La herramienta Solver es más sofisticada que Goal Seek porque 1. puede variar simultáneamente varias celdas y 2. además de llevar la celda destino a un valor, éste puede minimizarse o maximizarse. En el siguiente ejemplo se ilustra cómo se utiliza para resolver un sistema de ecuaciones no lineales. EJEMPLO 7.5 Uso de Excel para resolver un sistema no lineal Planteamiento del problema. En la sección 6.5 obtuvimos la solución del siguiente sistema de ecuaciones simultáneas: u(x, y) = x2 + xy – 10 = 0 v(x, y) = y + 3xy2 – 57 = 0 Observe que un par de raíces es x = 2 y y = 3. Utilice Solver para determinar las raíces usando como valores iniciales x = 1 y y = 3.5. Solución. Como se muestra más adelante, dos celdas (B1 y B2) pueden crearse para los valores o iniciales x y y. Los valores de la función, u(x, y) y v(x, y), pueden entrar en otras celdas (B3 y B4). Como se observa, los valores iniciales dan como resultado va- lores de la función que son lejanos a cero. Estado de la búsqueda de objetivo La búsqueda con la celda B11 puede no haber encontrado una solución Valor del objetivo: 0 Valor actual: 6.63648E-05 Aceptar Cancelar Paso a paso Pausa B6 =B3^2+B4^2 A B C 1 x 1 2 y 3.5 3 u (x, y) –5.5 4 v(x, y) –16.75 5 6 Suma de cuadrados 310.8125 7 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 189
  • 214. 190 RAÍCES DE POLINOMIOS Después, se crea otra celda que contenga un valor que refleje qué tan cercanas de cero están ambas funciones. Una forma de hacerlo consiste en sumar los cuadrados de los valores de las funciones. Este resultado se introduce en la celda B6. Si ambas funciones son cero, esta función deberá también ser cero. Además, usando los cuadrados de las funciones se evita la posibilidad de que ambas funciones puedan tener el mismo valor diferente de cero, pero con signos contrarios. En tal caso, la celda de apoyo (B6) podría ser cero, aunque las raíces podrían ser incorrectas. Una vez que la hoja de cálculo ha sido creada, se elige la opción Solver en el menú de herramientas. Entonces, una ventana de diálogo se presentará en pantalla, pidién- dole la información pertinente. Las celdas solicitadas en la ventana de diálogo de Solver se llenarán como Cuando el botón de OK (aceptar) se selecciona, se abrirá una ventana de diálogo con un reporte de las operaciones efectuadas. En el presente caso, Solver obtiene la solución correcta: Parámetros de Solver Celda objetivo: Valor de la celda objetivo: Cambiando celdas: Sujetas a las siguientes restricciones: Máximo Mínimo Valores de: Resolver Cerrar Opciones Reestablecer todo Ayuda Estimar Agregar Cambiar Eliminar B6 B1:B2 0 A B C D 1 x 2.00003 2 y 2.999984 3 u(x, y) 0.000176 4 v(x, y) 0.000202 5 6 Suma de cuadrados 7.19E-08 7
  • 215. Se debe observar que Solver puede fallar. Su éxito depende de 1. la condición del sistema de ecuaciones y/o 2. la calidad de los valores iniciales. El resultado satisfactorio del ejemplo anterior no está garantizado. A pesar de esto, se puede encontrar a Solver bastante útil para hacer de él una buena opción en la obtención rápida de raíces para un amplio rango de aplicaciones a la ingeniería. 7.7.2 MATLAB MATLAB es capaz de localizar raíces en ecuaciones algebraicas y trascendentes, como se muestra en la tabla 7.1. Siendo excelente para la manipulación y localización de raíces en los polinomios. La función fzero está diseñada para localizar la raíz de una función. Una represen- tación simplificada de su sintaxis es fzero(f,X0,opciones) donde f es la tensión que se va a analizar, x0 es el valor inicial y opciones son los pará- metros de optimización (éstos pueden cambiarse al usar la función optimset). Si no se anotan las opciones se emplean los valores por omisión. Observe que se pueden emplear uno o dos valores iniciales, asumiendo que la raíz está dentro del intervalo. El siguiente ejemplo ilustra cómo se usa la función fzero. EJEMPLO 7.6 Uso de MATLAB para localizar raíces Planteamiento del problema. Utilice la función fzero de MATLAB para encontrar las raíces de f (x) = x10 – 1 dentro del intervalo xl = 0 y xu = 4, obviamente se tiene dos raíces –1 y 1. Recuerde que para determinar la raíz positiva en el ejemplo 5.6 se usó el método de la falsa posición con valores iniciales 0 y 1.3. TABLA 7.1 Funciones comunes de MATLAB relacionadas con la manipulación de polinomios y la localización de raíces. Función Descripción fzero Raíz de una sola función roots Encuentra raíces de polinomios poly Construye polinomios con raíces específicas polival Evalúa un polinomio polivalm Evalúa un polinomio con argumento matricial residue Expansión de la fracción-parcial (residuos) polyder Diferenciación polinomial conv Multiplicación de polinomios deconv División de polinomios 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 191
  • 216. 192 RAÍCES DE POLINOMIOS Solución. Bajo las mismas condiciones iniciales del ejemplo 5.6, se usa MATLAB para determinar la raíz positiva. x0=[0 1.3]; x=fzero(inline(‘x^10–1’),x0) x = 1 De manera semejante, se emplean los valores iniciales –1.3 y 0 para determinar la raíz negativa x0=[–1.3 0]; x=fzero(inline(‘x^10–1’),x0) x = –1 Se puede usar un valor único; resulta un caso interesante cuando se usa el valor inicial 0 x0=0; x=fzero(inline(‘x^10–1’),x0) x = –1 Se tiene que para ese valor el algoritmo llevará a la raíz a su valor negativo. El uso de optimset se ilustra al mostrar en pantalla la forma en que las iteraciones conducen a la solución x0=0; option=optimset(‘DISP’,’ITER’); x=fzero(inline(‘x^10–1’),x0,option) Func–count x f(x) Procedure 1 0 –1 initial 2 –0.0282843 –1 search 3 0.0282843 –1 search 4 –0.04 –1 search • • • 21 0.64 –0.988471 search 22 –0.905097 –0.631065 search 23 0.905097 –0.631065 search 24 –1.28 10.8059 search Looking for a zero in the interval [–1.28], 0.9051] 25 0.784528 –0.911674 interpolation 26 –0.247736 –0.999999 bisection 27 –0.763868 –0.932363 bisection
  • 217. 28 –1.02193 0.242305 bisection 29 –0.968701 –0.27239 interpolation 30 –0.996873 –0.0308299 interpolation 31 –0.999702 –0.00297526 interpolation 32 –1 5.53132e–006 interpolation 33 –1 –7.41965e–009 interpolation 34 –1 –1.88738e–014 interpolation 35 –1 0 interpolation Zero found in the interval: [–1.28, 0.9051]. x = –1 Estos resultados ilustran la estrategia empleada por fzero cuando se tiene un valor único. Primero busca en la vecindad del valor inicial hasta detectar un cambio de signo. Después usa una combinación del método de bisección e interpolación para dirigirse a la raíz. La interpolación considera tanto el método de la secante como la interpolación cuadrática inversa (recuerde la sección 7.4). Deberá notar que el algoritmo de fzero puede implicar más cosas a partir de esta descripción básica. Puede consultar a Press y colaboradores (1992) para mayores detalles. EJEMPLO 7.7 Uso de MATLAB para manipular y determinar las raíces de polinomios Planteamiento del problema. Analicemos cómo se emplea MATLAB para manipu- lar y determinar las raíces de polinomios. Use la siguiente ecuación del ejemplo 7.3, f5(x) = x5 – 3.5x4 + 2.75x3 + 2.125x2 – 3.875x + 1.25 (E7.7.1) que tiene tres raíces reales: 0.5, 1.0, 2 y un par de raíces complejas: –1 ± 0.5i. Solución. El polinomio se introduce en MATLAB almacenando los coeficientes como un vector. Por ejemplo después de () teclee los coeficientes del polinomio en el vector a a=[1 –3.5 2.75 2.125 –3.875 1.25]; Después se procede a manipular el polinomio. Por ejemplo, podemos evaluarlo en x = 1, tecleando polival(a,1) que resultará 1(1)5 – 3.5(1)4 + 2.75(1)3 + 2.125(1)2 – 3.875(1) + 1.25 = –0.25, ans = –0.2500 Para evaluar la derivada f ′(x) = 5x4 – 14x3 + 8.25x2 + 4.25x – 3.875 con polyder (a) ans = 5.0000 –14.0000 8.2500 4.2500 –3.8750 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 193
  • 218. 194 RAÍCES DE POLINOMIOS A continuación, se crea un polinomio cuadrático que tiene dos de las raíces originales de la ecuación (E7.7.1): 0.5 y –1. Esta cuadrática es (x – 0.5)(x + 1) = x2 + 0.5x – 0.5 y se introduce en MATLAB como el vector b b=[1 0.5 –0.5]; Se divide el polinomio original entre este polinomio con [d,e]=deconv(a,b) El resultado de la división es (un polinomio de tercer grado d) y un residuo (e) d = 1.0000 –4.0000 5.2500 –2.5000 e = 0 0 0 0 0 0 Debido a que el polinomio es un divisor perfecto, el residuo polinominal tiene coeficien- tes iguales a cero. Ahora las raíces del cociente polinominal se determinan como roots(d) Con el resultado esperado para las raíces faltantes del polinomio original (E7.7.1) ans = 2.0000 1.0000 + 0.5000i 1.0000 – 0.5000i Ahora al multiplicar d por b se regresa al polinomio original conv(d,b) ans = 1.0000 –3.5000 2.7500 2.1250 –3.8750 1.2500 Finalmente, podemos determinar todas las raíces del polinomio original con r=roots(a) r = –1.0000 2.0000 1.0000 + 0.5000i 1.0000 – 0.5000i 0.5000 7.7.3 IMSL IMSL tiene varias subrutinas para determinar las raíces de ecuaciones (tabla 7.2). En este análisis nos enfocaremos en la rutina ZREAL, la cual localiza las raíces o cero reales de una función real usando el método de Müller. ZREAL se efectúa usando la siguiente instrucción CALL: CALL ZREAL(F, ERABS, ERREL, EPS, ETA, NR, IMAX, X0, X, INFO)
  • 219. Donde F = Una función definida por el usuario para la cual van a encontrarse las raíces ERABS = Primer criterio de terminación, termina si |ƒ(xi)| ERABS. (Entrada) ERREL=Segundocriteriodeterminación,terminasi|(xi –xi–1)/xi|ERREL.(Entrada) EPS = Véase ETA. (Entrada) ETA = Criterio de extensión para raíces múltiples. (Entrada) Si la raíz xi se ha calculado y |xi – xj| EPS, donde xj es una raíz previamen- te calculada, se reinicia el cálculo con un nuevo valor inicial de xi + ETA. NR = Número de raíces a ser encontradas. (Entrada) IMAX = Máximo número permitido de iteraciones por raíz. (Entrada) TABLA 7.2 Rutinas de IMSL para localizar raíces. Categoría Rutina Capacidad Raíces de una función ZREAL Encuentra los ceros reales de una función real con el método de Müller. ZBREN Encuentra un cero de una función real que cambia de signo en un intervalo dado. ZANLY Encuentra los ceros de una función compleja univariada usando el método de Müller. Raíz de un sistema de ecuaciones NEQNF Resuelve un sistema de ecuaciones no lineales usando un algoritmo híbrido de Powell modificado (una variación del método de Newton) y una aproximación en diferencias finitas del Jacobiano. NEQNJ Resuelve un sistema de ecuaciones no lineales usando un algoritmo híbrido de Powell modificado (una variación del método de Newton) con el Jacobiano propuesto por el usuario. NEQBF Resuelve un sistema de ecuaciones no lineales usando la actualización de la secante factorizada y una aproximación en diferencias finitas del Jacobiano. NEQBJ Resuelve un sistema de ecuaciones no lineales usando la actualización de la secante factorizada con el Jacobiano propuesto por el usuario. Raíces de polinomios ZPORC Encuentra los ceros de polinomios con coeficientes reales con el algoritmo de Jenkins-Traub. ZPLRC Encuentra los ceros de polinomios con coeficientes reales con el método de Laguerre. ZPOCC Encuentra los ceros de polinomios con coeficientes complejos con el algoritmo de Jenkins-Traub. 7.7 LOCALIZACIÓN DE RAÍCES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 195
  • 220. 196 RAÍCES DE POLINOMIOS X0 = Longitud del vector NROOT que contiene los valores iniciales. (Entrada) X = Longitud del vector NROOT que contiene las raíces calculadas. (Salida) INFO = Longitud del vector entero NROOT. (Salida) Contiene el número de iteraciones para encontrar cada raíz. Observe que las iteraciones terminan cuando se satisface cualquiera de los criterios de terminación o cuando se excede el número máximo de iteraciones. La función F tiene el formato general FUNCTION F(X) REAL F,X F = ... END donde la línea “F = ...” es donde se escribe la función de la variable desconocida X. EJEMPLO 7.8 Uso de IMSL para localizar una raíz simple Planteamiento del problema. Use ZREAL para determinar la raíz de la función trascendente ƒ(x) = x – cos x Solución. Un ejemplo del programa principal en Fortran 90 y del uso de la función ZREAL para resolver este problema se escribe como PROGRAM Root IMPLICIT NONE INTEGER::nroot PARAMETER(nroot=1) INTEGER::itmax=50 REAL::errabs=0.,errrel=1.E-5,eps=0.,eta=0. REAL::f,x0(nroot),x(nroot) EXTERNAL f INTEGER::info(nroot) PRINT *, “Introduzca los valores iniciales” READ *, x0 CALL ZREAL(f,errabs,errrel,eps,eta,nroot,itmax,x0,x,info) PRINT *, “raíz = ”, x PRINT *, “iteraciones = ”, info END PROGRAM FUNCTION f(x) IMPLICIT NONE REAL::f,x f = x – cos(x) END FUNCTION La salida es: Introduzca el valor inicial 0.5 raíz = 7.390851E-01 iteraciones = 5
  • 221. PROBLEMAS 197 7.1 Divida el polinomio ƒ(x) = x4 – 7.5x3 + 14.5x2 + 3x – 20 entre el monomio x – 2. ¿Es x = 2 una raíz? 7.2 Haga la división del polinomio ƒ(x) = x5 –5x4 + x3 – 6x2 – 7x + 10 entre el monomio x – 2. 7.3 Use el método de Müller para determinar la raíz real positi- va de a) ƒ(x) = x3 + x2 – 3x – 5 b) ƒ(x) = x3 – 0.5x2 + 4x – 3 7.4 Emplee el método de Müller o MATLAB para determinar las raíces reales y complejas de a) ƒ(x) = x3 – x2 + 3x – 2 b) ƒ(x) = 2x4 + 6x2 + 10 c) ƒ(x) = x4 – 2x3 + 6x2 – 8x + 8 7.5 Utilice el método de Bairstow para determinar las raíces de a) ƒ(x) = –2 + 6.2x –4x2 + 0.7x3 b) ƒ(x) = 9.34 – 21.97x + 16.3x2 –3.704x3 c) ƒ(x) = x4 – 3x3 + 5x2 – x – 10 7.6 Desarrolle un programa para implementar el método de Müller. Pruébelo con la repetición del ejemplo 7.2. 7.7 Emplee el programa que desarrolló en el problema 7.6 para determinar las raíces reales del problema 7.4a. Construya una gráfica (a mano, o con Excel o algún otro paquete de graficación) para elegir valores iniciales apropiados. 7.8 Desarrolle un programa para implementar el método de Bairstow. Pruébelo con la repetición del ejemplo 7.3. 7.9 Use el programa que desarrolló en el problema 7.8 para determinar las raíces de las ecuaciones en el problema 7.5. 7.10 Determine la raíz real de x3.5 = 80, con la herramienta Goal Seek de Excel, o la librería o paquete de su elección. 7.11 La velocidad de un paracaidista que cae está dada por v = gm c (l – e–(c/m)t ) donde g = 9.8 m/s2 . Para un paracaidista con un coeficiente de arrastre c = 14 kg/s, calcule la masa m de modo que la velocidad sea v = 35 m/s en t = 8 s. Use las herramientas Goal Seek de Excel, o alguna librería o paquete que elija, con objeto de deter- minar el valor de m. 7.12 Determine las raíces de las ecuaciones no lineales simultá- neas siguientes: y = –x2 + x + 0.75 y + 5xy = x2 PROBLEMAS Emplee valores iniciales, x = y = 1.2 y emplee la herramienta Solver de Excel, o la librería o paquete que prefiera. 7.13 Determine las raíces de las ecuaciones no lineales simultá- neas que siguen: (x – 4)x2 + (y – 4)2 = 5 x2 + y2 = 16 Use el método gráfico para obtener los valores iniciales. Deter- mine estimaciones refinadas con la herramienta Solver de Excel, o la librería o paquete de su preferencia. 7.14 En MATLAB, ejecute operaciones idénticas a las del ejem- plo 7.7, o utilice la librería o paquete de su elección, a fin de encontrar todas las raíces del polinomio ƒ(x) = (x – 4)(x + 2)(x – 1)(x + 5)(x – 7) Obsérvese que es posible usar la función poly para convertir las raíces en un polinomio. 7.15 Use MATLAB o la librería o paquete que prefiera para determinar las raíces de las ecuaciones en el problema 7.5. 7.16 Desarrolle un subprograma para resolver cuáles son las raíces de un polinomio, el cual utilice las rutinas IMSLo ZREAL, o la librería o paquete de su elección. Pruébelo con la determi- nación de las raíces de las ecuaciones de los problemas 7.4 y 7.5. 7.17 Un cilindro circular de dos dimensiones se coloca en un flujo de velocidad alta y uniforme. Se desprenden vórtices del cilindro a frecuencia constante, la cual detectan sensores de presión en la superficie posterior del cilindro por medio de calcu- lar qué tan seguido oscila la presión. Dados tres puntos de los datos, use el método de Müller para encontrar el momento en que la presión fue igual a cero. Tiempo 0.60 0.62 0.64 Presión 20 50 60 7.18 Al tratar de encontrar la acidez de una solución de hidróxi- do de magnesio en ácido clorhídrico, se obtiene la ecuación si- guiente: A(x) = x3 + 3.5x2 – 40 donde x es la concentración del ion hidrógeno. Calcule la con- centración del ion de hidrógeno para una solución saturada (cuando la acidez es igual a cero) por medio de dos métodos diferentes en MATLAB (por ejemplo, en forma gráfica y raíces de una función).
  • 222. 7.19 Considere el sistema siguiente con tres incógnitas a, u y v: u2 – 2v2 = a2 u + v = 2 a2 – 2a – u = 0 Encuentre los valores reales de las incógnitas, por medio de a) Solver de Excel, y b) algún paquete de software de manipulación simbólica. 7.20 En el análisis de sistemas de control, se desarrollan funcio- nes de transferencia que relacionan en forma matemática la di- námica de la entrada de un sistema con su salida. La función de transferencia para un sistema de posicionamiento robotizado está dada por: G s C s N s s s s s s ( ) ( ) ( ) . . = = + + + + + 3 2 4 3 12 5 50 5 66 19 122s s s 2 296 192 + + donde G(s) = ganancia del sistema, C(s) = salida del sistema, N(s) = entrada del sistema y s = frecuencia compleja de la trans- formada de Laplace. Utilice una técnica numérica para obtener las raíces del numerador y el denominador, y factorícelas en la forma siguiente: G(s) = ( )( )( ) ( )( )( )( ) s a s a s a s b s b s b s b + + + + + + + 1 2 3 1 2 3 4 donde ai y bi = las raíces del numerador y el denominador, res- pectivamente. 7.21 Desarrolle una función de archivo M para el método de bisección, en forma similar a la de la figura 5.10. Pruebe la función por medio de repetir los cálculos de los ejemplos 5.3 y 5.4. 7.22 Desarrolle una función de archivo M para el método de la falsa posición. La estructura de su función debe ser similar al algoritmo de la bisección que se ilustra en la figura 5.10. Pruebe el programa por medio de repetir el ejemplo 5.5. 7.23 Desarrolle una función de archivo M para el método de Newton-Raphson, con base en la figura 6.4 y la sección 6.2.3. Junto con el valor inicial, introduzca como argumentos la función y derivada. Pruébelo con la repetición del cálculo del ejemplo 6.3. 7.24 Desarrolle una función de archivo M para el método de la secante, con base en la figura 6.4 y la sección 6.3.2. Junto con los dos valores iniciales, introduzca como argumento a la función. Pruébelo con la duplicación de los cálculos del ejemplo 6.6. 7.25 Desarrolle una función de archivo M para el método de la secante modificado, con base en la figura 6.4 y la sección 6.3.2. Junto con el valor inicial y la fracción de perturbación, introduz- ca como argumento a la función. Pruébelo con la duplicación de los cálculos del ejemplo 6.8. 198 RAÍCES DE POLINOMIOS
  • 223. CAPÍTULO 8 Estudio de casos: raíces de ecuaciones La finalidad de este capítulo es utilizar los procedimientos numéricos analizados en los capítulos 5, 6 y 7 para resolver problemas de ingeniería reales. Las técnicas numéricas son importantes en aplicaciones prácticas, ya que con frecuencia los ingenieros encuen- tran problemas que no es posible resolver usando técnicas analíticas. Por ejemplo, mo- delos matemáticos simples que se pueden resolver analíticamente quizá no sean aplicables cuando se trata de problemas reales. Debido a esto, se deben utilizar modelos más complicados. En esta situación, es conveniente implementar una solución numérica en una computadora. En otros casos, los problemas de diseño en la ingeniería llegan a requerir soluciones de variables implícitas en ecuaciones complicadas. Las siguientes aplicaciones son típicas de aquellas que en forma rutinaria se encuen- tran durante los últimos años de estudio y en estudios superiores. Más aún, son pro- blemas representativos de aquellos que se encontrarán en la vida profesional. Los problemas provienen de las cuatro grandes ramas de la ingeniería: química, civil, eléc- trica y mecánica. Dichas aplicaciones también sirven para ilustrar las ventajas y desven- tajas de las diversas técnicas numéricas. La primera aplicación, tomada de la ingeniería química, proporciona un excelente ejemplo de cómo los métodos para determinar raíces permiten usar fórmulas realistas en la ingeniería práctica; además, demuestra de qué manera la eficiencia del método de Newton-Raphson se emplea cuando se requiere de un gran número de cálculos como método para la localización de raíces. Los siguientes problemas de diseño en ingeniería se toman de las ingenierías civil, eléctrica y mecánica. En la sección 8.2 se usan tanto métodos cerrados como abiertos para determinar la profundidad y velocidad del agua que fluye en un canal abierto. En la sección 8.3 se explica cómo las raíces de ecuaciones trascendentes se usan en el dise- ño de un circuito eléctrico. En las secciones 8.2 y 8.3 también se muestra de qué forma los métodos gráficos ofrecen un conocimiento del proceso de localización de raíces. Por último, la sección 8.4 usa la localización de raíces polinominales para analizar las vi- braciones de un automóvil. 8.1 LEYES DE LOS GASES IDEALES Y NO IDEALES (INGENIERÍA QUÍMICA Y BIOQUÍMICA) Antecedentes. La ley de los gases ideales está dada por pV = nRT (8.1) donde p es la presión absoluta, V es el volumen, n es el número de moles, R es la constan- te universal de los gases y T es la temperatura absoluta. Aunque esta ecuación se utiliza
  • 224. 200 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES ampliamente por los ingenieros y científicos, sólo es exacta en un rango limitado de presión y temperatura. Además, la ecuación (8.1) es apropiada solamente para algunos gases. Una ecuación de estado alternativa para los gases está dada por: p a b RT + ⎛ ⎝ ⎞ ⎠ = v v 2 ( – ) (8.2) conocida como la ecuación de van der Waals, donde v = V/n es el volumen molar, a y b son constantes empíricas que dependen del gas que se analiza. Un proyecto de diseño en ingeniería química requiere que se calcule exactamente el volumen molar (v) del dióxido de carbono y del oxígeno para diferentes combinacio- nes de temperatura y presión, de tal forma que los recipientes que contengan dichos gases se puedan seleccionar apropiadamente. También es importante examinar qué tan bien se apega cada gas a la ley de los gases ideales, comparando el volumen molar calcu- lado con las ecuaciones (8.1) y (8.2). Se proporcionan los siguientes datos: R = 0.082054 L atm/(mol K) a = 3.592 bióxido de carbono b = 0.04267 a = 1.360 oxígeno b = 0.03183 Las presiones de diseño de interés son de 1, 10 y 100 atmósferas para combinaciones de temperatura de 300, 500 y 700 K. Solución. Los volúmenes molares de ambos gases se calculan usando la ley de los gases ideales, con n = 1. Por ejemplo, si p = 1 atm y T = 300 K, v = = = = V n RT p 0 082054 24 6162 . . L am mol K 300 K 1 atm L/mol Estos cálculos se repiten para todas las combinaciones de presión y de temperatura que se presentan en la tabla 8.1. TABLA 8.1 Cálculos del volumen molar. Volumen Volumen molar Volumen molar molar (ley de los (van der Waals) (van der Waals) Temperatura, Presión, gases ideales), Dióxido de carbono, Oxígeno, K atm L/mol L/mol L/mol 300 1 24.6162 24.5126 24.5928 10 2.4616 2.3545 2.4384 100 0.2462 0.0795 0.2264 500 1 41.0270 40.9821 41.0259 10 4.1027 4.0578 4.1016 100 0.4103 0.3663 0.4116 700 1 57.4378 57.4179 57.4460 10 5.7438 5.7242 5.7521 100 0.5744 0.5575 0.5842
  • 225. Los cálculos del volumen molar a partir de la ecuación de van der Waals se llevan a cabo usando cualquiera de los métodos numéricos para la determinación de raíces de ecuaciones analizados en los capítulos 5, 6 y 7, con ƒ = + ⎛ ⎝ ⎞ ⎠ ( ) ( – ) – v v v p a b RT 2 (8.3) En este caso, como la derivada de ƒ(v) se determina fácilmente, entonces es convenien- te y eficiente usar el método de Newton-Raphson. La derivada de ƒ(v) respecto a v está dada por ′ ƒ = + ( ) – v v v p a ab 2 3 2 (8.4) El método de Newton-Raphson se describe mediante la ecuación (6.6): v v v v i i i i + = ƒ ′ ƒ 1 – ( ) ( ) la cual se utiliza para estimar la raíz. Por ejemplo, usando como valor inicial 24.6162, el volumen molar del bióxido de carbono a 300 K y 1 atmósfera es 24.5126 L/mol. Este resultado se obtuvo después de sólo dos iteraciones y tiene un ea menor del 0.001 por ciento. En la tabla 8.1 se muestran resultados similares para todas las combinaciones de presión y de temperatura de ambos gases. Se observa que los resultados obtenidos con la ecuación de los gases ideales difieren de aquellos obtenidos usando la ecuación de van der Waals, para ambos gases, dependiendo de los valores específicos de p y T. Ade- más, como algunos de dichos resultados son significativamente diferentes, el diseño de los recipientes que contendrán a los gases podría ser muy diferente, dependiendo de qué ecuación de estado se haya empleado. En este problema, se examinó una complicada ecuación de estado con el método de Newton-Raphson. En varios casos los resultados variaron de manera significativa res- pecto a la ley de los gases ideales. Desde un punto de vista práctico, el método de Newton-Raphson fue apropiado aquí, ya que ƒ′(v) resultó sencillo de calcular. De esta manera, es factible explotar las propiedades de rápida convergencia del método de Newton-Raphson. Además de demostrar su poder en un solo cálculo, este problema de diseño muestra cómo el método de Newton-Raphson es especialmente atractivo cuando se requiere una gran cantidad de cálculos. Debido a la velocidad de las computadoras digitales, la efi- ciencia de varios métodos numéricos en la solución para la mayoría de las raíces de ecuaciones no se distingue en un cálculo único. Incluso una diferencia de 1 s entre el método de bisección y el eficiente método de Newton-Raphson no significa pérdida de tiempo cuando se realiza sólo un cálculo. Sin embargo, suponga que para resolver un problema se necesita calcular millones de raíces. En tal caso, la eficiencia del método podría ser un factor decisivo al elegir una técnica. Por ejemplo, suponga que se requiere diseñar un sistema de control computarizado automático para un proceso de producción de sustancias químicas. Dicho sistema re- quiere una estimación exacta de volúmenes molares sobre una base esencialmente continua, para fabricar en forma conveniente el producto final. Se instalan medidores 8.1 LEYES DE LOS GASES IDEALES Y NO IDEALES 201
  • 226. 202 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES que proporcionan lecturas instantáneas de presión y temperatura. Se debe obtener valo- res de v para diversos gases que se usan en el proceso. Para una aplicación como ésta, los métodos cerrados, tales como el de bisección o de la regla falsa, posiblemente consumirían mucho tiempo. Además, los dos valores iniciales que se requieren en estos métodos generarían un retraso crítico en el procedi- miento. Dicho inconveniente afecta de igual forma al método de la secante, que también necesita dos valores iniciales. En contraste, el método de Newton-Raphson requiere sólo de un valor inicial para determinar la raíz. La ley de los gases ideales podría emplearse para obtener un valor inicial del proceso. Después, suponiendo que el tiempo empleado sea lo bastante corto como para que la presión y la temperatura no varíen mucho entre los cálculos, la solu- ción de la raíz anterior se puede usar como un buen valor inicial para la siguiente aplicación. De esta forma, se tendría de forma automática un valor inicial cercano a la solución, que es requisito indispensable para la convergencia del método de Newton- Raphson. Todas estas consideraciones favorecerán de buena manera la técnica de New- ton-Raphson en estos problemas. 8.2 FLUJO EN UN CANAL ABIERTO (INGENIERÍA CIVIL E INGENIERÍA AMBIENTAL) Antecedentes. La ingeniería civil constituye una disciplina amplia que incluye diver- sas áreas como estructural, geotecnia, transporte, ambiental y abastecimiento del agua. Las dos últimas especialidades tienen que ver con la contaminación y suministro de agua y, por lo tanto, implican un uso extensivo de la ciencia de mecánica de fluidos. Un problema general se relaciona con el flujo de agua en canales abiertos, ríos y canales. La velocidad de flujo, que se mide frecuentemente en la mayoría de los ríos y arroyos, se define como el volumen de agua que pasa por un punto específico de un canal por unidad de tiempo, Q (m3 /s). Aunque la velocidad de flujo es una cantidad útil, una cuestión adicional se relacio- na con lo que sucede cuando se tiene una velocidad de flujo específico en un canal con pendiente (figura 8.l). De hecho, suceden dos cosas: el agua alcanzará una profundidad específica H (m) y se moverá a una velocidad específica U (m/s). Los ingenieros am- bientales pueden estar interesados en conocer tales cantidades para predecir el transpor- te y el destino de los contaminantes en un río. Así, la pregunta general sería: si se tiene una velocidad de flujo para un canal, ¿cómo se calculan la profundidad y la velocidad? P S B H Q, U Ac FIGURA 8.1
  • 227. Solución. La relación fundamental entre flujo y profundidad es la ecuación de conti- nuidad Q = UAc (8.5) donde Ac = área de la sección transversal del canal (m2 ). Dependiendo de la forma del canal, el área puede relacionarse con la profundidad por medio de varias expresiones funcionales. Para el canal rectangular mostrado en la figura 8.1, Ac = BH. Al sustituir esta expresión en la ecuación (8.5) se obtiene Q = UBH (8.6) donde B = ancho (m). Debe observarse que la ecuación de continuidad se obtiene de la conservación de la masa (recuerde la tabla 1.1). Ahora, aunque la ecuación (8.6) ciertamente relaciona los parámetros del canal, no es suficiente para responder nuestra pregunta. Suponiendo que se conoce B, se tiene una ecuación y dos incógnitas (U y H). Por lo tanto, se requiere una ecuación adicional. Para flujo uniforme (significa que el flujo no varía con la distancia ni con el tiempo), el in- geniero irlandés Robert Manning propuso la siguiente fórmula semiempírica (llamada en forma apropiada ecuación de Manning) U n R S = 1 2 3 1 2 / / (8.7) donde n = coeficiente de rugosidad de Manning (un número adimensional que toma en cuenta la fricción del canal), S = pendiente del canal (adimensional, metros de caída por longitud en metros) y R = radio hidráulico (m), el cual se relaciona con los parámetros fundamentales mediante R A P c = (8.8) donde P = perímetro mojado (m). Como su nombre lo indica, el perímetro mojado es la longitud de los lados y el fondo del canal que está bajo el agua. Por ejemplo, para un canal rectangular, éste se define como P = B + 2H (8.9) Se debe observar que así como la ecuación de continuidad se obtiene de la conservación de la masa, la ecuación de Manning es una expresión de la conservación del momentum. En particular, indica cómo la velocidad depende de la rugosidad, una manifestación de la fricción. Aunque el sistema de ecuaciones no lineales (8.6 y 8.7) puede resolverse simultá- neamente (por ejemplo, usando el método de Newton-Raphson multidimensional que se describe en la sección 6.5.2), un método más simple sería la combinación de ecuaciones. La ecuación (8.7) se sustituye en la ecuación (8.6) y se obtiene Q BH n R S = 2 3 1 2 / / (8.10) 8.2 FLUJO EN UN CANAL ABIERTO 203
  • 228. 204 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES Así, el radio hidráulico, ecuación (8.8), junto con las diferentes relaciones para un canal rectangular, se sustituye: Q S n BH B H = + 1 2 5 3 2 3 2 / / / ( ) ( ) (8.11) De esta forma, la ecuación contiene ahora una sola incógnita H junto con el valor dado de Q y los parámetros del canal (n, S y B). Aunque se tiene una ecuación con una incógnita, es imposible resolverla en forma explícita para encontrar H. Sin embargo, la profundidad se determina numéricamente, al reformular la ecuación como un problema de raíces. ƒ = + = ( ) ( ) ( ) – / / / H S n BH B H Q 1 2 5 3 2 3 2 0 (8.12) La ecuación (8.12) se resuelve rápidamente con cualquiera de los métodos para localizar raíces, descritos en los capítulos 5 y 6. Por ejemplo, si Q = 5 m3 /s, B = 20 m, n = 0.03 y S = 0.0002, la ecuación es ƒ = + = ( ) . ( ) ( ) – / / H H H 0 471405 20 20 2 5 0 5 3 2 3 (8.13) Puede resolverse para H = 0.7023 m. El resultado se verifica sustituyéndolo en la ecua- ción (8.13): ƒ = × + × = × ( ) . ( . ) ( . ) – . / / – H 0 471405 20 0 7023 20 2 0 7023 5 7 8 10 5 3 2 3 5 (8.14) que se acerca bastante a cero. La otra incógnita, la velocidad, ahora se determina por sustitución en la ecuación (8.6), U Q BH = = = 5 20 0 7023 0 356 ( . ) . m/s (8.15) Así, se tiene una solución satisfactoria para la profundidad y la velocidad. Ahora se buscará analizar un poco más los aspectos numéricos de este problema. Una pregunta pertinente sería: ¿Cómo hacer para obtener un buen valor inicial para el método numérico? La respuesta depende del tipo de método. Para los métodos cerrados, como el de bisección y el de la falsa posición, se deter- minaría, si es posible, estimar valores iniciales inferiores y superiores que contengan siempre una sola raíz. Un método conservador podría ser elegir cero como el límite in- ferior. Y, si se conoce, la profundidad máxima posible que puede presentarse, este valor serviría como valor inicial superior. Por ejemplo, todos los ríos, con excepción de los más grandes del mundo, tienen menos de 10 metros de profundidad. Por lo tanto, se toman 0 y 10 como límites del intervalo para H. Si Q 0 y H = 0, la ecuación (8.12) siempre será negativa para el valor inicial in- ferior. Conforme H se incrementa, la ecuación (8.12) también se incrementará en forma
  • 229. monótona, y finalmente será positiva. Por lo tanto, los valores iniciales deberán conte- ner una sola raíz en la mayoría de los casos que se estudian con ríos y arroyos natu- rales. Ahora, una técnica como la de bisección debería ser muy confiable en la búsqueda de una raíz. ¿Pero qué precio se paga? Al usar tal ancho del intervalo y una técnica como la de bisección, el número de iteraciones para obtener una precisión deseada podría ser computacionalmente excesivo. Por ejemplo, si se elige una tolerancia de 0.001 m, la ecuación (5.5) sirve para calcular n = = log(10 / 0.001) log 2 13 3 . Así, se requieren 14 iteraciones. Aunque esto ciertamente no sería costoso para un solo cálculo, podría ser exorbitante si se efectuaran muchas de estas evaluaciones. Las alter- nativas serían: estrechar el intervalo inicial (en base a un conocimiento específico del sistema), usar un método cerrado más eficiente (como el de la falsa posición) o confor- marse con una menor precisión. Otra forma de tener una mejor eficiencia sería utilizar un método abierto como el de Newton-Raphson o el de la secante. Por supuesto que en tales casos el problema de los valores iniciales se complica al considerar la convergencia. Se obtiene una mayor comprensión de este problema examinando al menos eficien- te de los métodos abiertos: iteración de punto fijo. Al analizar la ecuación (8.11), se observa que hay dos modos sencillos para despejar H; esto es, se resuelve tanto para H en el numerador, H Qn B H BS = + ( ) ( ) / / / 3 5 2 5 3 10 2 (8.16) como para H en el denominador, H S BH Qn B = ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 1 2 3 5 2 3 2 ( ) ( ) – / / (8.17) Ahora, aquí es donde el razonamiento físico puede ayudar. En la mayoría de los ríos y arroyos, el ancho es mucho mayor que la profundidad. Así, la cantidad B + 2H no varía mucho. De hecho, debe ser aproximadamente igual a B. Por lo contrario, BH es directamente proporcional a H. En consecuencia, la ecuación (8.16) deberá converger más rápido a la raíz, lo cual se verifica al sustituir los límites del intervalo H = 0 y 10 en ambas ecuaciones. Con la ecuación (8.16), los resultados son 0.6834 y 0.9012, que son cercanos a la raíz verdadera, 0.7023. En contraste, los resultados con la ecuación (8.17) son –10 y 8178, los cuales están alejados claramente de la raíz. La superioridad de la ecuación (8.16) se manifiesta además al graficar sus compo- nentes (recuerde la figura 6.3). Como se observa en la figura 8.2, la componente g(H) de la ecuación (8.16) es casi horizontal. Así, esta ecuación no únicamente converge, sino que debe hacerlo con rapidez. En cambio, la componente g(H) de la ecuación (8.17) es casi vertical, indicando así una fuerte y rápida divergencia. 8.2 FLUJO EN UN CANAL ABIERTO 205
  • 230. 206 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES Hay dos beneficios prácticos de este análisis: 1. En el caso de que se use un método abierto más detallado, la ecuación (8.16) ofrece un medio para obtener un excelente valor inicial. Por ejemplo, si H se elige como cero, la ecuación (8.12) toma la forma H Qn B S 0 3 5 3 10 = ( / ) / / donde H0 será el valor inicial utilizado en el método de Newton-Raphson o en el de la secante. 2. Se ha demostrado que la iteración de punto fijo ofrece una opción viable para este problema específico. Por ejemplo, usando como valor inicial H = 0, en la ecuación (8.16) se obtienen seis dígitos de precisión en cuatro iteraciones para el caso que se examina. La fórmula de iteración de punto fijo sería fácil de manipular en una hoja de cálculo, ya que las hojas de cálculo son ideales para fórmulas iterativas conver- gentes que dependen de una sola celda. 8.3 DISEÑO DE UN CIRCUITO ELÉCTRICO (INGENIERÍA ELÉCTRICA) Antecedentes. Los ingenieros eléctricos emplean las leyes de Kirchhoff para estudiar el comportamiento de los circuitos eléctricos en estado estacionario (que no varía con el tiempo). En la sección 12.3 se analiza el comportamiento de dichos estados estacionarios. Otro problema importante tiene que ver con circuitos de naturaleza transitoria, don- de súbitamente ocurren cambios temporales. Esta situación se presenta cuando se cierra el interruptor como en la figura 8.3. En tal caso, existe un periodo de ajuste al cerrar el interruptor hasta que se alcance un nuevo estado estacionario. La longitud de este pe- FIGURA 8.2 Gráfica de los componentes para dos casos de iteración de punto fijo, uno que converge [a), ecuación (8.16)] y uno que diverge [b), ecuación (8.17)]. y y1 = H y2 = g(H) a) 4 2 0 0 1 2 H y1 = H y2 = g(H) b) 4 2 0 0 1 2 H y
  • 231. riodo de ajuste está íntimamente relacionada con las propiedades de almacenamiento de energía, tanto del capacitor como del inductor. La energía almacenada puede oscilar entre estos dos elementos durante un periodo transitorio. Sin embargo, la resistencia en el circuito disipará la magnitud de las oscilaciones. El flujo de corriente a través del resistor provoca una caída de voltaje (VR), dada por VR = iR donde i = la corriente y R = la resistencia del resistor. Si las unidades de R e i son ohms y amperes, respectivamente, entonces las unidades de VR son voltios. De manera semejante, un inductor se opone a cambios de corriente tales que la caída del voltaje a través del inductor VL es V L di dt L = donde L = la inductancia. Si las unidades de L e i son henrios y amperes, respectivamen- te, entonces las de VL son voltios, y las de t son segundos. La caída del voltaje a través del capacitor (VC) depende de la carga (q) sobre éste: V q C C = donde C = la capacitancia. Si las unidades de carga se expresan en coulombios, entonces la unidad de C es el faradio. La segunda ley de Kirchhoff establece que la suma algebraica de las caídas de voltaje alrededor de un circuito cerrado es cero. Así que, después de cerrar el interruptor se tiene L di dt Ri q C + + = 0 Sin embargo, como la corriente se relaciona con la carga de acuerdo con i dq dt = Interruptor Resistor Capacitor – + V0 i – + Batería Inductor FIGURA 8.3 Un circuito eléctrico. Cuando se cierra el interruptor, la corriente experimenta una serie de oscilaciones hasta que se alcance un nuevo estado estacionario. 8.3 DISEÑO DE UN CIRCUITO ELÉCTRICO 207
  • 232. 208 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES Por lo tanto, L d q dt R dq dt C q 2 2 1 0 + + = (8.18) Ésta es una ecuación diferencial ordinaria lineal de segundo orden que se resuelve usan- do los métodos de cálculo (véase la sección 8.4). Esta solución está dada por q t q e LC R L t Rt L ( ) – – /( ) = ⎛ ⎝ ⎞ ⎠ ⎡ ⎣ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ 0 2 2 2 cos 1 (8.19) si en t = 0, q = q0 = V0C y V0 = el voltaje de la batería. La ecuación (8.19) describe la variación de la carga en el capacitor. La solución q(t) se grafica en la figura 8.4. Un problema de diseño típico en ingeniería eléctrica consistiría en la determinación del resistor apropiado para disipar energía a una razón especificada, con valores cono- cidos de L y C. En este problema, suponga que la carga se debe disipar a 1% de su valor original (q/q0 = 0.01) en t = 0.05 s, con L = 5 H y C = 10–4 F. Solución. Es necesario despejar R de la ecuación (8.19) con valores conocidos para q, q0, L y C. Sin embargo, debe emplear una técnica de aproximación numérica, ya que R es una variable implícita en la ecuación (8.19). Se usará el método de bisección para dicho propósito. Los otros métodos estudiados en los capítulos 5 y 6 también son apro- piados; aunque el método de Newton-Raphson tiene el inconveniente de que la derivada de la ecuación (8.19) es un poco complicada. Reordenando la ecuación (8.19), ƒ = ⎛ ⎝ ⎞ ⎠ ⎡ ⎣ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ( ) – – – /( ) R e LC R L t q q Rt L 2 2 0 2 cos 1 Utilizando los valores numéricos dados, ƒ = ( ) ( . ) – . – . ] R e R R 0 005 2 0 05 0 01 cos 2 000 – 0.01 [ (8.20) Un examen de esta ecuación sugiere que un rango inicial razonable para R es 0 a 400 Ω (ya que 2000 – 0.01R2 debe ser mayor que cero). La figura 8.5 es una gráfica de la ecuación (8.20), que confirma lo anterior. Al hacer veintiún iteraciones con el método de bisección se obtiene una raíz aproximada R = 328.1515 Ω, con un error menor al 0.0001 por ciento. De esta forma, se especifica un resistor con este valor para el circuito mostrado en la figura 8.6 y se espera tener una disipación consistente con los requisitos del problema. Este problema de diseño no se podría resolver eficientemente sin el uso de los métodos numéricos vistos en los capítulos 5 y 6. FIGURA 8.4 La carga en un capacitor como función del tiempo después de cerrar el interruptor de la figura 8.3. q(t) q0 Tiempo
  • 233. 8.4 ANÁLISIS DE VIBRACIONES (INGENIERÍA MECÁNICA E INGENIERÍA AERONÁUTICA) Antecedentes. Las ecuaciones diferenciales sirven para modelar la vibración de sis- temas en ingeniería. Algunos ejemplos (figura 8.6) son el péndulo simple, una masa sujeta a un resorte y un circuito eléctrico con un inductor y un capacitor (recuerde la sección 8.3). La vibración de estos sistemas puede amortiguarse por medio de algún FIGURA 8.5 Gráfica de la ecuación (8.20) usada para obtener los valores iniciales de R que contienen a la raíz. f (R) R 0.0 – 0.2 – 0.4 – 0.6 200 Raíz 325 400 Péndulo Resorte/masa Corriente Circuito LC FIGURA 8.6 Tres ejemplos de vibraciones armónicas simples. Las flechas dobles indican las vibraciones en cada sistema. 8.4 ANÁLISIS DE VIBRACIONES 209
  • 234. 210 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES mecanismo que absorba la energía. Además, la vibración puede ser libre o sujeta a algún disturbio periódico externo. En este último caso, se dice que el movimiento es forzado. En esta sección se examinará la vibración libre y forzada del automóvil, que se muestra en la figura 8.7. El tratamiento general es aplicable a muchos otros problemas de inge- niería. Como se observa en la figura 8.7, un carro de masa m se soporta por medio de re- sortes y amortiguadores. Los amortiguadores presentan resistencia al movimiento, que es proporcional a la velocidad vertical (movimiento ascendente-descendente). La vibra- ción libre ocurre cuando el automóvil es perturbado de su condición de equilibrio, como ocurre cuando se pasa por un bache (agujero en el camino). Un instante después de pasar por el bache, las fuerzas netas que actúan sobre m son la resistencia de los resortes y la fuerza de los amortiguadores. Tales fuerzas tienden a regresar el carro al estado de equilibrio original. De acuerdo con la ley de Hooke, la resistencia del resorte es propor- cional a su constante k y a la distancia de la posición de equilibrio x. Por lo tanto, Fuerza del resorte = –kx donde el signo negativo indica que la fuerza de restauración actúa regresando el auto- móvil a su posición de equilibrio (es decir, la dirección x negativa). La fuerza para un amortiguador está dada por Fuerza de amoriguación = –c dx dt donde c es el coeficiente de amortiguamiento y dx/dt es la velocidad vertical. El signo ne- gativo indica que la fuerza de amortiguamiento actúa en dirección opuesta a la velocidad. Las ecuaciones de movimiento para el sistema están dadas por la segunda ley de Newton (F = ma), que en este problema se expresa como m Masa d2 x aceleración dt2 × × = = fuerza de amortiguamiento dx dt –c + + (–kx) fuerza del resorte FIGURA 8.7 Un carro de masa m. Amortiguador Resorte m –x +x
  • 235. o bien m d x dt c dx dt kx 2 2 0 + + = Observe la similitud con la ecuación (8.18) que se desarrolló en la sección 8.3 para un circuito eléctrico. Si se supone que la solución toma la forma x(t) = ert , entonces se escribe la ecuación característica mr2 + cr + k = 0 (8.21) La incógnita r es la solución de la ecuación característica cuadrática que se puede obte- ner, ya sea en forma analítica o numérica. En este problema de diseño, primero se utili- za la solución analítica para ofrecer una idea general de la forma en que el movimiento del sistema es afectado por los coeficientes del modelo: m, k y c. También se usarán diferentes métodos numéricos para obtener las soluciones, y se verificará la exactitud de los resultados con la solución analítica. Por último, sentaremos las bases para proble- mas más complicados que se describirán más tarde en el texto, donde los resultados analíticos son difíciles o imposibles de obtener. La solución de la ecuación (8.21) para r está dada por la fórmula cuadrática r r c c mk m 1 2 2 4 2 = ± – – (8.22) Note el significado de la magnitud de c al compararla con 2 km . Si c 2 km , r1 y r2 son números reales negativos, y la solución es de la forma x(t) = Aer1t + Ber2t (8.23) donde A y B son constantes que se deben determinar a partir de las condiciones iniciales de x y dx/dt. Tales sistemas se denominan sobreamortiguados. Si c 2 km , las raíces son complejas, r r i 1 2 = ± λ µ donde µ = ⏐ ⏐ 2 c mk m 2 4 – y la solución es de la forma x(t) = e–lt (A cos µt + B sen µt) (8.24) Tales sistemas se conocen como subamortiguados. Por último, si c = 2 km , la ecuación característica tiene una raíz doble y la solución es de la forma x(t) = (A + Bt)e–lt (8.25) 8.4 ANÁLISIS DE VIBRACIONES 211
  • 236. 212 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES donde λ = c m 2 A tales sistemas se les llama críticamente amortiguados. En los tres casos, x(t) se aproxima a cero cuando t tiende al infinito. Esto significa que el automóvil siempre regresa a la posición de equilibrio después de pasar por un bache (¡aunque esto parecería poco probable en algunas ciudades que hemos visitado!). Estos casos se ilustran en la figura 8.8. El coeficiente de amortiguamiento crítico cc es el valor de c que hace que el radical de la ecuación (8.22) sea igual a cero, c km c mp c c = = 2 2 o (8.26) donde p k m = (8.27) La relación c/cc se llama factor de amortiguamiento, y a p se le conoce como la frecuen- cia natural de la vibración libre no amortiguada. Ahora, consideremos el caso donde el automóvil está sujeto a una fuerza periódica dada por P = Pm sen wt o d = dm sen wt donde dm = Pm/k = la deflexión estática del carro sujeto a una fuerza Pm. La ecuación diferencial que rige este caso es m d x dt c dx dt kx P t m 2 2 + + = sen ω La solución general de esta ecuación se obtiene al sumar una solución particular a la solución por vibración libre, dada por las ecuaciones (8.23), (8.24) y (8.25). Conside- Amortiguamiento crítico Sobreamortiguamiento x(t) t Subamortiguamiento FIGURA 8.8 Vibraciones a) sobreamor- tiguadas, b) subamortigua- das y c) amortiguadas críticamente.
  • 237. remos el movimiento en estado estacionario del sistema forzado donde se ha amortigua- do el movimiento transitorio inicial. Si consideramos que esta solución en estado estacionario tiene la forma xss(t) = xm sen (wt – f) se demuestra que x P k x d p c c p m m m m c / [ – ( / )] ( / ) ( / ) = = + 1 1 4 2 2 2 ω ω (8.28) La cantidad xm/dm llamada factor de amplificación de la amplitud depende tan sólo de la razón del amortiguamiento real con el amortiguamiento crítico, y de la razón de la frecuencia forzada con la frecuencia natural. Observe que cuando la frecuencia forzada w se aproxima a cero, el factor de amplificación se aproxima a 1. Si, además, el sistema es ligeramente amortiguado, es decir, si c/cc es pequeño, entonces el factor de amplifica- ción se hace grande cuando w es cercano a p. Si el amortiguamiento es cero, entonces el factor de amplificación tiende a infinito cuando w = p, y se dice que la función de fuerza entra en resonancia con el sistema. Por último, conforme w/p se vuelve muy grande, el factor de amplificación se aproxima a cero. La figura 8.9 muestra una gráfica del factor de amplificación como una función de w/p para diversos factores de amortiguamiento. Observe que el factor de amplificación se conserva pequeño al seleccionar un factor de amortiguamiento grande, o manteniendo muy distantes las frecuencias natural y forzada. El diseño del sistema de suspensión del automóvil comprende una solución interme- dia entre comodidad y estabilidad para todas las condiciones de manejo y velocidad. Se pide determinar la estabilidad del carro para cierto diseño propuesto que ofrezca como- didad sobre caminos irregulares. Si la masa del carro es m = 1.2 × 106 gramos y tiene un sistema de amortiguadores con un coeficiente de amortiguamiento c = 1 × 107 g/s. Suponga que la expectativa del público en cuanto a la comodidad se satisface si la vibración libre del automóvil es subamortiguada y el primer cruce por la posición de equilibrio tiene lugar en 0.05 s. Si en t = 0, el carro súbitamente se desplaza una distan- FIGURA 8.9 Gráfica del factor de amplificación de la amplitud xm/xd [ecuación (8.28)] contra la frecuencia w entre la frecuencia natural p para diversos valores del coeficiente de amortiguamiento c entre el coeficiente de amortiguamiento crítico cc. c/cc = 0 0.125 0.25 0.5 1 6 4 2 0 0 1 2 x m /x d ␻/p 8.4 ANÁLISIS DE VIBRACIONES 213
  • 238. 214 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES cia x0, desde el equilibrio, y la velocidad es cero (dx/dt = 0), la solución de la ecuación de movimiento está dada por la ecuación (8.24), con A = x0 y B = x0l/m. Por lo tanto, x t x e t t t ( ) – = + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ 0 λ µ λ µ µ cos sen Nuestras condiciones de diseño se satisfacen si x t ( ) ) = = + 0 cos (0.05 sen (0.05 ) µ λ µ µ o bien 0 0 05 4 4 0 05 4 2 2 2 2 2 = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ cos sen . – – . – k m c m c km c k m c m (8.29) Dado que se conocen c y m, el problema de diseño consiste ahora en encontrar valores apropiados de k que satisfagan la ecuación (8.29). Solución. Se pueden utilizar los métodos de la bisección, de la falsa posición o de la secante, ya que esos métodos no requieren la evaluación de la derivada de la ecuación (8.29), la cual podría resultar algo difícil de calcular en este problema. La solución es k = 1.397 × 109 , con 12 iteraciones, utilizando el método de bisección con un intervalo inicial que va de k = 1 × 109 a 2 × 109 (ea = 0.07305%). Aunque este diseño satisface los requerimientos de vibración libre (después de caer en un bache), también debe probarse bajo las condiciones de un camino accidentado. La superficie del camino se puede aproximar como d d x D m = ⎛ ⎝ ⎞ ⎠ sen 2π donde d es la deflexión, dm es la máxima deflexión de 0.1 m y D es la distancia entre los picos que es igual a 20 m. Si v es la velocidad horizontal del automóvil (m/s), entonces la ecuación de movimiento del sistema se escribe como m d x dt c dx dt kx kd D t m 2 2 + + = ⎛ ⎝ ⎞ ⎠ sen 2πv donde w = 2pv/D es la frecuencia forzada. La estabilidad del carro se considera satisfactoria si en estado estacionario la máxi- ma distancia xm es inferior a 0.2 m para todas la velocidades de manejo. El factor de amortiguamiento se calcula de acuerdo con la ecuación (8.26) c c km c = = × × × = 10 2 1 10 2 1 397 10 1 2 10 0 1221 7 9 6 . ( . ) .
  • 239. Ahora, se buscan valores w/p que satisfagan la ecuación (8.28), 2 1 1 4 0 1221 2 2 2 2 = + [ – ( / ) ] ( . ) ( / ) ω ω p p (8.30) Si la ecuación (8.30) se expresa como un problema de raíces ƒ = + = ( / ) [ – ( / ) ] ( . ) ( / ) – ω ω ω p p p 2 1 4 0 1221 1 0 2 2 2 2 (8.31) Vea que los valores w/p se determinan al encontrar las raíces de la ecuación (8.31). Una gráfica de la ecuación (8.31) se presenta en la figura 8.10. En ésta se muestra que la ecuación (8.31) tiene dos raíces positivas que se pueden determinar con el méto- do de bisección, usando el software TOOLKIT. El valor más pequeño para w/p es igual a 0.7300 en 18 iteraciones, con un error estimado de 0.000525% y con valores iniciales superior e inferior de 0 y 1. El valor mayor que se encuentra para w/p es de 1.1864 en 17 iteraciones, con un error estimado de 0.00064% y con valores iniciales superior e inferior de 1 y 2. También es posible expresar la ecuación (8.30) como un polinomio: ω ω p p ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + 4 2 1 9404 0 75 – . . (8.32) y usar MATLAB para determinar las raíces como sigue: a=[l 0 -1.9404 0 .75]; roots (a) ans = 1.1864 -1.1864 0.7300 -0.7300 Lo cual confirma el resultado obtenido con el método de bisección. Esto también sugie- re que, aunque la ecuación (8.32) es una ecuación de cuarto grado en w/p, también es una ecuación cuadrática en (w/p)2 . El valor de la frecuencia natural p está dado por la ecuación (8.27), p = × × = 1 397 10 1 2 10 34 12 9 6 . . . s–1 Las frecuencias forzadas, para las que la máxima deflexión es 0.2 m, entonces se calcu- lan como w = 0.7300(34.12) = 24.91 s–1 w = 1.1864(34.12) = 40.48 s–1 8.4 ANÁLISIS DE VIBRACIONES 215
  • 240. 216 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES con lo cual se obtiene v v = = = × = = = = × = ω π ω π D D 2 24 91 20 2 3 14159 79 29 3 600 285 2 40 48 20 2 3 14159 128 85 3 600 464 . ( ) ( . ) . . ( ) ( . ) . m s s hr km 1 000 m km/hr (= 177 mi / hr) m s s hr km 1 000 m km/hr (= 288 mi / hr) Así, con los resultados anteriores y la figura 8.10, se determina que el diseño del carro propuesto se comportará de forma aceptable para velocidades de manejo aceptables. Es decir, el diseñador debe estar consciente de que el diseño podría no cumplir los re- querimientos cuando el automóvil viaje a velocidades extremadamente altas (por ejem- plo, en carreras). Este problema de diseño ha presentado un ejemplo extremadamente simple, pero que nos ha permitido obtener algunos resultados analíticos que se utilizaron para evaluar la exactitud de nuestros métodos numéricos para encontrar raíces. Los casos reales pueden volverse tan complicados que sólo se obtendrían las soluciones a éstos emplean- do métodos numéricos. 6 4 2 0 1 2 f (␻/p) ␻/p –2 FIGURA 8.10 Gráfica de la ecuación (8.31) que indica dos raíces positivas. PROBLEMAS Ingeniería química/Ingeniería bioquímica 8.1 Realice el mismo cálculo que en la sección 8.1, pero ahora con alcohol etílico (a = 12.02 y b = 0.08407) a una temperatura de 400 K y una presión P de 2.5 atm. Compare los resultados con la ley de los gases ideales. Si es posible, utilice el software de su computadora para determinar el volumen molar. Si no, use cual- quiera de los métodos numéricos analizados en los capítulos 5 y 6, y realice los cálculos. Justifique la elección de la técnica. 8.2 En ingeniería química, los reactores de flujo tipo tapón (es decir, aquellos en que el fluido va de un extremo al otro con una mezcla mínima a lo largo del eje longitudinal) se usan para convertir reactantes en productos. Se ha determinado que la
  • 241. PROBLEMAS 217 eficiencia de la conversión algunas veces se mejora recirculando una porción de la corriente del producto, de tal forma que regre- se a la entrada para un paso adicional a través del reactor (figura P8.2). La razón de recirculando se define como R = volumen de fluido que regresa a la entrada volumen que sale del sistema Suponga que se está procesando una sustancia química A para generar un producto B. Para el caso en que A forma a B de acuerdo con una reacción autocatalítica (es decir, en la cual uno de los productos actúa como catalizador o estimulante en la reacción), es posible demostrar que una razón óptima de recirculación debe satisfacer ln ( – ) ( – ) [ ( – )] 1 1 1 1 1 1 + = + + ƒ ƒ ƒ R X R X R R R X A A A donde XAƒ es la fracción del reactante A que se convierte en el producto B. La razón óptima de recirculación corresponde a un reactor de tamaño mínimo necesario para alcanzar el nivel deseado de conversión. Utilice un método numérico para deter- minar la razón de recirculación necesaria, de manera que se minimice el tamaño del reactor para una conversión fraccional de XAƒ = 0.95. 8.3 En un proceso de ingeniería química el vapor de agua (H2O) se calienta a temperaturas lo suficientemente altas para que una porción significativa del agua se disocie, o se rompa, para formar oxígeno (O2) e hidrógeno (H2): H2O H2 + 1 2 O2 Si se asume que ésta es la única reacción que se lleva a cabo, la fracción molar x de H2O que se disocia se representa por K x x p x t = + 1 2 2 – (P8.3) donde K = la constante de equilibrio de la reacción y pt = la presión total de la mezcla. Si pt = 3.5 atm y k = 0.04, determine el valor de x que satisfaga la ecuación (P8.3). 8.4 La siguiente ecuación permite calcular la concentración de un químico en un reactor donde se tiene una mezcla completa: c = cent(1 – e–0.04t ) + c0e–0.04t Si la concentración inicial es c0 = 5 y la concentración de entra- da es cent = 12, calcule el tiempo requerido para que c sea el 85% de cent. 8.5 Una reacción química reversible 2A + B C se caracteriza por la relación de equilibrio K c c c c a b = 2 donde la nomenclatura cn representa la concentración del com- ponente N. Suponga que se define una variable x que representa el número de moles de C producido. La conservación de la masa se utiliza para reformular la relación de equilibrio como K c x c x c x c a b = + ( ) ( – ) ( – ) , , , 0 0 2 0 2 donde el subíndice 0 indica la concentración inicial de cada com- ponente. Si K = 0.016, ca, 0 = 42, cb, 0 = 28 y cc, 0 = 4, calcule x. 8.6 Las siguientes reacciones químicas se llevan a cabo en un sistema cerrado 2A + B C A + D C En equilibrio, éstas pueden caracterizarse por K c c c K c c c c a b c a d 1 2 2 = = donde la nomenclatura cn representa la concentración del com- ponente N. Si x1 y x2 son el número de moles de C que se produ- cen debido a la primera y segunda reacciones, respectivamente, emplee un método similar al del problema 8.5 para reformular las relaciones de equilibrio en términos de las concentraciones ini- ciales de los componentes. Después, use el método de Newton- Raphson para resolver el par de ecuaciones simultáneas no lineales para x1 y x2 si K1 = 4 × 10–4 , K2 = 3.7 × 10–2 , ca,0 = 50, Figura P8.2 Representación esquemática de un reactor de flujo tipo tapón con recirculación. Reactor de flujo tipo tapón Reciclaje Alimentación Producto
  • 242. 218 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES cb,0 = 20, cc,0 = 5 y cd,0 = 10. Utilice un método gráfico para pro- poner los valores iniciales. 8.7 La ecuación de estado de Redlich-Kwong está dada por p RT b a b T = + v v v – – ( ) donde R = la constante universal de los gases [= 0.518 kJ/(kg K)], T = temperatura absoluta (K), p = presión absoluta (kPa) y v = volumen de un kg de gas (m3 /kg). Los parámetros a y b se calculan mediante a R T p b R T p c c c c = = 0 427 0 0866 2 2 5 . . . donde pc = 4580 kPa y Tc = 191 K. Como ingeniero químico, se le pide determinar la cantidad de combustible metano que se puede almacenar en un tanque de 3 m3 a una temperatura de –50°C con una presión de 65000 kPa. Emplee el método de lo- calización de raíces de su elección para calcular v y luego deter- mine la masa de metano contenida en el tanque. 8.8 El volumen V de un líquido contenido en un tanque horizon- tal cilíndrico de radio r y longitud L está relacionado con la profundidad del líquido h por V r r h r r h rh h L = ⎛ ⎝ ⎞ ⎠ ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 2 2 2 cos–1 – – ( – – Determine h para r = 2 m, L = 5 m y V = 8.5 m3 . Observe que si usted utiliza un lenguaje de programación o herramienta de software, el arco coseno se puede calcular como cos tan –1 –1 x x x = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ π 2 1 2 – – 8.9 El volumen V del líquido contenido en un tanque esférico de radio r está relacionado con la profundidad h del líquido por V k r h = π 2 3 3 ( – ) Determine h para r = 1 m y V = 0.75 m3 . 8.10 Para el tanque esférico del problema 8.9, es posible desa- rrollar las siguientes fórmulas para el método de punto fijo: h h V r = + 3 3 3 ( / ) π y h rh V = ⎛ ⎝ ⎞ ⎠ 3 2 3 – π Si r = 1 m y V = 0.75 m3 , determine si cualquiera de las dos al- turas es estable, y el rango de valores iniciales para los que sí son estables. 8.11 La ecuación de Ergun, que se da abajo, sirve para describir el flujo de un líquido a través de un lecho empacado. ∆P es la caída de presión, r es la densidad del fluido, GO es la velocidad másica (el cociente del flujo de masa dividido entre el área de la sección transversal), Dp es el diámetro de las partículas dentro del lecho, µ es la viscocidad del fluido, L es la longitud del lecho y e es la fracción vacía del lecho. ∆p G D L D G o p p o ρ ε ε ε µ 2 3 1 150 1 1 75 ( – ) ( – ) . = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + Dados los siguientes valores para los parámetros encuentre la fracción vacía e del lecho. D G P D G L p o p o µ ρ = = 1000 10 2 ∆ 8.12 En una sección de tubo, la caída de presión se calcula así: ∆ = p f L V D ρ 2 2 donde ∆p = caída de presión (Pa), f = factor de fricción, L = longitud del tubo [m], r = densidad (kg/m3 ), V = velocidad (m/s), y D = diámetro (m). Para el flujo turbulento, la ecuación de Colebrook proporciona un medio para calcular el factor de fric- ción, 1 2 0 3 7 2 51 f D f = − + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ . log . . Re ε donde e = rugosidad (m), y Re = número de Reynolds, Re = ρ µ VD donde m = viscosidad dinámica (N · s/m2 ). a) Determine ∆p para un tramo horizontal de tubo liso de 0.2m de longitud, dadas r = 1.23 kg/m3 , m = 1.79 × 10–5 N · s/m2 , D = 0.005 m, V = 40 m/s, y e = 0.0015 mm. Utilice un método numérico para determinar el factor de fricción. Obsérvese que los tubos lisos tienen Re 105 , un valor inicial apropiado se obtiene con el uso de la fórmula de Blasius, f = 0.316/Re0.25 . b) Repita el cálculo pero para un tubo de acero comercial más rugoso (e = 0.045 mm). 8.13 El pH del agua tiene gran importancia para los ingenieros ambientales y químicos. Se relaciona con procesos que van de la corrosión de tubos de lluvia ácida. El pH se relaciona con la concentración del ion de hidrógeno por medio de la ecuación siguiente: pH = – log10 [H+ ]
  • 243. PROBLEMAS 219 Las cinco ecuaciones que siguen gobiernan las concentraciones de una mezcla de dióxido de carbono y agua para un sistema cerrado. K K K 1 3 2 2 3 2 = = = + − + − [ ][ ] [ ] [ ][ ] [ ] H HCO CO H CO HCO3 – w [ [ ][ ] [ ] [ ] [ ] [ H OH CO HCO CO Alk HCO 3 – 3 + − − = + + = cT 2 3 2 – – CO OH H ] [ ] [ ] [ ] – + + − − + 2 3 2 donde Alk = alcalinidad, cT = total de carbón inorgánico, y las K son coeficientes de equilibrio. Las cinco incógnitas son [CO2] = dióxido de carbono, [HCO3 – ] = bicarbonato, [CO3 2– ] = carbonato, [H+ ] = ion hidrógeno, y [OH– ] = ion hidroxilo. Resuelva para las cinco incógnitas dado que Alk = 2 × 10–3 , cT = 3 × 10–3 , K1 = 10–6.3 , y K2 = 10–10.3 , y Kw = 10–14 . Asimismo, calcule el pH de las soluciones. 8.14 La ecuación que se presenta a continuación, describe la operación de un reactor de flujo por inyección de densidad cons- tante para la producción de una sustancia por medio de una re- acción enzimática, donde V es el volumen del reactor, F es la tasa de flujo del reactivo C, Cent y Csal son las concentraciones del reactivo que entra y sale del reactor, respectivamente, y K y kmáx son constantes. Para un reactor de 500 L, con una concentración en la toma de Cent = 0.5 M, tasa de entrada de flujo de 40 L/s, kmáx = 5 × 10–3 s–1 , y K = 0.1 M, encuentre la concentración de C a la salida del reactor. V F K k C k dC C C = + ∫ – ent sal máx máx 1 Ingeniería civil y ambiental 8.15 El desplazamiento de una estructura está definido por la ecuación siguiente para una oscilación amortiguada: y = 9e–kt cos wt donde k = 0.7 y w = 4. a) Utilice el método gráfico para realizar una estimación ini- cial del tiempo que se requiere para que el desplazamiento disminuya a 3.5. b) Emplee el método de Newton-Raphson para determinar la raíz con es = 0.01%. c) Use el método de la secante para determinar la raíz con es = 0.01%. 8.16 En ingeniería estructural, la fórmula de la secante define la fuerza por unidad de área, P/A, que ocasiona la tensión máxima sm en una columna que tiene una razón de esbeltez L/k dada es: P A ec k P EA L k m = + σ 1 0 5 2 ( / ) [ . /( ) sec ( / )] donde ec/k2 = razón de excentricidad, y E = módulo de elastici- dad. Si para una viga de acero, E = 200000 MPa, ec/k2 = 0.4 y sm = 250 MPa, calcule P/A para L/k = 50. Recuerde que sec x = 1/cos x. 8.17 Un cable en forma catenaria es aquel que cuelga entre dos puntos que no se encuentran sobre la misma línea vertical. Como se ilustra en la figura P8.17a, no está sujeta a más carga que su propio peso. Así, su peso (N/m) actúa como una carga uniforme por unidad de longitud a lo largo del cable. En la figura P8.17b, se ilustra un diagrama de cuerpo libre de una sección AB, donde y B A TA W = ws w y0 x a) b) TB ␪ Figura P8.17 a) Fuerzas que actúan sobre una sección AB de un cable flexible que cuelga. La carga es uniforme a lo largo del cable (pero no uniforme por la distancia horizontal x). b) Diagrama de cuerpo libre de la sección AB.
  • 244. 220 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES TA y TB son las fuerzas de tensión en el extremo. Con base en los balances de fuerzas horizontal y vertical, se obtiene para el cable el siguiente modelo de ecuación diferencial: d y dx T dy dx A 2 2 2 1 = + ⎛ ⎝ ⎞ ⎠ w Puede emplearse el cálculo para resolver esta ecuación para la altura y del cable como función de la distancia x. y T T x y T A A A = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + − w w w cosh 0 donde el coseno hiperbólico se calcula por medio de la ecua- ción: cosh ( ) – x e e x x = + 1 2 Utilice un método para calcular un valor para el parámetro TA dados los valores de los parámetros w = 12 y y0 = 6, de modo que el cable tenga una altura de y = 15 en x = 50. 8.18 En la figura P8.18a se muestra una viga uniforme sujeta a una carga distribuida uniformemente que crece en forma lineal. La ecuación para la curva elástica resultante es la siguiente (véase la figura P8.18b) y EIL x L x L x = − + − w0 5 2 3 4 120 2 ( ) (P8.18) Utilice el método de la bisección para determinar el punto de máxima deflexión (es decir, el valor de x donde dy/dx = 0). Des- pués, sustituya este valor en la ecuación (P8.18) a fin de deter- minar el valor de la deflexión máxima. En sus cálculos, utilice los valores siguientes para los parámetros: L = 600 cm, E = 50000 kN/cm2 , I = 30000 cm4 y w0 = 2.5 kN/cm. 8.19 En la ingeniería ambiental (una especialidad de la ingenie- ría civil), la ecuación siguiente se emplea para calcular el nivel de oxígeno c (mg/L) en un río aguas abajo de la descarga de un drenaje: c = 10 – 20(e–0.15x – e–0.5x ) donde x es la distancia aguas abajo en kilómetros. a) Determine la distancia aguas abajo de la corriente, a la cual el nivel de oxígeno cae hasta una lectura de 5 mg/L. (Reco- mendación: está dentro de 2 km de la descarga.) Encuentre la respuesta con un error de 1%. Obsérvese que los niveles de oxígeno por debajo de 5 mg/Lpor lo general son dañinos para ciertas especies de pesca deportiva, como la trucha y el salmón. b) Calcule la distancia aguas abajo a la cual el oxígeno se encuentra al mínimo. ¿Cuál es la concentración en dicha ubicación? 8.20 La concentración de bacterias contaminantes c en un lago disminuye de acuerdo con la ecuación c = 75e–1.5t + 20e–0.075t Determine el tiempo que se requiere para que la concentración de bacterias se reduzca a 15 con el uso de a) el método gráfico, y b) el método de Newton-Raphson, con un valor inicial de t = 6 y criterio de detención de 0.5%. Compruebe los resultados que obtenga. 8.21 En ingeniería oceanográfica, la ecuación de una ola esta- cionaria reflejada en un puerto está dada por l = 16, t = 12, v = 48: h h x t e x = ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ − 0 sen 2 cos 2 π λ π λ v Resuelva para el valor positivo más bajo de x, si h = 0.5 h0. 8.22 Suponga el lector que compra una pieza de equipo en $25000 como pago inicial y $5500 por año durante 6 años. ¿Qué tasa de interés estaría pagando? La fórmula que relaciona el valor presente P, los pagos anuales A, el número de años n y la tasa de interés i, es la que sigue: A P i i i n n = + + − ( ) ( ) 1 1 1 w0 L a) (x = 0, y = 0) (x = L, y = 0) x b) Figura P8.18
  • 245. PROBLEMAS 221 8.23 Muchos campos de la ingeniería requieren estimaciones exactas de la población. Por ejemplo, los ingenieros de transpor- te quizás encuentren necesario determinar por separado la ten- dencia del crecimiento de una ciudad y la de los suburbios. La población del área urbana declina con el tiempo de acuerdo con la ecuación: Pu(t) = Pu,máxe–kut + Pu,mín en tanto que la población suburbana crece según: p t P P P e s s s k t s ( ) [ / ] , , = + − − máx máx 1 1 0 donde Pu,máx, ku, Ps,máx, P0 y ks son parámetros que se obtienen en forma empírica. Determine el tiempo y los valores correspondien- tes de Pu(t) y Ps(t) cuando los suburbios son 20% más grandes que la ciudad. Los valores de los parámetros son: Pu,máx = 75000, Ku = 0.045/año, Pu,mín = 100000 personas, Ps,máx = 300000 per- sonas, P0 = 10000 personas, ks = 0.08/año. Para obtener las so- luciones utilice los métodos a) gráfico, b) de la falsa posición, y c) de la secante modificada. 8.24 En la figura P8.24 se muestra una viga apoyada en forma sencilla que está cargada como se ilustra. Con el empleo de funciones de singularidad, el esfuerzo cortante a lo largo de la viga se expresa con la ecuación: V(x) = 20[〈x – 0〉1 – 〈x – 5〉1 ] – 15〈x – 8〉0 – 57 Por definición, la función de singularidad se expresa del modo que sigue: 〈 〉 = − ⎧ ⎨ ⎩ ≤ ⎫ ⎬ ⎭ x a x a x a x a n n – ( ) 0 cuando cuando Utilice un método numérico para encontrar el(los) punto(s) en los que el esfuerzo cortante sea igual a cero. 8.25 Con el uso de la viga apoyada en forma simple del proble- ma 8.24, el momento a lo largo de ella, M (x) está dada por: M(x) = –10[〈x – 0〉2 – 〈x – 5〉2 ] + 15〈x – 8〉1 + 150〈x – 7〉0 + 57x Emplee un método numérico para encontrar el (los) punto(s) en los que el momento es igual a cero. 8.26 Con el uso de la viga con apoyo simple del problema 8.24, la pendiente a lo largo de ella está dada por: du dx x x x x x x y ( ) [ ] . = − 〈 − 〉 − 〈 − 〉 + 〈 − 〉 + 〈 − 〉 + − 10 3 0 5 15 2 8 150 7 57 2 238 25 3 3 2 1 2 Utilice un método numérico para encontrar el(los) punto(s) donde la pendiente es igual a cero. 8.27 Para la viga con apoyo simple del problema 8.24, el des- plazamiento a lo largo de ella está dado por la ecuación: u x x x x x y ( ) [ ] = − 〈 − 〉 − 〈 − 〉 + 〈 − 〉 + 〈 − 〉 5 6 0 5 15 6 8 75 7 4 4 3 2 + + − 57 6 238 25 3 x x . a) Calcule el (los) punto(s) donde el desplazamiento es igual a cero. b) ¿Cómo se usaría una técnica de localización de raíces para determinar la ubicación del desplazamiento mínimo? Ingeniería eléctrica 8.28 Ejecute el mismo cálculo que en la sección 8.3, pero deter- mine el valor de C que se requiere para que el circuito disipe 1% de su valor original en t = 0.05 s, dado R = 280 Ω, y L = 7.5H. Emplee a) un enfoque gráfico, b) la bisección, y c) software para encontrar raíces, tales como Solver de Excel o la función fzero de MATLAB. 8.29 La ecuación i = 9e–t cos (2pt), describe una corriente osci- latoria en un circuito eléctrico, donde t se expresa en segundos. Determine todos los valores de t de modo que i = 3. 20 kips/ft 150 kips-ft 15 kips 5’ 2’ 1’ 2’ Figura P8.24
  • 246. 222 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES 8.30 La resistividad r de un lubricante de sílice se basa en la carga q en un electrón, la densidad del electrón n, y la movilidad del electrón m. La densidad del electrón está dada en términos de la densidad del lubricante N, y la densidad intrínseca de acarreo ni. La movilidad del electrón está descrita por la temperatura T, la temperatura de referencia T0, y la movilidad de referencia µ0. Las ecuaciones que se requieren para calcular la resistividad son las siguientes: ρ µ = 1 qn donde n N N n T T i = + + ( ) = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ − 1 2 4 2 2 0 0 2 42 y µ µ . Determine N, dado que T0 = 300 K, T = 1000 K, µ0 = 1350 cm2 (V s)–1 , q = 1.7 × 10–19 C, ni = 6.21 × 109 cm–3 , y un valor desea- ble de r = 6.5 × 106 V s cm/C. Use los métodos a) bisección, y b) la secante modificada. 8.31 Una carga total Q se encuentra distribuida en forma uni- forme alrededor de un conductor en forma de anillo con radio a. Una carga q se localiza a una distancia x del centro del anillo (véase la figura P8.31). La fuerza que el anillo ejerce sobre la carga está dada por la ecuación F e qQx x a = + 1 4 0 2 2 3 2 π ( ) / donde e0 = 8.85 × 10–12 C2 /(N m2 ). Encuentre la distancia x donde la fuerza es de 1.25 N, si q y Q son 2 × 10–5 C para un anillo con un radio de 0.9 m. 8.32 En la figura P8.32 se muestra un circuito con una resisten- cia, un inductor y un capacitor en paralelo. Para expresar la impedancia del sistema se emplean las leyes de Kirchhoff, así: 1 1 1 2 2 Z R C L = + ⎛ ⎝ ⎞ ⎠ ω ω – donde Z = impedancia (Ω) y w = frecuencia angular. Encuentre la w que da como resultado una impedancia de 75 Ω, con el uso tanto del método de la bisección como el de la falsa posición, con valores iniciales de 1 y 1000 y los parámetros siguientes: R = 225 Ω, C = 0.6 × 10–6 F, y L = 0.5 H. Determine cuántas itera- ciones son necesarias con cada técnica a fin de encontrar la respuesta con es = 0.1%. Utilice el enfoque gráfico para explicar cualesquiera dificultades que surjan. Ingeniería mecánica y aeroespacial 8.33 Para la circulación de fluidos en tubos, se describe a la fricción por medio de un número adimensional, que es el factor de fricción de Fanning f. El factor de fricción de Fanning depen- de de cierto número de parámetros relacionados con el tamaño del tubo y el fluido, que pueden representarse con otra cantidad adimensional, el número de Reynolds Re. Una fórmula que pro- nostica el valor de f dado Re es la ecuación de von Karman. 1 4 0 4 ƒ = ƒ ( )− log10 Re . Valores comunes del número de Reynolds para flujo turbulento son 10000 a 500000, y del factor de fricción de Fanning son 0.001 a 0.01. Desarrolle una función que utilice el método de bisección con objeto de resolver cuál sería el factor de fricción de Fanning f, dado un valor de Re proporcionado por el usuario que esté entre 2500 y 1000000. Diseñe la función de modo que se garantice que el error absoluto en el resultado sea de Ea,d 0.000005. 8.34 Los sistemas mecánicos reales involucran la deflexión de resortes no lineales. En la figura P8.34 se ilustra una masa m que se libera por una distancia h sobre un resorte no lineal. La fuerza de resistencia F del resorte está dada por la ecuación x a Q q Figura P8.31 Figura P8.32 R L C ⵑ Figura P8.34 h a) b) d h + d
  • 247. PROBLEMAS 223 F = –(k1d + k2d3/2 ) Es posible usar la conservación de la energía para demostrar que 0 2 5 1 2 2 5 2 1 2 = + − k d k d mgd mgh / – Resuelva cuál sería el valor de d, dados los valores siguientes de los parámetros: k1 = 50000 g/s2 , k2 = 40 g/(s2 m0.5 ), m = 90 g, g = 9.81 m/s2 , y h = 0.45 m. 8.35 Los ingenieros mecánicos, así como los de otras especiali- dades, utilizan mucho la termodinámica para realizar su trabajo. El siguiente polinomio se emplea para relacionar el calor espe- cífico a presión cero del aire seco, cp kJ/(kg K), a temperatura (K): cp = 0.99403 + 1.671 × 10–4 T + 9.7215 × 10–8 T2 –9.5838 × 10–11 T3 + 1.9520 × 10–14 T4 Determine la temperatura que corresponda a un calor específico de 1.1 kJ/(kg K). 8.36 En ciertas ocasiones, los ingenieros aerospaciales deben calcular las trayectorias de proyectiles, como cohetes. Un pro- blema parecido tiene que ver con la trayectoria de una pelota que se lanza. Dicha trayectoria está definida por las coordenadas (x, y), como se ilustra en la figura P8.36. La trayectoria se modela con la ecuación y x g x = − + ( ) . tan cos2 θ θ 0 0 2 0 2 2 1 8 v Calcule el ángulo inicial q0, apropiado si la velocidad inicial v0 = 20 m/s y la distancia x al catcher es de 35 m. Obsérvese que la pelota sale de la mano del lanzador con una elevación y0 = 2m, y el catcher la recibe a 1 m. Exprese el resultado final en grados. Para g, utilice un valor de 9.81 m/s2 , y emplee el método gráfico para elegir valores iniciales. 8.37 La velocidad vertical de un cohete se calcula con la fórmu- la que sigue: v = − − u m m qt gt ln 0 0 donde v = velocidad vertical, u = velocidad con la que se expele el combustible, en relación con el cohete, m0 = masa inicial del cohete en el momento t = 0, q = tasa de consumo de combustible, y g = aceleración de la gravedad hacia abajo (se supone constan- te e igual a 9.81 m/s2 ). Si u = 2000 m/s, m0 = 150000 kg, y q = 2700 kg/s, calcule el momento en que v = a 750 m/s. (Sugeren- cia: El valor de t se encuentra entre 10 y 50 s.) Calcule el resul- tado de modo que esté dentro de 1% del valor verdadero. Compruebe su respuesta. 8.38 En la sección 8.4, el ángulo de fase f entre la vibración forzada que ocasiona el camino rugoso y el movimiento del carro, está dada por la ecuación: tan ( / )( / ) – ( / ) φ ω ω = 2 1 2 c c p p c Como ingeniero mecánico, le gustaría saber si existen casos en que f = w/3 – 1. Utilice los otros parámetros de la sección con objeto de plantear la ecuación como un problema de cálculo de raíces, y resuélvala para w. 8.39 Se mezclan dos fluidos con temperatura diferente de modo que alcanzan la misma temperatura. La capacidad calorífica del fluido A está dada por: cp = 3.381 + 1.804 × 10–2 T – 4.300 × 10–6 T2 y la capacidad calorífica del fluido B se obtiene con: cp = 8.592 + 1.290 × 10–1 T – 4.078 × 10–5 T2 donde cp se expresa en unidades de cal/mol K, y T está en uni- dades de K. Obsérvese que ∆H c dT T T p = ∫ 1 2 El fluido A entra al mezclador a 400ºC, y el B a 700ºC. Al entrar al mezclador hay lo doble de fluido A que B. ¿A qué temperatu- ra salen los dos fluidos del mezclador? 8.40 Un compresor opera a una razón de compresión Rc de 3.0 (esto significa que la presión del gas en la salida es tres veces mayor que en la entrada). Los requerimientos de energía del compresor Hp se determinan por medio de la ecuación que se da a continuación. Suponga que los requerimientos de energía del compresor son exactamente iguales a zRT1/MW, y encuentre la eficiencia politrópica n del compresor. El parámetro z es la com- presibilidad del gas en las condiciones de operación del compre- Figura P8.36 ␪0 v0 y x
  • 248. 224 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES sor, R es la constante de los gases, T1 es la temperatura del gas en la entrada del compresor, y MW es el peso molecular del gas. HP MW = − − ( ) − zRT n n Rc n n 1 1 1 1 ( )/ 8.41 En los envases térmicos que se ilustran en la figura P8.41, el compartimiento interior está separado del medio por medio de vacío. Hay una cubierta exterior alrededor de los envases. Esta cubierta está separada de la capa media por una capa delgada de aire. La superficie de afuera de la cubierta exterior está en con- tacto con el aire del ambiente. La transferencia de calor del compartimiento interior a la capa siguiente q1 sólo ocurre por radiación (ya que el espacio se encuentra vacío). La transferencia de calor entre la capa media y la cubierta exterior q2 es por con- vección en un espacio pequeño. La transferencia de calor de la cubierta exterior hacia el aire q3 sucede por convección natural. El flujo de calor desde cada región de los envases debe ser igual, es decir, q1 = q2 = q3. Encuentre las temperaturas T1 y T2 en estado estable. T0 es de 450ºC y T3 = 25ºC. q T T q T T q T T 1 9 0 4 1 4 2 1 2 3 2 3 4 3 10 273 273 4 1 3 = + − + = − = − − [( ) ( ) ] ( ) . ( ) / 8.42 La forma general para un campo tensorial de tres dimen- siones es la siguiente: σ σ σ σ σ σ σ σ σ xx xy xz xy yy yz xz yz zz ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ en la que los términos en la diagonal principal representan es- fuerzos a la tensión o a la compresión, y los términos fuera de la diagonal representan los esfuerzos cortantes. Un campo tensorial (en MPa) está dado por la matriz que sigue: 10 14 25 14 7 15 25 15 16 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ Para resolver cuáles son los esfuerzos principales, es necesario construir la matriz siguiente (de nuevo en MPa): 10 14 25 14 7 15 25 15 16 − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ σ σ σ s1, s2 y s3 se obtienen con la ecuación σ σ σ 3 2 0 − + − = I II III donde I II III xx yy zz xx yy xx zz yy zz xy xz yz xx yy zz xx yz yy xz zz xy xy xz yz = + + = + + − − − = − − − + σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ σ 2 2 2 2 2 2 2 I, II y III se conocen como las invariantes de esfuerzos. Encuentre s1, s2 y s3 por medio de una técnica de localización de raíces. 8.43 La figura P8.43 ilustra tres almacenamientos conectados por medio de tubos circulares. Los tubos están hechos de hierro T0 T2 T3 T1 Figura P8.43 Figura P8.41 Q1 h2 h3 h1 Q3 Q2 1 2 3 A B C
  • 249. PROBLEMAS 225 fundido recubierto con asfalto (e = 0.0012 m), y tienen las ca- racterísticas siguientes: Tubo 1 2 3 Longitud, m 1800 500 1400 Diámetro, m 0.4 0.25 0.2 Flujo, m3 /s ? 0.1 ? Si las elevaciones de la superficie del agua en los almacenamien- tos A y C son de 200 m y 172.5 m, respectivamente, determine la elevación que alcanza en el almacenamiento B y los flujos en los tubos 1 y 3. Obsérvese que la viscosidad cinemática del agua es de 1 × 10–6 m2 /s, y utilice la ecuación de Colebrook para ob- tener el factor de fricción (consulte el problema 8.12). 8.44 Un fluido se bombea en la red de tubos que se muestra en la figura P8.44. En estado estacionario, se cumplen los balances de flujo siguientes: 1 2 3 3 4 5 5 6 7 Q Q Q Q Q Q Q Q Q = + = + = + donde Qi = flujo en el tubo i [m3 /s]. Además, la caída de presión alrededor de los tres lazos en los que el flujo es hacia la derecha debe ser igual a cero. La caída de presión en cada tramo de tubo circular se calcula por medio de la ecuación: ∆ = P fL D Q 16 2 2 5 2 π ρ donde ∆P= caída de presión [Pa], f = factor de fricción [adimen- sional], L = longitud del tubo [m], r = densidad del fluido [kg/m3 ], y D = diámetro del tubo [m]. Escriba un programa (o desarrolle un algoritmo en algún paquete de software de matemáticas) que permita calcular el flujo en cada tramo de tubo, dado que Figura P8.44 Q1 Q10 Q9 Q8 Q3 Q5 Q7 Q6 Q4 Q2 Q1 = 1m3 /s y r = 1.23 kg/m3 . Todos los tubos tienen D = 500 mm y f = 0.005. Las longitudes de los tubos son: L3 = L5 = L8 = L9 = 2 m; L2 = L4 = L6 = 4 m; y L7 = 8 m. 8.45 Repita el problema 8.44, pero incorpore el hecho de que el factor de fricción se calcula con la ecuación de von Karman, que es: 1 4 0 4 10 f f = − log (Re ) . donde Re = número de Reynolds Re = ρ µ VD donde V = velocidad del fluido en el tubo [m/s], y µ = viscosidad dinámica (N⋅s/m2 ). Obsérvese que para un tubo circular, V = 4Q/ pD2 . Asimismo, suponga que el fluido tiene una viscosidad de 1.79 × 10–5 N⋅s/m2 . 8.46 Sobre el trasbordador espacial, al despegar de la plataforma, actúan cuatro fuerzas, las que se muestran en el diagrama de cuerpo libre (véase la figura P8.46). El peso combinado de los dos cohetes de combustible sólido y del tanque exterior de este, es de WB = 1.663 × 106 lb. El peso del orbitador con carga com- pleta es de WS = 0.23 × 106 lb. El empuje combinado de los dos cohetes de combustible sólido es TB = 5.30 × 106 lb. El empuje combinado de los tres motores de combustible líquido del orbi- tador es de TS = 1.125 × 106 lb. Al despegar, el empuje del motor del orbitador se dirige con un ángulo q para hacer que el momento resultante que actúa sobre el conjunto de la nave (tanque exterior, cohetes de combustible sólido y orbitador) sea igual a cero. Con el momento resultante igual a cero, la nave no giraría sobre su centro de gravedad G al despegar. Con estas fuerzas, la nave experimentará una fuerza resultante con componentes en dirección vertical y horizontal. La componente vertical de la fuerza resultante, es la que permite que la nave despegue de la plataforma y vuele verticalmente. La componente horizontal de la fuerza resultante hace que la nave vuele en forma horizontal. El momento resultante que actúa sobre la nave será igual a cero cuando q se ajusta al valor apropiado. Si este ángulo no se ajusta en forma adecuada y hubiera algún momento que actuara sobre la nave, ésta tendería a girar alrededor de su centro de gravedad. a) Resuelva el empuje del orbitador TS en las componentes horizontal y vertical, y después sume los momentos respecto del punto G, centro de gravedad de la nave. Iguale a cero la ecuación del momento resultante. Ahora, ésta puede resolverse para el valor de q que se requiere durante el despegue. b) Obtenga una ecuación para el momento resultante que actúa sobre la nave en términos del ángulo q. Grafique el
  • 250. 226 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES momento resultante como función del ángulo q en el rango de –5 radianes a +5 radianes. c) Escriba un programa de computadora para resolver para el ángulo q por medio del método de Newton para encontrar la raíz de la ecuación del momento resultante. Con el empleo de la gráfica, elija un valor inicial para la raíz de interés. Interrumpa las iteraciones cuando el valor de q ya no mejore con cinco cifras significativas. d) Repita el programa para el peso de la carga mínima del orbitador, que es WS = 195000 lb. Tanque externo Cohete de combustible sólido Orbitador 38’ 4’ 28’ WB WS TS TB ␪ G Figura P8.46
  • 251. EPÍLOGO: PARTE DOS PT2.4 ALTERNATIVAS La tabla PT2.3 proporciona un resumen de las alternativas para la solución de las raíces de ecuaciones algebraicas y trascendentes. Aunque los métodos gráficos consumen tiempo, ofrecen cierto conocimiento sobre el comportamiento de la función y son útiles para identificar valores iniciales y problemas potenciales como el de las raíces múltiples. Por lo tanto, si el tiempo lo permite, un bosquejo rápido (o mejor aún, una gráfica compu- tarizada) brindará información valiosa sobre el comportamiento de la función. Los métodos numéricos se dividen en dos grandes categorías: métodos cerrados y abiertos. Los primeros requieren dos valores iniciales que estén a ambos lados de la raíz, para acotarla. Este “acotamiento” se mantiene en tanto se aproxima a la solución, así, dichas técnicas son siempre convergentes. Sin embargo, se debe pagar un precio por esta propiedad, la velocidad de convergencia es relativamente lenta. TABLA PT2.3 Comparación de las características de los métodos alternativos para encontrar raíces de ecuaciones algebraicas y trascendentes. Las comparaciones se basan en la experiencia general y no toman en cuenta el comportamiento de funciones específicas. Valores Velocidad de Amplitud de Complejidad de Método iniciales convergencia Estabilidad Exactitud aplicación programación Comentarios Directo — — — — Limitada Gráfico — — — Pobre Raíces reales — Puede tomar más tiempo que el método numérico Bisección 2 Lenta Siempre Buena Raíces reales Fácil Falsa posición 2 Lenta/media Siempre Buena Raíces reales Fácil FP modificado 2 Media Siempre Buena Raíces reales Fácil Iteración de punto fijo 1 Lenta Posiblemente Buena General Fácil divergente Newton-Raphson 1 Rápida Posiblemente Buena General Fácil Requiere la divergente evaluación de ƒ′(x) Newton-Raphson 1 Rápida para raíces Posiblemente Buena General Fácil Requiere la modificado múltiples; media divergente evaluación de para una sola ƒ″(x) y ƒ′(x) Secante 2 Media a rápida Posiblemente Buena General Fácil Los valores iniciales divergente no tiene que acotar la raíz Secante 1 Media a rápida Posiblemente Buena General Fácil modificada divergente Müller 2 Media a rápida Posiblemente Buena Polinomios Moderada divergente Bairstow 2 Rápida Posiblemente divergente Buena Polinomios Moderada
  • 252. 228 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES Las técnicas abiertas difieren de los métodos cerrados inicialmente en que usan la información de un solo punto (o dos valores que no necesitan acotar a la raíz para ex- trapolar a una nueva aproximación de la misma). Esta propiedad es una espada de dos filos. Aunque llevan a una rápida convergencia, también existe la posibilidad de que la solución diverja. En general, la convergencia con técnicas abiertas es parcialmente de- pendiente de la calidad del valor inicial y de la naturaleza de la función. Cuanto más cerca esté el valor inicial de la raíz verdadera, los métodos convergerán más rápido. De las técnicas abiertas, el método estándar de Newton-Raphson se utiliza con frecuencia por su propiedad de convergencia cuadrática. Sin embargo, su mayor defi- ciencia es que requiere que la derivada de la función se obtenga en forma analítica. Con algunas funciones se vuelve impráctico. En dichos casos, el método de la secante, que emplea una representación en diferencias finitas de la derivada, proporciona una alter- nativa viable. Debido a la aproximación en diferencias finitas, la velocidad de conver- gencia del método de la secante es al principio más lento que el método de Newton-Raphson. Sin embargo, conforme se refina la estimación de la raíz, la aproxi- mación por diferencias se vuelve una mejor representación de la derivada verdadera y, en consecuencia, se acelera rápidamente la convergencia. Se puede usar la técnica mo- dificada de Newton-Raphson y así obtener una rápida convergencia para raíces múltiples. Sin embargo, dicha técnica requiere una expresión analítica tanto para la primera como para la segunda derivada. Todos los métodos numéricos son fáciles de programar en computadoras y requie- ren de un tiempo mínimo para determinar una sola raíz. Sobre esta base, usted podría concluir que los métodos simples como el de bisección resultarían suficientemente bue- nos para fines prácticos. Lo anterior será cierto si usted se interesa exclusivamente en determinar sólo una vez la raíz de una ecuación. Pero hay muchos casos en ingeniería donde se requiere la localización de muchas raíces y donde la rapidez se vuelve impor- tante. En tales casos, los métodos lentos consumen mucho tiempo y son por lo tanto costosos. Por otro lado, la rapidez de los métodos abiertos llega a diverger, y los retardos que los acompañan pueden también ser costosos. Algunos algoritmos de cómputo inten- tan conjugar las ventajas de ambas técnicas, al emplear inicialmente un método cerrado para aproximar la raíz, y después cambiar a un método abierto que mejore la estimación con rapidez. Ya sea que se utilice un solo procedimiento o una combinación, la búsque- da de convergencia y velocidad es fundamental para la elección de una técnica de loca- lización de raíces. PT2.5 RELACIONES Y FÓRMULAS IMPORTANTES La tabla PT2.4 resume la información importante que se presentó en la parte dos. Dicha tabla se puede consultar para un acceso rápido de relaciones y fórmulas importantes. PT2.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES En el presente texto los métodos se han concentrado en determinar una sola raíz real de una ecuación algebraica o trascendente, considerando un conocimiento previo de su localización aproximada. Además, se han descrito también métodos que se hallan ex- 228 EPÍLOGO: PARTE DOS
  • 253. presamente diseñados para determinar las raíces reales y complejas de polinomios. Referencias adicionales sobre el tema son Ralston y Rabinowitz (1978) y Carnahan, Luther y Wilkes (1969). Además de los métodos de Müller y de Bairstow, existen varias técnicas disponibles para determinar todas las raíces de polinomios. En particular, el algoritmo de diferencia del cociente (QD) (Henrici, 1964, y Gerald y Wheatley, 1989) determina todas las raíces TABLA PT2.4 Resumen de información importante presentada en la parte dos. Interpretación Errores y criterios Método Formulación gráfica de terminación Métodos cerrados: Bisección x x x r l u = + 2 Criterio de terminación: Si f(xl)f(xr) 0, xu = xr f(xl)f(xr) 0, xl = xr Falsa posición x x f x x x f x f x r u u l u l u = – ( )( – ) ( ) – ( ) Criterio de terminación: Si f(xl)f(xr) 0,xu = xr f(xl)f(xr) 0, xl = xr Métodos abiertos: Newton-Raphson Criterio de terminación: x x f x f x i i i i + = ′ 1 – ( ) ( ) Secante Criterio de terminación: x x f x x x f x f x i i i i i i i + − − = ′ 1 1 1 – ( )( – ) ( ) – ( ) f(x) x xu xl L L/2 Raíz L/4 f(x) x xu xl xr Cuerda f(x) x xi xi + 1 Tangente f(x) x xi xi – 1 xi + 1 x x x r r r s nuevo anterior nuevo – % 100 ≤ ⑀ x x x r r r s nuevo anterior nuevo – % 100 ≤ ⑀ x x x i i i s + + ≤ 1 1 100 – % ⑀ x x x i i i s + + ≤ 1 1 100 – % ⑀ Error: Ei+1 = 0(E2 i ) PT2.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES 229
  • 254. 230 ESTUDIO DE CASOS: RAÍCES DE ECUACIONES sin tener valores iniciales. Ralston y Rabinowitz (1978) y Carnahan, Luther y Wilkes (1969) contienen un análisis de este método, así como de otras técnicas para la locali- zación de raíces de polinomios. Como se analiza en el texto, los métodos de Jenkins-Traub y de Laguerre son de uso frecuente. En resumen, lo anterior lleva la intención de proporcionarle nuevos caminos para una exploración más profunda del tema. Además, todas las referencias anteriores ofrecen descripciones de las técnicas básicas cubiertas en la parte dos. Le recomendamos que consulte esas fuentes alternativas con el objetivo de ampliar su comprensión de los mé- todos numéricos para la localización de raíces.1 1 Aquí sólo se menciona el autor de los libros citados. Se puede encontrar una bibliografía completa al final de este texto. 230 EPÍLOGO: PARTE DOS
  • 257. ECUACIONES ALGEBRAICAS LINEALES PT3.1 MOTIVACIÓN En la parte dos, determinamos el valor de x que satisface una única ecuación, f(x) = 0. Ahora, nos ocuparemos de determinar los valores x1, x2, …, xn que en forma simultánea satisfacen un sistema de ecuaciones f1 (x1, x2, …, xn) = 0 f2 (x1, x2, …, xn) = 0 · · · · · · fn (x1, x2, …, xn) = 0 Tales sistemas pueden ser lineales o no lineales. En la parte tres, trataremos con ecua- ciones algebraicas lineales, que tienen la forma general a11x1 + a12x2 + ··· + a1nxn = b1 a21x1 + a22x2 + ··· + a2nxn = b2 · · (PT3.1) · · · · an1x1 + an2x2 + ··· + annxn = bn donde las a son los coeficientes constantes, las b son los términos independientes cons- tantes y n es el número de ecuaciones. Todas las demás ecuaciones son no lineales. Los sistemas no lineales se analizaron en el capítulo 6, aunque se volverán a estudiar breve- mente en el capítulo 9. PT3.1.1 Métodos sin computadora para resolver sistemas de ecuaciones Si son pocas ecuaciones (n ≤ 3), las ecuaciones lineales (y algunas veces las no lineales) pueden resolverse con rapidez mediante técnicas simples. Algunos de estos métodos se revisarán al inicio del capítulo 9. Sin embargo, con cuatro o más ecuaciones, la solución se vuelve laboriosa y debe usarse una computadora. Históricamente, la incapacidad para resolver a mano los sistemas de ecuaciones más grandes ha limitado el alcance de pro- blemas por resolver en muchas aplicaciones de ingeniería. Antes de las computadoras, las técnicas para resolver ecuaciones algebraicas linea- les consumían mucho tiempo y eran poco prácticas. Esos procedimientos restringieron
  • 258. la creatividad debido a que con frecuencia los métodos eran difíciles de implementar y entender. Como resultado, las técnicas se sobreenfatizaron, a expensas de otros aspectos del proceso de resolución de problemas tales como la formulación y la interpretación (recuerde la figura PT1.1 y el análisis respectivo). El surgimiento de las computadoras hizo posible resolver grandes sistemas de ecua- ciones algebraicas lineales simultáneas. Así, se pueden enfrentar ejemplos y problemas más complicados. Además, se cuenta con más tiempo para usar sus habilidades creativas, ya que se pondrá mayor énfasis en la formulación del problema y en la interpretación de la solución. PT3.1.2 Ecuaciones algebraicas lineales y la práctica en ingeniería Muchas de las ecuaciones fundamentales en ingeniería se basan en las leyes de conser- vación (recuerde la tabla 1.1). Entre algunas cantidades conocidas que se someten a tales leyes están la masa, la energía y el momentum. En términos matemáticos, estos princi- pios nos conducen a ecuaciones de balance o de continuidad que relacionan el compor- tamiento del sistema, al representarlo por los niveles o respuesta de la cantidad sujeta a modelamiento con las propiedades o características del sistema, y por los estímulos externos o funciones forzadas que actúan sobre el sistema. Por ejemplo, el principio de conservación de la masa se utiliza para formular un modelo de una serie de reactores químicos (figura PT3.1a). En este caso, la cantidad que habrá de modelarse es la masa de las sustancias químicas en cada reactor. Las propie- dades del sistema son la reacción característica de la sustancia química, los tamaños de los reactores y las velocidades de flujo. Las funciones forzadas son las velocidades de suministro de las sustancias químicas hacia el sistema. x1 x1 xi1 xi1 xn b) Alimentación Alimentación x1 x5 a) … … x2 x3 x4 FIGURA PT3.1 Dos tipos de sistemas que se modelan mediante ecuaciones algebraicas lineales. a) sistemas de variables agrupadas que involucran componentes finitos relacionadas y b) sistemas de variables distribuidas que involucran un continuo. 234 ECUACIONES ALGEBRAICAS LINEALES
  • 259. En la parte dos, usted observó cómo sistemas de un solo componente dan por re- sultado una sola ecuación que puede resolverse mediante técnicas de localización de raíces. Los sistemas con multicomponentes resultan en un sistema de ecuaciones mate- máticas que deben resolverse de manera simultánea. Las ecuaciones están relacionadas, ya que las distintas partes del sistema están influenciadas por otras partes. Por ejemplo, en la figura PT3.1a, el reactor 4 recibe sustancias químicas de los reactores 2 y 3. En consecuencia, su respuesta depende de la cantidad de sustancias químicas en esos reac- tores. Cuando esas dependencias se expresan matemáticamente, las ecuaciones resultantes a menudo son de forma algebraica y lineal, como la ecuación (PT3.1). Las x son medidas de las magnitudes de las respuestas de los componentes individuales. Al usar la figura PT3.1a como ejemplo, x1 podría cuantificar la cantidad de masa en el primer reactor, x2 cuantificaría la cantidad en el segundo, y así sucesivamente. Las a representan común- mente las propiedades y características relacionadas con las interacciones entre los componentes. Por ejemplo, las a en la figura PT3.1a reflejarían las velocidades de masa entre los reactores. Por último, las b representan las funciones forzadas que actúan sobre el sistema, como la velocidad de alimentación en la figura PT3.1a. Las aplicaciones en el capítulo 12 proporcionan otros ejemplos de tales ecuaciones obtenidas de la práctica de la ingeniería. Problemas de multicomponentes de los tipos anteriores surgen tanto de modelos matemáticos de variables agrupadas (macro) como distribuidas (micro) (figura PT3.1). Los problemas de variables agrupadas involucran componentes finitos relacionadas. Entre los ejemplos se encuentran armaduras (sección 12.2), reactores (figura PT3.1a y sección 12.1) y circuitos eléctricos (sección 12.3). Estos tipos de problemas utilizan modelos que ofrecen poco o ningún detalle espacial. En cambio, los problemas con variables distribuidas intentan describir detalles es- paciales de los sistemas sobre una base continua o semicontinua. La distribución de sustancias químicas a lo largo de un reactor tabular alargado (figura PT3.1b) es un ejemplo de un modelo de variable continua. Las ecuaciones diferenciales obtenidas a partir de las leyes de conservación especifican la distribución de la variable dependien- te para tales sistemas. Esas ecuaciones diferenciales pueden resolverse numéricamente al convertirlas en un sistema equivalente de ecuaciones algebraicas simultáneas. La solución de tales sistemas de ecuaciones representa una importante área de aplicación a la ingeniería de los métodos en los siguientes capítulos. Esas ecuaciones están relacio- nadas, ya que las variables en una posición son dependientes de las variables en regiones adyacentes. Por ejemplo, la concentración en la mitad del reactor es una función de la concentración en regiones adyacentes. Ejemplos similares podrían desarrollarse para la distribución espacial de la temperatura o del momentum. Más adelante, abordaremos tales problemas cuando analicemos ecuaciones diferenciales. Además de sistemas físicos, las ecuaciones algebraicas lineales simultáneas surgen también en diferentes contextos de problemas matemáticos. Éstos resultan cuando se requiere de funciones matemáticas que satisfagan varias condiciones en forma simultá- nea. Cada condición resulta en una ecuación que contiene coeficientes conocidos y va- riables desconocidas. Las técnicas analizadas en esta parte sirven para encontrar las incógnitas cuando las ecuaciones son lineales y algebraicas. Algunas técnicas numéricas de uso general que emplean ecuaciones simultáneas son el análisis de regresión (capítu- lo 17) y la interpolación por trazadores (splines) (capítulo 18). PT3.1 MOTIVACIÓN 235
  • 260. PT3.2 ANTECEDENTES MATEMÁTICOS Todas las partes de este libro requieren de algunos conocimientos matemáticos. Para la parte tres, el álgebra y la notación matricial son útiles, ya que proporcionan una forma concisa para representar y manejar ecuaciones algebraicas lineales. Si usted ya está familiarizado con las matrices, quizá le convenga pasar a la sección PT3.3. Para quienes no tengan un conocimiento previo o necesiten un repaso, el siguiente material ofrece una breve introducción al tema. PT3.2.1 Notación matricial Una matriz consiste en un arreglo rectangular de elementos representado por un solo símbolo. Como se ilustra en la figura PT3.2, [A] es la notación breve para la matriz y aij designa un elemento individual de la matriz. Un conjunto horizontal de elementos se llama un renglón (o fila); y uno vertical, columna. El primer subíndice i siempre designa el número del renglón en el cual está el elemento. El segundo subíndice j designa la columna. Por ejemplo, el elemento a23 está en el renglón 2 y la columna 3. La matriz en la figura PT3.2 tiene n renglones y m columnas, y se dice que tiene una dimensión (o tamaño) de n por m (o n × m). Ésta se conoce como una matriz n por m. A las matrices con dimensión renglón n = 1, tales como [B] = [b1 b2 ··· bm] se les conoce como vectores renglón. Observe que para simplificar se elimina el primer subíndice de cada elemento. También, debe mencionarse que hay ocasiones en las que se requiere emplear una notación breve especial para distinguir una matriz renglón de otros tipos de matrices. Una forma para llevar a cabo esto es mediante el uso de corche- tes abiertos en la parte superior, así ⎣B⎦. Las matrices con dimensión columna m = 1, como [ ] C c c cn = ⋅ ⋅ ⋅ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 1 2 Columna 3 Renglón 2 FIGURA PT3.2 Una matriz. 236 ECUACIONES ALGEBRAICAS LINEALES [ ] A a a a a a a a a a a a a m m n n n nm = ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 11 12 13 1 21 22 23 2 2 3 … … …
  • 261. se conocen como vectores columna. Para simplificar, se elimina el segundo subíndice. Como en el caso del vector renglón, en ocasiones se desea emplear una notación breve especial para distinguir una matriz columna de otros tipos de matrices. Una forma para realizarlo consiste en emplear paréntesis de llave, así {C}. A las matrices en las que n = m se les llama matrices cuadradas. Por ejemplo, una matriz de 4 por 4 es [ ] A a a a a a a a a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 A la diagonal que contiene los elementos a11, a22, a33, a44 se le llama diagonal principal de la matriz. Las matrices cuadradas resultan particularmente importantes cuando se resuelven sistemas de ecuaciones lineales simultáneas. En tales sistemas, el número de ecuaciones (que corresponde a los renglones) y el número de incógnitas (que corresponde a las columnas) debe ser igual para que sea posible tener una solución única.* En consecuen- cia, cuando se trabaja con tales sistemas se tienen matrices cuadradas de coeficientes. Algunos tipos especiales de matrices cuadradas se describen en el cuadro PT3.1. PT3.2.2 Reglas de operaciones con matrices Ahora que ya especificamos el significado de una matriz, podemos definir algunas reglas de operación que rigen su uso. (Igualdad de matrices) Dos matrices n por m son iguales si, y sólo si, cada elemento en la primera matriz es igual a cada elemento en la segunda matriz; es decir, [A] = [B] si aij = bij para todo i y j. La suma de dos matrices, por ejemplo, [A] y [B], se obtiene al sumar los términos correspondientes de cada matriz. Los elementos de la matriz resultante [C] son: cij = aij + bij para i = 1, 2, …, n y j = 1, 2, …, m. De manera similar, la resta de dos matrices, por ejemplo, [E] menos [F], se obtiene al restar los términos correspondientes así: dij = eij – fij para i = 1, 2, …, n y j = 1, 2, …, m. De las definiciones anteriores se concluye directa- mente que la suma y la resta sólo pueden realizarse entre matrices que tengan las mismas dimensiones. La suma es conmutativa: [A] + [B] = [B] + [A] La suma también es asociativa; es decir, ([A] + [B]) + [C] = [A] + ([B] + [C]) PT3.2 ANTECEDENTES MATEMÁTICOS 237 * Sin embargo, debe notarse que en este tipo de sistemas puede suceder que no tengan soluciones o exista una infinidad de éstas.
  • 262. La multiplicación de una matriz [A] por un escalar g se obtiene al multiplicar cada ele- mento de [A] por g, [ ] [ ] D g A ga ga ga ga ga ga ga ga ga m m n n nm = = ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 11 12 1 21 22 2 1 2 Cuadro PT3.1 Tipos especiales de matrices cuadradas Hay diferentes formas especiales de matrices cuadradas que son importantes y que deben mencionarse: Una matriz simétrica es aquella donde aij = aji para todo i y j. Por ejemplo, [ ] A = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 5 1 2 1 3 7 2 7 8 es una matriz simétrica de 3 por 3. Una matriz diagonal es una matriz cuadrada donde todos los elementos fuera de la diagonal principal son iguales a cero, [ ] A a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 22 33 44 Observe que donde hay grandes bloques de elementos que son cero, se dejan en blanco. Una matriz identidad es una matriz diagonal donde todos los elementos sobre la diagonal principal son iguales a 1, [ ] I = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 1 1 1 1 El símbolo [I] se utiliza para denotar la matriz identidad. La matriz identidad tiene propiedades similares a la unidad. Una matriz triangular superior es aquella donde todos los elementos por debajo de la diagonal principal son cero, [ ] A a a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 12 13 14 22 23 24 33 34 44 Una matriz triangular inferior es aquella donde todos los elementos por arriba de la diagonal principal son cero, [ ] A a a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 21 22 31 32 33 41 42 43 44 Una matriz bandeada tiene todos los elementos iguales a cero, con la excepción de una banda centrada sobre la diagonal principal: [ ] A a a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 12 21 22 23 32 33 34 43 44 La matriz anterior tiene un ancho de banda de 3 y se le da un nombre especial: matriz tridiagonal. 238 ECUACIONES ALGEBRAICAS LINEALES
  • 263. El producto de dos matrices se representa como [C] = [A][B], donde los elementos de [C] están definidos como (véase cuadro PT3.2 para tener una forma simple de concep- tualizar la multiplicación de matrices) c a b ij ik kj k n = = ∑ 1 (PT3.2) donde n = la dimensión columna de [A] y la dimensión renglón de [B]. Es decir, el ele- mento cij se obtiene al sumar el producto de elementos individuales del i-ésimo renglón de la primera matriz, en este caso [A], por la j-ésima columna de la segunda matriz [B]. De acuerdo con esta definición, la multiplicación de dos matrices se puede realizar sólo si la primera matriz tiene tantas columnas como el número de renglones en la segun- da matriz. (Conformidad del producto.) Así, si [A] es una matriz n por m, [B] podría ser una matriz m por l. En este caso, la matriz resultante [C] tendrá dimensión n por l. Sin Aunque la ecuación (PT3.2) es adecuada para implementarse en una computadora, no es el medio más simple para visualizar la mecánica de multiplicar dos matrices. Lo que sigue es una forma más tangible de entender la operación. Suponga que queremos multiplicar [X] por [Y] para obtener [Z], donde [ ] [ ][ ] Z X Y = = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 3 1 8 6 0 4 5 9 7 2 Una forma simple para visualizar el cálculo de [Z] es subir [Y] así: ⇑ ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ ← → ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ← 5 9 7 2 3 1 8 6 0 4 [ ] [ ] ? [ ] Y X Z Ahora, la matriz [Z] se puede calcular en el espacio dejado por [Y]. Este formato es útil, ya que alinea los renglones y columnas apropiados para que se multipliquen. Por ejemplo, de acuerdo con la ecuación (PT3.2), el elemento z11 se obtiene al multiplicar el primer renglón de [X] por la primera columna de [Y]. Esta cantidad se obtiene al sumar el producto de x11 por y11 al produc- to de x12 por y21 así: Cuadro PT3.2 Un método simple para multiplicar dos matrices 5 7 3 1 3 5 1 7 22 9 2 8 6 0 4 ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ ↓ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ → × + × = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ De esta manera, z11 es igual a 22. El elemento z21 se calcula de manera semejante así: 5 7 3 1 8 5 6 7 82 9 2 8 6 0 4 22 ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ ↓ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ → × + × = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ Los cálculos continúan en esta forma, siguiendo la alinea- ción de renglones y columnas, para obtener el resultado [ ] Z = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 22 29 82 84 28 8 Observe cómo este método simple explica el porqué es imposible multiplicar dos matrices si el número de columnas de la primera matriz no es igual al número de renglones en la segunda matriz. Note también la importancia del orden en la multiplicación (es decir, la multiplicación de matrices no es conmutativa). PT3.2 ANTECEDENTES MATEMÁTICOS 239
  • 264. embargo, si [B] fuera una matriz l por m, la multiplicación no podrá ser ejecutada. La figura PT3.3 proporciona una forma fácil para verificar si se pueden multiplicar dos matrices. Si las dimensiones de las matrices son adecuadas, la multiplicación matricial es asociativa, ([A][B])[C] = [A]([B][C]) y distributiva, [A]([B] + [C]) = [A][B] + [A][C] o ([A] + [B])[C] = [A][C] + [B][C] Sin embargo, la multiplicación generalmente no es conmutativa: [A][B] ≠ [B][A] Esto es, el orden de la multiplicación es importante. La figura PT3.4 muestra el seudocódigo para multiplicar una matriz [A] n por m, por una matriz [B] m por l, y guardar el resultado en una matriz [C] n por l. Observe que, en lugar de que el producto interno sea directamente acumulado en [C], se recoge en una variable temporal, sum. Se hace así por dos razones. Primero, es un poco más eficiente, ya que la computadora necesita determinar la localización de ci,j sólo n × l veces en lugar de n × l × m veces. Segundo, la precisión de la multiplicación puede mejorarse mucho al declarar a sum como una variable de doble precisión (recuerde el análisis de productos internos en la sección 3.4.2). Aunque la multiplicación es posible, la división de matrices no está definida. No obstante, si una matriz [A] es cuadrada y no singular, existe otra matriz [A]–1 , llamada la inversa de [A], para la cual [A][A]–1 = [A]–1 [A] = [I] (PT3.3) [A]n ⴛ m [B]m ⴛ l ⴝ [C]n ⴛ l Las dimensiones interiores son iguales: es posible la multiplicación Las dimensiones exteriores definen las dimensiones del resultado FIGURA PT3.3 240 ECUACIONES ALGEBRAICAS LINEALES
  • 265. Así, la multiplicación de una matriz por la inversa es análoga a la división, en el sentido de que un número dividido por sí mismo es igual a 1. Es decir, la multiplicación de una matriz por su inversa nos lleva a la matriz identidad (recuerde el cuadro PT3.1). La inversa de una matriz cuadrada bidimensional se representa en forma simple mediante* [ ] – – – – A a a a a a a a a 1 11 22 12 21 22 12 21 11 1 = ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ (PT3.4) Para matrices de dimensiones mayores las fórmulas son más complicadas. Algunas secciones de los capítulos 10 y 11 se dedicarán a técnicas que usen métodos numéricos y la computadora para calcular la inversa de tales sistemas. Otras dos manipulaciones con matrices que serán útiles para nuestro análisis son la transpuesta y la traza de una matriz. La transpuesta de una matriz implica transformar sus renglones en columnas y viceversa. Por ejemplo, dada la matriz de 4 × 4, [ ] A a a a a a a a a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 la transpuesta, designada por [A]T , está definida como [ ] A a a a a a a a a a a a a a a a a T = ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 11 21 31 41 12 22 32 42 13 23 33 43 14 24 34 44 En otras palabras, el elemento aij de la transpuesta es igual al elemento aji de la matriz original. FIGURA PT3.4 SUBROUTINE Mmult (a, b, c, m, n, l) DOFOR i = 1, n DOFOR j = 1, l sum = 0. DOFOR k = 1, m sum = sum + a(i,k) · b(k,j) END DO c(i,j) = sum END DO END DO PT3.2 ANTECEDENTES MATEMÁTICOS 241 * Siempre que an a22 – a12 a21 ≠ 0.
  • 266. La transpuesta tiene muchas funciones en álgebra matricial. Una ventaja es que permite escribir un vector columna como un renglón. Por ejemplo, si { } C c c c c = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ 1 2 3 4 entonces {C}T = ⎣c1 c2 c3 c4⎦ donde el superíndice T indica la transpuesta. Por ejemplo, esto puede ahorrar espacio cuando se escribe un vector columna. Además, la transpuesta tiene diversas aplicaciones matemáticas. La traza de una matriz es la suma de los elementos en su diagonal principal, se designa como tr [A] y se calcula como tr [ ] A aii i n = = ∑ 1 La traza se usará en el análisis de valores propios en el capítulo 27. La última manipulación de una matriz que resultará de utilidad para nuestro análi- sis es la aumentación. Una matriz es aumentada al agregar una columna (o columnas) a la matriz original. Por ejemplo, suponga que tenemos una matriz de coeficientes: [ ] A a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 11 12 13 21 22 23 31 32 33 Por ejemplo, se puede aumentar esta matriz [A] con una matriz identidad (recuerde el cuadro PT3.1) para obtener una matriz de dimensiones 3 por 6: [ ] A a a a a a a a a a = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 11 12 13 21 22 23 31 32 33 1 0 0 0 1 0 0 0 1 Tal expresión es útil cuando debe ejecutarse un conjunto de operaciones idénticas sobre dos matrices. Así, podemos realizar las operaciones sobre una sola matriz aumentada, en lugar de hacerlo sobre dos matrices individuales. PT3.2.3 Representación de ecuaciones algebraicas lineales en forma matricial Debe ser claro que las matrices proporcionan una notación concisa para representar ecua- ciones lineales simultáneas. Por ejemplo, la ecuación (PT3.1) puede expresarse como [A]{X} = {B} (PT3.5) 242 ECUACIONES ALGEBRAICAS LINEALES
  • 267. donde [A] es la matriz cuadrada n por n de coeficientes, [ ] A a a a a a a a a a n n n n nn = ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 11 12 1 21 22 2 1 2 {B} es el vector columna n por 1 de las constantes, {B}T = ⎣b1 b2 ··· bn⎦ y {X} es el vector columna n por 1 de las incógnitas: {X}T = ⎣x1 x2 ··· xn⎦ Recuerde la definición de multiplicación de matrices [ecuación (PT3.2) o cuadro PT3.2] para comprobar que las ecuaciones (PT3.1) y (PT3.5) son equivalentes. También, obser- ve que la ecuación (PT3.5) es una multiplicación matricial válida, ya que el número de columnas, n, de la primera matriz [A], es igual al número de renglones, n, de la segunda matriz {X}. Esta parte del libro se dedica a encontrar la solución {X} de la ecuación (PT3.5). La manera formal de obtener la solución usando álgebra matricial es multiplicando cada lado de la ecuación por la inversa de [A]:* [A]–1 [A]{X} = [A]–1 {B} Como [A]–1 [A] es igual a la matriz identidad, la ecuación se convierte en {X} = [A]–1 {B} (PT3.6) Por lo tanto, se ha encontrado la solución {X} de la ecuación. Éste es otro ejemplo de cómo la inversa desempeña un papel importante en el álgebra de matrices que es similar a la división. Debe observarse que ésta no es una forma muy eficiente para resolver un sistema de ecuaciones. Así, se emplean otros procedimientos para construir los algorit- mos numéricos. Sin embargo, como se analizó en el capítulo 10, la matriz inversa tiene gran valor en los análisis de ingeniería de tales sistemas. Por último, algunas veces encontraremos útil aumentar [A] con {B}. Por ejemplo, si n = 3, resultará una matriz de dimensión 3 por 4: [ ] A a a a b a a a b a a a b = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 11 12 13 1 21 22 23 2 31 32 33 3 (PT3.7) Expresar las ecuaciones en esta forma es útil, ya que varias de las técnicas para resolver sistemas lineales requieren operaciones idénticas en un renglón de coeficientes PT3.2 ANTECEDENTES MATEMÁTICOS 243 * En el caso de que A sea no singular.
  • 268. y en las correspondientes constantes del lado derecho. Como se expresa en la ecuación (PT3.7), es posible realizar las manipulaciones de una vez sobre un renglón de la matriz aumentada, en lugar de hacerlo de manera separada sobre la matriz de coeficientes y en el vector del lado derecho. PT3.3 ORIENTACIÓN Antes de presentar los métodos numéricos, será útil una orientación adicional. Lo si- guiente pretende ser una visión general del material analizado en la parte tres. Además, se plantean algunos objetivos para ayudarle a enfocar sus esfuerzos al estudiar el mate- rial. PT3.3.1 Alcance y presentación preliminar La figura PT3.5 proporciona un resumen de la parte tres. El capítulo 9 se dedica a la técnica fundamental para resolver sistemas algebraicos lineales: la eliminación de Gauss. Antes de entrar en un análisis detallado de dicha técnica, una sección preliminar trata de los métodos simples para resolver sistemas pequeños. Esos procedimientos se pre- sentan para ofrecer cierto conocimiento visual y porque uno de los métodos (la elimi- nación de incógnitas) representa la base para la eliminación de Gauss. Después del material preliminar, se estudia la eliminación de Gauss “simple”. Co- menzamos con esta versión “desnuda” debido a que permite elaborar la técnica funda- mental sin detalles que la compliquen. Después, en las siguientes secciones, analizamos problemas potenciales del método simple y presentamos diferentes modificaciones para minimizar y evitar tales problemas. Lo esencial en este análisis será el proceso de inter- cambio de renglones, o pivoteo parcial. El capítulo 10 empieza ilustrando cómo se puede formular la eliminación de Gauss como una solución por descomposición LU. Se trata de técnicas de solución que son valiosas para los casos donde se necesita evaluar muchos vectores del lado derecho. Se muestra cómo este atributo permite hacer eficiente el cálculo de la matriz inversa, la cual tiene una tremenda utilidad en la práctica de la ingeniería. Por último, el capítulo termina con un estudio de la condición matricial. El número de condición se presenta como una medida de la pérdida de dígitos significativos de exactitud que puede resultar cuando se resuelven matrices mal condicionadas. El inicio del capítulo 11 se concentra en los tipos especiales de sistemas de ecua- ciones que tienen una gran aplicación en ingeniería. En particular, se presentan técnicas eficientes para resolver sistemas tridiagonales. Después, en el resto del capítulo se cen- tra la atención en una alternativa a los métodos de eliminación llamada el método de Gauss-Seidel. Esta técnica es similar en esencia a los métodos aproximados para raíces de ecuaciones que se analizaron en el capítulo 6. Es decir, la técnica consiste en suponer una solución y después iterar para obtener una aproximación mejorada. Al final del capítulo se incluye información relacionada con la solución de ecuaciones algebraicas lineales con ayuda de paquetes y bibliotecas. En el capítulo 12 se muestra cómo se aplican los métodos para la solución de pro- blemas. Como en las otras partes del libro, las aplicaciones se toman de todos los campos de la ingeniería. 244 ECUACIONES ALGEBRAICAS LINEALES
  • 269. PT3.1 Motivación PT3.2 Antecedentes matemáticos PT3.3 Orientación 9.1 Sistemas pequeños 9.2 Eliminación de Gauss simple PARTE 3 Ecuaciones algebraicas lineales PT3.6 Métodos avanzados EPÍLOGO CAPÍTULO 9 Eliminación de Gauss PT3.5 Fórmulas importantes PT3.4 Alternativas 12.4 Ingeniería mecánica 12.3 Ingeniería eléctrica 12.2 Ingeniería civil 12.1 Ingeniería química 11.3 Bibliotecas y paquetes 11.2 Gauss-Seidel 11.1 Matrices especiales CAPÍTULO 10 Descomposición LU e inversión de matrices CAPÍTULO 11 Matrices especiales y el método de Gauss-Seidel CAPÍTULO 12 Estudio de casos 10.3 Análisis del error y condición del sistema 10.2 La matriz inversa 10.1 Descomposición LU 9.7 Gauss-Jordan 9.6 Sistemas no lineales 9.5 Sistemas complejos 9.4 Soluciones 9.3 Dificultades FIGURA PT3.5 Diagrama esquemático de la organización del material en la parte tres: Ecuaciones algebraicas lineales. PT3.3 ORIENTACIÓN 245
  • 270. Por último, se incluye un epílogo al final de la parte tres. Este repaso comprende un análisis de las ventajas y desventajas relevantes para la implementación de los métodos en la práctica de la ingeniería. Esta sección también resume las fórmulas importantes y los métodos avanzados relacionados con las ecuaciones algebraicas lineales. Como tal, puede usarse antes de los exámenes o en la práctica profesional, a manera de actualiza- ción, cuando se tenga que volver a considerar las ecuaciones algebraicas lineales. PT3.3.2 Metas y objetivos Objetivos de estudio. Al terminar la parte tres, usted será capaz de resolver problemas con ecuaciones algebraicas lineales y de valorar la aplicación de esas ecuaciones en muchos campos de la ingeniería. Deberá esforzarse en dominar varias técnicas y su confiabilidad, así como conocer las ventajas y desventajas para seleccionar el “mejor” método (o métodos) para cualquier problema en particular. Además de estos objetivos generales, deberán asi- milarse y dominarse los conceptos específicos enlistados en la tabla PT3.1. Objetivos de cómputo. Sus objetivos de cómputo fundamentales son ser capaz de resolver un sistema de ecuaciones algebraicas lineales y evaluar la matriz inversa. Usted deberá tener subprogramas desarrollados para una descomposición LU, tanto de matri- ces completas como tridiagonales. Quizá desee también tener su propio software para implementar el método Gauss-Seidel. Deberá saber cómo usar los paquetes para resolver ecuaciones algebraicas lineales y encontrar la matriz inversa. También deberá conocer muy bien la manera en que las mismas evaluaciones se pueden implementar en paquetes de uso común, como Excel y MATLAB, así como con bibliotecas de software. TABLA PT3.1 Objetivos específicos de estudio de la parte tres. 1. Comprender la interpretación gráfica de sistemas mal condicionados y cómo se relacionan con el determinante. 2. Conocer la terminología: eliminación hacia adelante, sustitución hacia atrás, ecuación pivote y coeficiente pivote. 3. Entender los problemas de división entre cero, errores de redondeo y mal condicionamiento. 4. Saber cómo calcular el determinante con la eliminación de Gauss. 5. Comprender las ventajas del pivoteo; notar la diferencia entre pivoteos parcial y completo. 6. Saber la diferencia fundamental entre el método de eliminación de Gauss y el de Gauss-Jordan y cuál es más eficiente. 7. Reconocer el modo en que la eliminación de Gauss se formula como una descomposición LU. 8. Saber cómo incorporar el pivoteo y la inversión de matrices en un algoritmo de descomposición LU. 9. Conocer el modo de interpretar los elementos de la matriz inversa al evaluar cálculos de respuesta al estímulo en ingeniería. 10. Percatarse del modo de usar la inversa y las normas de matrices para evaluar la condición de un sistema. 11. Entender cómo los sistemas bandeados y simétricos pueden descomponerse y resolverlos de manera eficiente. 12. Entender por qué el método de Gauss-Seidel es adecuado para grandes sistemas de ecuaciones dispersos. 13. Comprender cómo valorar la diagonal dominante de un sistema de ecuaciones y el modo de relacionarla con el sistema para que pueda resolverse con el método de Gauss-Seidel. 14. Entender la fundamentación de la relajación; saber dónde son apropiadas la bajorrelajación y la sobrerrelajación. 246 ECUACIONES ALGEBRAICAS LINEALES
  • 271. CAPÍTULO 9 Eliminación de Gauss En este capítulo se analizan las ecuaciones algebraicas lineales simultáneas que en ge- neral se representan como a x a x a x b a x a x a x b a x a x a x b n n n n n n nn n n 11 1 12 2 1 1 21 1 22 2 2 2 1 1 2 2 + + + = + + + = ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + + = (9. 1) donde las a son los coeficientes constantes y las b son los términos independientes constantes. La técnica que se describe en este capítulo se conoce como la eliminación de Gauss, ya que implica una combinación de ecuaciones para eliminar las incógnitas. Aunque éste es uno de los métodos más antiguos para resolver ecuaciones lineales simultáneas, continúa siendo uno de los algoritmos de mayor importancia, y es la base para resolver ecuaciones lineales en muchos paquetes de software populares. 9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES Antes de analizar a los métodos computacionales, describiremos algunos métodos que son apropiados en la solución de pequeños sistemas de ecuaciones simultáneas (n ≤ 3) que no requieren de una computadora. Éstos son el método gráfico, la regla de Cramer y la eliminación de incógnitas. 9.1.1 Método gráfico Para dos ecuaciones se puede obtener una solución al graficarlas en coordenadas carte- sianas con un eje que corresponda a x1 y el otro a x2. Debido a que en estos sistemas lineales, cada ecuación se relaciona con una línea recta, lo cual se ilustra fácilmente mediante las ecuaciones generales a11x1 + a12x2 = b1 a21x1 + a22x2 = b2
  • 272. 248 ELIMINACIÓN DE GAUSS En ambas ecuaciones se puede despejar x2: x a a x b a x a a x b a 2 11 12 1 1 12 2 21 22 1 2 22 = − ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + = − ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + De esta manera, las ecuaciones ahora están en la forma de líneas rectas; es decir, x2 = (pendiente) x1 + intersección. Tales líneas se grafican en coordenadas cartesianas con x2 como la ordenada y x1 como la abscisa. Los valores de x1 y x2 en la intersección de las líneas representa la solución. EJEMPLO 9.1 El método gráfico para dos ecuaciones Planteamiento del problema. Con el método gráfico resuelva 3x1 + 2x2 = 18 (E9.1.1) –x1 + 2x2 = 2 (E9.1.2) Solución. Sea x1 la abscisa. Despejando x2 de la ecuación (E9.1.1) x x 2 1 3 2 9 = − + la cual, cuando se grafica como en la figura 9.1, es una línea recta con una intersección en 9 y una pendiente de –3/2. FIGURA 9.1 Solución gráfica de un conjunto de dos ecuaciones algebraicas lineales simultáneas. La intersección de las líneas representa la solución. 0 6 2 4 0 6 2 4 8 x2 x1 Solución: x1 4; x2 3 x1 2x2 2 3 x 1 2 x 2 1 8
  • 273. También de la ecuación (E9.1.2) se despeja x2: x x 2 1 1 2 1 = + la cual también se grafica en la figura 9.1. La solución es la intersección de las dos líneas en x1 = 4 y x2 = 3. Este resultado se verifica al sustituir los valores en las ecuaciones originales para obtener 3(4) + 2(3) = 18 –(4) + 2(3) = 2 De esta manera, los resultados son equivalentes a los valores de la derecha en las ecua- ciones originales. Para tres ecuaciones simultáneas, cada ecuación se representa como un plano en un sistema de coordenadas tridimensional. El punto en donde se intersecan los tres planos representa la solución. Para más de tres incógnitas, los métodos gráficos no funcionan y, por consiguiente, tienen poco valor práctico para resolver ecuaciones simultáneas. No obstante, resultan útiles para visualizar propiedades de las soluciones. Por ejemplo, la figura 9.2 muestra tres casos que pueden ocasionar problemas al resolver sistemas de ecuaciones lineales. La figura 9.2a presenta el caso en que las dos ecuaciones representan líneas paralelas. En estos casos no existe solución, ya que las dos líneas jamás se cruzan. La figura 9.2b representa el caso en que las dos líneas coinciden. En éste existe un número infinito de soluciones. Se dice que ambos tipos de sistemas son singulares. Además, los sistemas muy próximos a ser singulares (figura 9.2c) también pueden causar problemas; a estos sistemas se les llama mal condicionados. Gráficamente, esto corresponde al hecho de que resulta difícil identificar el punto exacto donde las líneas se intersecan. Los siste- mas mal condicionados presentan problemas cuando se encuentran durante la solución FIGURA 9.2 Representación gráfica de sistemas singulares y mal condicionados: a) no hay solución, b) hay una infinidad de soluciones y c) sistema mal condicionado donde las pendientes son tan cercanas que es difícil detectar visualmente el punto de intersección. x2 x1 x1 x2 1 x1 x2 a) b) x2 x1 x1 2x2 2 x1 x2 1 c) x2 x1 x1 x2 1 2 1 x1 x2 1.1 5 2.3 2 1 2 1 2 1 2 1 9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES 249
  • 274. 250 ELIMINACIÓN DE GAUSS numérica de ecuaciones lineales, lo cual se debe a que este tipo de sistemas son extrema- damente sensibles a los errores de redondeo (recuerde la sección 4.2.3). 9.1.2 Determinantes y la regla de Cramer La regla de Cramer es otra técnica de solución adecuada para un sistema pequeño de ecuaciones. Antes de hacer una descripción de tal método, se mencionará en forma breve el concepto de determinante que se utiliza en la regla de Cramer. Además, el de- terminante tiene relevancia en la evaluación del mal condicionamiento de una matriz. Determinantes. El determinante se puede ilustrar para un sistema de tres ecuaciones simultáneas: [A]{X} = {B} donde [A] es la matriz de coeficientes: [ ] A a a a a a a a a a = 11 12 13 21 22 23 31 32 33 El determinante D de este sistema se forma, a partir de los coeficientes del sistema, de la siguiente manera: D a a a a a a a a a = 11 12 13 21 22 23 31 32 33 (9.2) Aunque el determinante D y la matriz de coeficientes [A] se componen de los mismos elementos, son conceptos matemáticos completamente diferentes. Por esto, para distin- guirlos visualmente se emplean corchetes para encerrar la matriz y líneas rectas verti- cales para el determinante. En contraste con una matriz, el determinante es un simple número. Por ejemplo, el valor del determinante de segundo orden D a a a a = ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 11 12 21 22 se calcula como D = a11a22 – a12a2l (9.3) En el caso del determinante de tercer orden [ecuación (9.2)], el determinante, que es un simple valor numérico, se calcula así D a a a a a a a a a a a a a a a = + 11 22 23 32 33 12 21 23 31 33 13 21 22 31 32 – (9.4) donde a los determinantes de 2 por 2 se les llama menores.
  • 275. EJEMPLO 9.2 Determinantes Planteamiento del problema. Calcule los valores para los determinantes de los sis- temas representados en las figuras 9.1 y 9.2. Solución. Para la figura 9.1: D = = − − = 3 2 1 2 3 2 2 1 8 – ( ) ( ) Para la figura 9.2a: D = − − = − ⎛ ⎝ ⎞ ⎠ = 1 2 1 1 2 1 1 2 1 1 1 2 0 / / ( ) – – Para la figura 9.2b: D = − − = − = 1 2 1 1 2 1 2 2 1 1 0 / ( ) – (– ) Para la figura 9.2c: D = − − = − ⎛ ⎝ ⎞ ⎠ = − 1 2 1 2 3 5 1 1 2 1 1 2 3 5 0 04 / . / ( ) – – . . En el ejemplo anterior, los sistemas singulares tienen determinante cero. Además, los resultados sugieren que el sistema que sea casi singular (figura 9.2c) tiene un deter- minante cercano a cero. Estas ideas se tratarán también en análisis subsecuentes de mal condicionamiento (sección 9.3.3). Regla de Cramer. Esta regla establece que cada incógnita de un sistema de ecuacio- nes lineales algebraicas puede expresarse como una fracción de dos determinantes con denominador D y con el numerador obtenido a partir de D, al reemplazar la columna de coeficientes de la incógnita en cuestión por las constantes b1, b2, …, bn. Por ejemplo, x1 se calcula como x b a a b a a b a a D 1 1 12 13 2 22 23 3 32 33 = (9.5) EJEMPLO 9.3 Regla de Cramer Planteamiento del problema. Utilice la regla de Cramer para resolver 0.3x1 + 0.52x2 + x3 = –0.01 0.5x1 + x2 + 1.9x3 = 0.67 0.1x1 + 0.3x2 + 0.5x3 = –0.44 9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES 251
  • 276. 252 ELIMINACIÓN DE GAUSS Solución. El determinante D se puede escribir como [ecuación (9.2)] D = 0 3 0 52 1 0 5 1 1 9 0 1 0 3 0 5 . . . . . . . Los menores son [ecuación (9.3)] A A A 1 2 3 1 1 9 0 3 0 5 1 0 5 1 9 0 3 0 07 0 5 1 9 0 1 0 5 0 5 0 5 1 9 0 1 0 06 0 5 1 0 1 0 3 0 5 0 3 1 0 1 0 05 = = − = − = = − = = = − = . . . ( . ) . ( . ) . . . . . . ( . ) . ( . ) . . . . . ( . ) ( . ) . Éstos se usan para evaluar el determinante, como en [ecuación (9.4)] D = 0.3(–0.07) – 0.52(0.06) + 1(0.05) = –0.0022 Aplicando la ecuación (9.5), la solución es x x x 1 2 3 0 01 0 52 1 0 67 1 1 9 0 44 0 3 0 5 0 0022 0 03278 0 0022 14 9 0 3 0 01 1 0 5 0 67 1 9 0 1 0 44 0 5 0 0022 0 0649 0 0022 29 5 0 3 0 52 0 01 0 5 1 0 67 0 1 = − = = − = − = = − = − – . . . . – . . . . . – . . . – . . . . . – . . . . – . . . . . . . . 0 0 3 0 44 0 0022 0 04356 0 0022 19 8 . – . . – . – . . − = = Para más de tres ecuaciones, la regla de Cramer no resulta práctica, ya que, confor- me aumenta el número de ecuaciones, los determinantes consumen tiempo al evaluarlos manualmente (o por computadora). Por consiguiente, se usan otras alternativas más eficientes. Algunas de éstas se basan en la última técnica, sin el uso de la computadora, que se analizará en la siguiente sección: la eliminación de incógnitas.
  • 277. 9.1.3 La eliminación de incógnitas La eliminación de incógnitas mediante la combinación de ecuaciones es un método al- gebraico que se ilustra con un sistema de dos ecuaciones simultáneas: a11x1 + a12x2 = b1 (9.6) a21x1 + a22x2 = b2 (9.7) La estrategia básica consiste en multiplicar las ecuaciones por constantes, de tal forma que se elimine una de las incógnitas cuando se combinen las dos ecuaciones. El resul- tado es una sola ecuación en la que se puede despejar la incógnita restante. Este valor se sustituye en cualquiera de las ecuaciones originales para calcular la otra variable. Por ejemplo, la ecuación (9.6) se multiplica por a21 y la ecuación (9.7) por a11 para dar a11a21x1 + a12a21x2 = b1a21 (9.8) a21a11x1 + a22a11x2 = b2a11 (9.9) Restando la ecuación (9.8) de la (9.9) se elimina el término x1 de las ecuaciones para obtener a22a11x2 – a12a21x2 = b2a11 – b1a21 Despejando x2 x a b a b a a a a 2 11 2 21 1 11 22 12 21 = – – (9.10) Sustituyendo (9.10) en (9.6) y despejando x a b a b a a a a 1 22 1 12 2 11 22 12 21 = – – (9.11) Observe que las ecuaciones (9.10) y (9.11) se relacionan directamente con la regla de Cramer, que establece x b a b a a a a a b a a b a a a a x a b a b a a a a a b b a a a a a 1 1 12 2 22 11 12 21 22 1 22 12 2 11 22 12 21 2 11 1 21 2 11 12 21 22 11 2 1 21 11 22 12 21 = = − − = = − − 9.1 SOLUCIÓN DE SISTEMAS PEQUEÑOS DE ECUACIONES 253
  • 278. 254 ELIMINACIÓN DE GAUSS EJEMPLO 9.4 Eliminación de incógnitas Planteamiento del problema. Use la eliminación de incógnitas para resolver (recuer- de el ejemplo 9.1) 3x1 + 2x2 = 18 –x1 + 2x2 = 2 Solución. Utilizando las ecuaciones (9.11) y (9.10), x x 1 2 2 18 2 2 3 2 2 1 4 3 2 1 18 3 2 2 1 3 = = = = ( ) – ( ) ( ) – (– ) ( ) – (– ) ( ) – (– ) cuyos valores coinciden con la solución gráfica (figura 9.1). La eliminación de incógnitas se puede extender a sistemas con más de tres ecuacio- nes. Sin embargo, los múltiples cálculos que se requieren para sistemas más grandes hacen que el método sea extremadamente tedioso para realizarse a mano. No obstante, como se describe en la siguiente sección, la técnica llega a formalizarse y programarse fácilmente en la computadora. 9.2 ELIMINACIÓN DE GAUSS SIMPLE En la sección anterior se utilizó la eliminación de incógnitas para resolver un par de ecuaciones simultáneas. El procedimiento consistió de dos pasos: 1. Las ecuaciones se manipularon para eliminar una de las incógnitas de las ecuaciones. El resultado de este paso de eliminación fue el de una sola ecuación con una incóg- nita. 2. En consecuencia, esta ecuación se pudo resolver directamente y el resultado susti- tuirse atrás en una de las ecuaciones originales para encontrar la incógnita restante. Esta técnica básica puede extenderse a sistemas grandes de ecuaciones desarrollan- do un esquema sistemático o algorítmico para eliminar incógnitas y sustituir hacia atrás. La eliminación de Gauss es el más básico de dichos esquemas. Esta sección presenta las técnicas sistemáticas para la eliminación hacia adelante y la sustitución hacia atrás que la eliminación gaussiana comprende. Aunque tales técnicas son muy adecuadas para utilizarlas en computadoras, se requiere de algunas modifica- ciones para obtener un algoritmo confiable. En particular, el programa debe evitar la división entre cero. Al método siguiente se le llama eliminación gaussiana “simple”, ya que no evita este problema. En las siguientes secciones se verán algunas características adicionales necesarias para obtener un programa de cómputo efectivo.
  • 279. El método está ideado para resolver un sistema general de n ecuaciones: a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1 (9.12a) a21x1 + a22x2 + a23x3 + · · · + a2nxn = b2 (9.12b) · · · · · · an1x1 + an2x2 + an3x3 + · · · + annxn = bn (9.12c) Como en el caso de dos ecuaciones, la técnica para resolver n ecuaciones consiste en dos fases: la eliminación de las incógnitas y su solución mediante sustitución hacia atrás. Eliminación hacia adelante de incógnitas. La primera fase consiste en reducir el conjunto de ecuaciones a un sistema triangular superior (figura 9.3). El paso inicial será eliminar la primera incógnita, x1, desde la segunda hasta la n-ésima ecuación. Para ello, se multiplica la ecuación (9.12a) por a21/a11 para obtener a x a a a x a a a x a a b n n 21 1 21 11 12 2 21 11 1 21 11 1 + + + = (9.13) Ahora, esta ecuación se resta de la ecuación (9.12b) para dar a a a a x a a a a x b a a b n n n 22 21 11 12 2 2 21 11 1 2 21 11 1 – ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + + − ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = − o ′ + + ′ = ′ a x a x b n n 22 2 2 2 donde el superíndice prima indica que los elementos han cambiado sus valores originales. FIGURA 9.3 Las dos fases de la eliminación de Gauss: eliminación hacia adelante y sustitución hacia atrás. Los superíndices prima indican el número de veces que se han modificado los coeficientes y constantes. a a a c a a a c a a a c a a a c a a c a c x c a x c a x a x c a x a x 11 12 13 1 21 22 23 2 31 32 33 3 11 12 13 1 22 23 2 33 3 3 3 33 2 2 23 3 22 1 1 12 2 13 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⇓ ′ ′ ′ ′′ ′′ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⇓ = ′′ ′′ = ′ − ′ ′ = − / ( )/ ( – 3 3 11 )/a Eliminación hacia adelante Sustitución hacia atrás 9.2 ELIMINACIÓN DE GAUSS SIMPLE 255
  • 280. 256 ELIMINACIÓN DE GAUSS El procedimiento se repite después con las ecuaciones restantes. Por ejemplo, la ecuación (9.12a) se puede multiplicar por a31/a11 y el resultado se resta de la tercera ecua- ción. Se repite el procedimiento con las ecuaciones restantes y da como resultado el siguiente sistema modificado: a11x1 + a12x2 + a13x3 + ··· + a1nxn = b1 (9.14a) a′ 22x2 + a′23x3 + ··· + a′2nxn = b′2 (9.14b) a′32x2 + a′33x3 + ··· + a′3nxn = b′3 (9.14c) · · · · · · a′ n2x2 + a′n3x3 + · · · + a′nnxn = b′n (9.14d) En los pasos anteriores, la ecuación (9.12a) se llama la ecuación pivote, y a11 se deno- mina el coeficiente o elemento pivote. Observe que el proceso de multiplicación del primer renglón por a21/a11 es equivalente a dividirla entre a11 y multiplicarla por a21. Algunas veces la operación de división es referida a la normalización. Se hace esta distinción porque un elemento pivote cero llega a interferir con la normalización al causar una división entre cero. Más adelante se regresará a este punto importante, una vez que se complete la descripción de la eliminación de Gauss simple. Ahora se repite el procedimiento antes descrito para eliminar la segunda incógnita en las ecuaciones (9.14c) hasta (9.14d). Para realizar esto, multiplique la ecuación (9.14b) por a′ 32/a′22 y reste el resultado de la ecuación (9.14c). Se realiza la eliminación en forma similar en las ecuaciones restantes para obtener a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1 a′ 22x2 + a′23x3 + · · · + a′2nxn = b′2 a′′ 33x3 + · · · + a′′3nxn = b′′3 · · · · · · a′′ n3x3 + · · · + a′′nnxn = b′′n donde el superíndice biprima indica que los elementos se han modificado dos veces. El procedimiento puede continuar usando las ecuaciones pivote restantes. La última manipulación en esta secuencia es el uso de la (n – 1)ésima ecuación para eliminar el término xn–1 de la n-ésima ecuación. Aquí el sistema se habrá transformado en un siste- ma triangular superior (véase el cuadro PT3.1): a11x1 + a12x2 + a13x3 + · · · + a1nxn = b1 (9.15a) a′ 22x2 + a′23x3 + · · · + a′2nxn = b′2 (9.15b) a′′ 33x3 + · · · + a′′ 3nxn = b′′ 3 (9.15c) · · · · · · ann (n – 1) xn = bn (n – 1) (9.15d)
  • 281. El seudocódigo para implementar la eliminación hacia adelante se presenta en la figura 9.4a. Observe que tres ciclos anidados proporcionan una representación concisa del proceso. El ciclo externo mueve hacia abajo de la matriz el renglón pivote. El siguien- te ciclo mueve hacia abajo el renglón pivote a cada renglón subsecuente, donde la elimi- nación se llevará a cabo. Finalmente, el ciclo más interno avanza a través de las columnas para eliminar o transformar los elementos de un renglón determinado. Sustitución hacia atrás. De la ecuación (9.15d) ahora se despeja xn: x b a n n n nn n = ( – ) ( – ) 1 1 (9.16) Este resultado se puede sustituir hacia atrás en la (n – 1)ésima ecuación y despegar xn – 1. El procedimiento, que se repite para evaluar las x restantes, se representa mediante la fórmula: x b a x a i n n i i i ij i j j i n ii i = − = … − = + ∑ ( ) ( – ) ( – ) – , – , , 1 1 1 1 1 2 1 para (9.17) El seudocódigo para implementar las ecuaciones (9.16) y (9.17) se representa en la figura 9.4b. Observe la similitud entre este seudocódigo y el mostrado en la figura PT3.4 para la multiplicación de matrices. De la misma forma que en la figura PT3.4, se utiliza una variable temporal sum para acumular la sumatoria de la ecuación (9.17). Esto da por resultado un tiempo de ejecución más rápido que si la sumatoria fuera acumulada en bi. Más importante aún es que esto permite una mayor eficiencia en la precisión si la varia- ble, sum, se declara como variable de doble precisión. FIGURA 9.4 Seudocódigo que realiza a) la eliminación hacia adelante y b) la sustitución hacia atrás. a) DOFOR k = 1, n — 1 DOFOR i = k + 1, n factor = ai,k / ak,k DOFOR j = k + 1 to n ai,j = ai,j — factor · ak,j END DO bi = bi — factor · bk END DO END DO b) xn = bn / an,n DOFOR i = n — 1, 1, —1 sum = bi DOFOR j = i + 1, n sum = sum – ai,j · xj END DO xi = sum / ai,i END DO 9.2 ELIMINACIÓN DE GAUSS SIMPLE 257
  • 282. 258 ELIMINACIÓN DE GAUSS EJEMPLO 9.5 Eliminación de Gauss simple Planteamiento del problema. Emplee la eliminación de Gauss para resolver 3x1 – 0.1x2 – 0.2x3 = 7.85 (E9.5.1) 0.1x1 + 7x2 – 0.3x3 = –19.3 (E9.5.2) 0.3x1 – 0.2x2 + 10x3 = 71.4 (E9.5.3) Efectúe los cálculos con seis cifras significativas. Solución. La primera parte del procedimiento es la eliminación hacia adelante. Se multiplica la ecuación (E9.5.1) por (0.1)/3 y se resta el resultado de la ecuación (E9.5.2) para obtener 7.00333x2 – 0.293333x3 = –19.5617 Después, se multiplica la ecuación (E9.5.1) por (0.3)/3 y se resta de la ecuación (E9.5.3) para eliminar x1. Luego de efectuar estas operaciones, el sistema de ecuaciones es 3x1 –0.1x2 –0.2x3 = 7.85 (E9.5.4) 7.00333x2 – 0.293333x3 = –19.5617 (E9.5.5) –0.190000x2 + 10.0200x3 = 70.6150 (E9.5.6) Para completar la eliminación hacia adelante, x2 debe eliminarse de la ecuación (E9.5.6). Para llevar a cabo esto, se multiplica la ecuación (E9.5.5) por –0.190000/7.00333 y se resta el resultado de la ecuación (E9.5.6). Esto elimina x2 de la tercera ecuación y reduce el sistema a una forma triangular superior: 3x1 –0.1x2 –0.2x3 = 7.85 (E9.5.7) 7.00333x2 – 0.293333x3 = –19.5617 (E9.5.8) 10.0200x3 = 70.0843 (E9.5.9) Ahora se pueden resolver estas ecuaciones por sustitución hacia atrás. En primer lugar, de la ecuación (E9.5.9) se despeja x3 x3 70 0843 10 0200 7 00003 = = . . . (E9.5.10) Este resultado se sustituye en la ecuación (E9.5.8): 7.00333x2 – 0.293333(7.00003) = –19.5617 de la que se despeja x2 19 5617 0 293333 7 00003 7 00333 2 50000 = + = – . . ( . ) . – . (E9.5.11) Por último, las ecuaciones (E9.5.10) y (E9.5.11) se sustituyen en la (E9.5.4): 3x1 – 0.1(–2.50000) – 0.2(7.00003) = 7.85
  • 283. de la que se despeja x1, x1 7 85 0 1 2 50000 0 2 7 00003 3 3 00000 = + + = . . (– . ) . ( . ) . Aunque hay un pequeño error de redondeo en la ecuación (E9.5.10), los resultados son muy cercanos a la solución exacta, x1 = 3, x2 = –2.5 y x3 = 7. Esto se verifica al sustituir los resultados en el sistema de ecuaciones original: 3(3) – 0.1(–2.5) – 0.2(7.00003) = 7.84999 ≅ 7.85 0.1(3) + 7(–2.5) – 0.3(7.00003) = –19.3000 = –19.3 0.3(3) – 0.2(–2.5) + 10(7.00003) = 71.4003 ≅ 71.4 9.2.1 Conteo de las operaciones El tiempo de ejecución en la eliminación gaussiana depende de la cantidad de operacio- nes con punto flotante (o FLOP) usadas en el algoritmo. En general, el tiempo consumi- do para ejecutar multiplicaciones y divisiones es casi el mismo, y es mayor que para las sumas y restas. Antes de analizar la eliminación de Gauss simple, primero se definirán algunas cantidades que facilitan el conteo de operaciones: (9.18a, b) (9.18c, d) (9.18e) (9.18f) donde O(mn ) significa “términos de orden mn y menores”. Ahora se examinará en forma detallada el algoritmo de la eliminación de Gauss simple. Como en la figura 9.4a, primero se contará la multiplicación/división de FLOP en la etapa de la eliminación. En el primer paso durante el ciclo externo, k = 1. Por lo tanto, los límites del ciclo intermedio son desde i = 2 hasta n. De acuerdo con la ecuación (9.18d), esto significa que el número de iteraciones en el ciclo intermedio será 1 2 1 1 2 = − + = = ∑ n n i n – (9.19) Ahora,paracadaunadeestasiteraciones,hayunadivisiónparadefinirelfactor=ai,K/ak,k. El ciclo interno realiza después una sola multiplicación (factor · ak,j) para cada iteración cf i c f i f i g i f i g i m m k i m m m m O m i i m i m i m i m i m i k m i m i m ( ) ( ) ( ) ( ) ( ) ( ) – ( ) ( ) = + = + = + + + = = + = + + + + = + = + = = = = = = = = ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 2 3 1 2 2 = = + + + + = + + = + = ∑ 1 2 3 1 2 1 6 3 2 2 2 2 1 3 2 m m m m m O m i m ( )( ) ( ) 9.2 ELIMINACIÓN DE GAUSS SIMPLE 259
  • 284. 260 ELIMINACIÓN DE GAUSS de j = 2 a n. Por último, hay una multiplicación más del valor del lado derecho (factor · bk). Así, en cada iteración del ciclo intermedio, el número de multiplicaciones es 1 + [n – 2 + 1] + 1 = 1 + n (9.20) El total en la primera pasada del ciclo externo, por lo tanto, se obtiene al multiplicar la ecuación (9.19) por la (9.20) para obtener [n – 1](1 + n). Un procedimiento similar se emplea para estimar las FLOP de la multiplicación/ división en las iteraciones subsecuentes del ciclo externo. Esto se resume así: Lazo externo Lazo medio Flops de Flops de k i Suma/Resta Multiplicación/División 1 2, n (n – 1) (n) (n – 1)(n + 1) 2 3, n (n – 2)(n – 1) (n – 2)(n) · · · · · · · · · k k + 1, n (n – k)(n + 1 – k) (n – k)(n + 2 – k) · · · · · · · · · n – 1 n, n (1) (2) (1) (3) Por tanto, el total de flops de la suma/resta para el proceso de eliminación se calcu- la como ( – )( – ) [ ( ) – ( ) ] – n k n k n n k n k k n k n + = + + + = = ∑ 1 1 2 1 2 1 1 1 – –1 ∑ o bien n n n k k k n k n k n ( ) ( ) + − + + = − = − = − ∑ ∑ ∑ 1 1 2 1 1 1 1 1 2 1 1 Al aplicar alguna de las relaciones de la ecuación (9.18) se obtiene [ ( )] [ ( ) ( ) ( n O n n O n n O n n O 3 3 2 3 2 3 1 3 3 + − + + + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ = + n n) (9.21) Un análisis similar para los flops de la multiplicación/división lleva a lo siguiente [ ( )] [ ( ) ( ) ( n O n n O n n O n n O 3 2 3 3 2 3 1 3 3 + − + + + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ = + n n2 ) (9.22) Al sumar el resultado queda 2 3 3 2 n O n + ( ) Así, el número total de flops es igual a 2n3 /3 más un componente adicional de pro- porcionalidad para términos de orden n2 y menores. El resultado se escribe de esta manera porque conforme n crece, los términos O(n2 ) y menores se hacen despreciables. Por tanto, se justifica concluir que para un valor de n grande, el esfuerzo necesario para la eliminación hacia adelante converge a 2n3 /3.
  • 285. Debido a que sólo se utiliza un lazo (ciclo), la sustitución hacia atrás es mucho más fácil de evaluar. El número de flops adicionales para la suma/resta es igual a n(n – 1)/2. Debido a la división adicional anterior al lazo, el número de flops para la multiplicación/ división es n(n + 1)/2. Esto se suma para llegar a un total de n2 + O(n) Entonces, el trabajo total en la eliminación de Gauss simple se representa como 2 3 2 3 2 2 n O n n O n n + + + ⎯ → ⎯⎯⎯⎯ ( ) ( ) conforme aumenta ⎯ ⎯ + 2 3 3 2 n O n ( ) (9.23) Eliminación Sustitución hacia adelante hacia atrás En este análisis destacan dos conclusiones generales útiles: 1. Conforme el sistema se vuelve más grande, el tiempo de cálculo aumenta enorme- mente. Como en la tabla 9.1, la cantidad de FLOP aumenta casi tres órdenes de magnitud por cada orden de aumento de la dimensión. 2. La mayor parte del trabajo ocurre en el paso de eliminación. Así, para hacer el mé- todo más eficiente, debería enfocarse a este paso. 9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN Mientras que hay muchos sistemas de ecuaciones que se pueden resolver con la elimi- nación de Gauss simple, existen algunas dificultades que se deben analizar, antes de escribir un programa de cómputo general donde se implemente el método. Aunque el siguiente material se relaciona en forma directa con la eliminación de Gauss simple, la información también es relevante para otras técnicas de eliminación. 9.3.1 División entre cero La razón principal por la que se le ha llamado simple al método anterior se debe a que durante las fases de eliminación y sustitución hacia atrás es posible que ocurra una di- visión entre cero. Por ejemplo, si se utiliza el método de eliminación de Gauss simple para resolver 2x2 + 3x3 = 8 4xl + 6x2 + 7x3 = –3 2x1 + x2 + 6x3 = 5 en la normalización del primer renglón habrá una división entre a11 = 0. También se pueden presentar problemas cuando un coeficiente está muy cercano a cero. La técnica TABLA 9.1 Número de FLOP en la eliminación de Gauss simple. Porcentaje Sustitución Total debido a la n Eliminación hacia atrás de FLOP 2n3 /3 eliminación 10 375 55 430 333 87.21% 100 338250 5050 343300 333333 98.53% 1000 3.34E+08 500500 3.34 × 108 3.33 × 108 99.85% 9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN 261
  • 286. 262 ELIMINACIÓN DE GAUSS de pivoteo se ha desarrollado para evitar en forma parcial estos problemas. Ésta se des- cribe en la sección 9.4.2. 9.3.2 Errores de redondeo Aun cuando la solución del ejemplo 9.5 fue cercana a la solución verdadera, existe una pequeña discrepancia en el resultado de x3 [ecuación (E9.5.10)]. Esta diferencia, que corresponde a un error relativo del –0.00043%, se debe al uso de seis cifras significati- vas durante los cálculos. Si se hubiesen utilizado más cifras significativas, el error en los resultados se habría reducido considerablemente. Si se hubiesen usado fracciones en lugar de decimales (y en consecuencia evitado los errores de redondeo), los resulta- dos habrían sido exactos. Sin embargo, como las computadoras manejan sólo un núme- ro limitado de cifras significativas (recuerde la sección 3.4.1), es posible que ocurran errores de redondeo y se deben considerar al evaluar los resultados. El problema de los errores de redondeo llega a volverse particularmente importan- te cuando se trata de resolver un gran número de ecuaciones. Esto se debe al hecho de que cada resultado depende del anterior. Por consiguiente, un error en los primeros pasos tiende a propagarse, es decir, a causar errores en los siguientes pasos. Resulta complicado especificar el tamaño de los sistemas donde los errores de re- dondeo son significativos, ya que depende del tipo de computadora y de las propieda- des de las ecuaciones. Una regla generalizada consiste en suponer que los errores de redondeo son de importancia cuando se trata de sistemas de 100 o más ecuaciones. En cualquier caso, siempre se deben sustituir los resultados en las ecuaciones originales y verificar si ha ocurrido un error sustancial. No obstante, como se verá más adelante, las magnitudes de los mismos coeficientes pueden influir en la aceptación de si una de estas pruebas de error asegura un resultado confiable. 9.3.3 Sistemas mal condicionados Lo adecuado de una solución depende de la condición del sistema. En la sección 9.1.1 se desarrolló una representación gráfica de la condición de un sistema. Como se estudió en la sección 4.2.3, los sistemas bien condicionados son aquellos en los que un pequeño cambio en uno o más coeficientes provoca un cambio similarmente pequeño en la solu- ción. Los sistemas mal condicionados son aquellos en donde pequeños cambios en los coeficientes generan grandes cambios en la solución. Otra interpretación del mal condi- cionamiento es que un amplio rango de resultados puede satisfacer las ecuaciones en forma aproximada. Debido a que los errores de redondeo llegan a provocar pequeños cambios en los coeficientes, estos cambios artificiales pueden generar grandes errores en la solución de sistemas mal condicionados, como se ilustra en el siguiente ejemplo. EJEMPLO 9.6 Sistemas mal condicionados Planteamiento del problema. Resuelva el siguiente sistema: x1 + 2x2 = 10 (E9.6.1) 1.1x1 + 2x2 = 10.4 (E9.6.2) Después, resuélvalo de nuevo, pero con el coeficiente x1 de la segunda ecuación modi- ficado ligeramente como 1.05.
  • 287. Solución. Usando las ecuaciones (9.10) y (9.11), la solución es x x 1 2 2 10 2 10 4 1 2 2 1 1 4 1 10 4 1 1 10 1 2 2 1 1 3 = = = = ( ) – ( . ) ( ) – ( . ) ( . ) – . ( ) ( ) – ( . ) Sin embargo, con un ligero cambio al coeficiente a21 de 1.1 a 1.05, el resultado cambia de forma drástica a x x 1 2 2 10 2 10 4 1 2 2 1 05 8 1 10 4 1 1 10 1 2 2 1 05 1 = = = = ( ) – ( . ) ( ) – ( . ) ( . ) – . ( ) ( ) – ( . ) Observe que la razón principal de la discrepancia entre los dos resultados es que el denominador representa la diferencia de dos números casi iguales. Como se explicó previamente en la sección 3.4.2, tales diferencias son altamente sensibles a pequeñas variaciones en los números empleados. En este punto, se podría sugerir que la sustitución de los resultados en las ecuacio- nes originales alertaría al lector respecto al problema. Por desgracia, con frecuencia éste no es el caso en sistemas mal condicionados. La sustitución de los valores erróneos x1 = 8 y x2 = 1 en las ecuaciones (E9.6.1) y (E9.6.2) resulta en 8 + 2(1) = 10 = 10 1.1(8) + 2(1) = 10.8 ≅ 10.4 Por lo tanto, aunque x1 = 8 y x2 = 1 no sea la solución verdadera al problema original, la prueba de error es lo suficientemente cercana para quizá confundirlo y hacerle creer que las soluciones son las adecuadas. Como se hizo antes en la sección sobre métodos gráficos, es posible dar una repre- sentación visual del mal condicionamiento al graficar las ecuaciones (E9.6.1) y (E9.6.2) (recuerde la figura 9.2). Debido a que las pendientes de las líneas son casi iguales, vi- sualmente es difícil percibir con exactitud dónde se intersecan. Dicha dificultad visual se refleja en forma cuantitativa en los resultados ambiguos del ejemplo 9.6. Esta situa- ción se puede caracterizar matemáticamente escribiendo las dos ecuaciones en su forma general: a11x1 + al2x2 = b1 (9.24) a21x1 + a22x2 = b2 (9.25) Dividiendo la ecuación (9.24) entre a12 y la (9.25) entre a22, y reordenando términos, se obtienen las versiones alternativas en el formato de líneas rectas [x2 = (pendiente) x1 + intersección]: 9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN 263
  • 288. 264 ELIMINACIÓN DE GAUSS x a a x b a x a a x b a 2 11 12 1 1 12 2 21 22 1 2 22 = + = + – – Por consiguiente, si las pendientes son casi iguales a a a a 11 12 21 22 ≅ o, multiplicando en cruz, a11a22 ≅ a12a21 lo cual se expresa también como a11a22 – a12a21 ≅ 0 (9.26) Ahora, si recordamos que a11a22 – a12a21 es el determinante de un sistema bidimen- sional [ecuación (9.3)], se llega a la conclusión general de que un sistema mal condicio- nado es aquel en el que su determinante es cercano a cero. De hecho, si el determinante es exactamente igual a cero, las dos pendientes son idénticas, lo cual indica ya sea que no hay solución o que hay un número infinito de soluciones, como es el caso de los sistemas singulares ilustrados en las figuras 9.2a y 9.2b. Es difícil especificar qué tan cerca de cero debe estar el determinante de manera que indique un mal condicionamiento. Esto se complica por el hecho de que el determi- nante puede cambiar al multiplicar una o más ecuaciones por un factor de escalamiento sin alterar la solución. Por consiguiente, el determinante es un valor relativo que se ve influenciado por la magnitud de los coeficientes. EJEMPLO 9.7 Efecto de escalamiento sobre el determinante Planteamiento del problema. Evalúe el determinante de los siguientes sistemas: a) Del ejemplo 9.1: 3x1 + 2x2 = 18 (E9.7.1) –x1 + 2x2 = 2 (E9.7.2) b) Del ejemplo 9.6: x1 + 2x2 = 10 (E9.7.3) 1.1x1 + 2x2 = 10.4 (E9.7.4) c) Repita b), pero multiplique las ecuaciones por 10.
  • 289. Solución. a) El determinante de las ecuaciones (E9.7.1) y (E.9.7.2) que están bien condicio- nadas, es D = 3(2) – 2(–1) = 8 b) El determinante de las ecuaciones (E9.7.3) y (E9.7.4), que están mal condicio- nadas, es D = 1(2) – 2(1.1) = –0.2 c) Los resultados en a) y b) parecen corroborar el argumento de que los sistemas mal condicionados tienen determinantes cercanos a cero. Sin embargo, suponga que el sistema mal condicionado en b) se multiplica por 10, para obtener 10x1 + 20x2 = 100 11x1 + 20x2 = 104 La multiplicación de una ecuación por una constante no tiene efecto en su solu- ción. Además, todavía está mal condicionada. Esto se verifica por el hecho de que multiplicar por una constante no tiene efecto en la solución gráfica. No obstante, el determinante se afecta en forma drástica: D = 10(20) – 20(11) = –20 No sólo se han elevado en dos órdenes de magnitud, sino que ahora es más de dos veces el determinante del sistema bien condicionado a). Como se ilustró en el ejemplo anterior, la magnitud de los coeficientes interpone un efecto de escalamiento, que complica la relación entre la condición del sistema y el ta- maño del determinante. Una manera de evitar parcialmente esta dificultad es escalando las ecuaciones en forma tal que el elemento máximo en cualquier renglón sea igual a 1. EJEMPLO 9.8 Escalamiento Planteamiento del problema. Escale los sistemas de ecuaciones del ejemplo 9.7 a un valor máximo de 1 y calcule de nuevo sus determinantes. Solución. a) Para el sistema bien condicionado, el escalamiento resulta en x1 + 0.667x2 = 6 –0.5x1 + x2 = 1 cuyo determinante es D = 1(1) – 0.667(–0.5) = 1.333 9.3 DIFICULTADES EN LOS MÉTODOS DE ELIMINACIÓN 265
  • 290. 266 ELIMINACIÓN DE GAUSS b) Para el sistema mal condicionado, el escalamiento resulta en 0.5x1 + x2 = 5 0.55x1 + x2 = 5.2 cuyo determinante es D = 0.5(1) – 1(0.55) = –0.05 c) En el último caso, al realizar los cambios del escalamiento, el sistema toma la misma forma que en b) y el determinante es también –0.05. De esta forma, se remueve el efecto de la multiplicación por el escalar. En una sección anterior (sección 9.1.2) se mencionó que el determinante es difícil de evaluar para más de tres ecuaciones simultáneas. Por lo tanto, podría parecer que no ofrece un recurso práctico para evaluar la condición de un sistema. Sin embargo, como se describe en el cuadro 9.1, existe un algoritmo simple que resulta de la eliminación de Gauss y que se puede usar para la evaluación del determinante. Cuadro 9.1 Evaluación de determinantes usando la eliminación de Gauss En la sección 9.1.2 se dijo que la evaluación de los determinan- tes por expansión de menores no resultaba práctico para grandes sistemas de ecuaciones. De esta forma, se concluyó que la regla de Cramer sólo es aplicable a sistemas pequeños. Sin embargo, como se mencionó en la sección 9.3.3, el valor del determinante permite estimar la condición de un sistema. Por lo tanto, será útil tener un método práctico para calcular esta cantidad. Por fortuna, la eliminación gaussiana proporciona una forma simple para hacerlo. El método se basa en el hecho de que el determinante de una matriz triangular se puede calcular de forma simple, como el producto de los elementos de su diagonal: D = a11a22a33 … ann (C9.1.1) La validez de esta formulación se ilustra para un sistema de 3 por 3: D a a a a a a = 11 12 13 22 23 33 0 0 0 donde el determinante se evalúa como [recuerde la ecuación (9.4)] D a a a a a a a a a = + 11 22 23 33 12 23 33 13 22 0 0 0 0 0 0 – o evaluando los menores (es decir, los determinantes 2 por 2) D a a a a a a a a = − + = 11 22 23 12 13 11 22 33 0 0 ( ) ( ) Recuerde que el paso de eliminación hacia adelante de la eliminación de Gauss genera un sistema triangular superior. Puesto que el valor del determinante no cambia con el proceso de eliminación hacia adelante, simplemente el determinante se evalúa al final de este paso por medio de D a a a ann n = ′ ′′ − 11 22 33 1 ( ) (C9.1.2) donde los superíndices indican el número de veces que los ele- mentos han sido modificados en el proceso de eliminación. Por lo tanto, es posible aprovechar el esfuerzo que se ha logrado al reducir el sistema a su forma triangular, y obtener un cálculo simple del determinante. Hay una ligera modificación al método anterior cuando el programa usa pivoteo parcial (la sección 9.4.2). En este caso, el determinante cambia de signo cada vez que un renglón es pivoteado. Una manera de representar esto es modificando la ecuación (C9.1.2): D a a a ann n p = ′ ′′ − − 11 22 33 1 1 ( ) ( ) (C9.1.3) donde p representa el número de veces en que los renglones se pivotean. Esta modificación se puede incorporar de forma simple en un programa; únicamente rastree el número de pivoteos que se llevan a cabo durante el transcurso de los cálculos y después use la ecuación (C9.1.3) para evaluar el determinante.
  • 291. Además del método usado en el ejemplo anterior existen otras formas para evaluar la condición del sistema. Por ejemplo, hay métodos alternativos para normalizar los elemen- tos (véase Stark, 1970). Además, como se verá en el capítulo siguiente (sección 10.3), la matriz inversa y la norma de una matriz pueden usarse para evaluar la condición de un sistema. Por último, una prueba simple (pero que consume tiempo) consiste en modificar ligeramente los coeficientes y repetir la solución. Si tales modificaciones generan resul- tados drásticamente diferentes, es posible que el sistema esté mal condicionado. Como se deduce del análisis anterior, los sistemas mal condicionados resultan pro- blemáticos. Por fortuna, la mayoría de las ecuaciones algebraicas lineales, obtenidas de un problema de ingeniería, son por naturaleza bien condicionadas. Además, algunas de las técnicas presentadas en la sección 9.4 ayudarán a reducir el problema. 9.3.4 Sistemas singulares En la sección anterior se aprendió que una forma con la cual un sistema de ecuaciones puede estar mal condicionado es cuando dos o más de las ecuaciones son casi idénticas. Obviamente aún es peor cuando las dos son idénticas. En tales casos, se pierde un grado de libertad y se daría un caso imposible de n – 1 ecuaciones con n incógnitas. Tales casos podrían no ser obvios, en particular cuando se enfrenta con grandes sistemas de ecuaciones. En consecuencia, sería útil tener una forma de detectar la singularidad de manera automática. La respuesta a este problema está claramente dada por el hecho de que el determi- nante de un sistema singular es cero. Esta idea, a su vez, puede relacionarse con la eli- minación gaussiana reconociendo que después del paso de eliminación, el determinante se evalúa como el producto de los elementos de la diagonal (recuerde el cuadro 9.1). Así, un algoritmo de computadora puede efectuar una prueba para discernir si se crea un cero en la diagonal durante la etapa de la eliminación. Si se descubre uno, el cálculo se pue- de terminar inmediatamente y en la pantalla aparecerá un mensaje de alerta. Se mostra- rán más tarde, en este capítulo, los detalles de cómo se realiza esto cuando se presente el algoritmo completo de la eliminación de Gauss. 9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES Las siguientes técnicas se pueden incorporar al algoritmo de eliminación de Gauss simple, para evitar algunos de los problemas analizados en la sección previa. 9.4.1 Uso de más cifras significativas El remedio más simple para el mal condicionamiento consiste en emplear más cifras significativas en los cálculos. Si la computadora tiene la capacidad para usar más cifras, esta característica reducirá enormemente el problema. No obstante, el precio que hay que pagar en cálculo y memoria se eleva con el uso de la precisión extendida (recuerde la sección 3.4.1). 9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 267
  • 292. 268 ELIMINACIÓN DE GAUSS 9.4.2 Pivoteo Como se mencionó al inicio de la sección 9.3, ocurren problemas obvios cuando un elemento pivote es cero, ya que el paso de normalización origina una división entre cero. También llegan a surgir problemas cuando el elemento pivote es cercano a —o más aún que sea exactamente igual a— cero, debido a que si la magnitud del elemento pivote es pequeña comparada con los otros elementos, entonces se pueden introducir errores de redondeo. Por lo tanto, antes de normalizar cada renglón, resulta conveniente determinar el coeficiente más grande disponible en la columna debajo del elemento pivote. Los ren- glones se pueden intercambiar de manera que el elemento más grande sea el elemento pivote; esto se conoce como pivoteo parcial. Al procedimiento, donde tanto en las co- lumnas como en los renglones se busca el elemento más grande y luego se intercambian, se le conoce como pivoteo completo, el cual se usa en muy raras ocasiones debido a que al intercambiar columnas se cambia el orden de las x y, en consecuencia, se agrega complejidad significativa y usualmente injustificada al programa de computadora. El siguiente ejemplo ilustra las ventajas del pivoteo parcial. Además de evitar la división entre cero, el pivoteo también minimiza el error de redondeo. Como tal, sirve también para resolver parcialmente el mal condicionamiento. EJEMPLO 9.9 Pivoteo parcial Planteamiento del problema. Emplee la eliminación de Gauss para resolver 0.0003x1 + 3.0000x2 = 2.0001 1.0000x1 + 1.0000x2 = 1.0000 Observe que en esta forma el primer elemento pivote, a11 = 0.0003, es muy cercano a cero. Entonces haga de nuevo el cálculo, pero ahora con pivoteo parcial, invirtiendo el orden de las ecuaciones. La solución exacta es x1 = 1/3 y x2 = 2/3. Solución. Multiplicando la primera ecuación por 1/(0.0003) da como resultado x1 + 10000x2 = 6667 lo cual se utiliza para eliminar x1 de la segunda ecuación: –9999x2 = –6666 de donde se despeja x2 2 3 = Este resultado se sustituye en la primera ecuación para evaluar x1: x1 2 0001 3 2 3 0 0003 = − . ( / ) . (E9.9.1)
  • 293. Sin embargo, debido a la cancelación por resta, el resultado es muy sensible al número de cifras significativas empleadas en el cálculo: Valor absoluto del error relativo Cifras porcentual significativas x2 x1 para x1 3 0.667 –3.33 1099 4 0.6667 0.0000 100 5 0.66667 0.30000 10 6 0.666667 0.330000 1 7 0.6666667 0.3330000 0.1 Observe cómo el valor de x1 depende en gran medida del número de cifras significativas. Esto se debe a que en la ecuación (E9.9.1) se restan dos números casi iguales. Por otro lado, si se resuelven las ecuaciones en orden inverso, se normaliza el renglón con el elemento pivote más grande. Las ecuaciones son 1.0000x1 + 1.0000x2 = 1.0000 0.0003x1 + 3.0000x2 = 2.0001 La eliminación y la sustitución dan x2 = 2/3. Con diferentes números de cifras signifi- cativas, x1 se puede calcular de la primera ecuación, así x1 1 2 3 1 = − ( / ) (E9.9.2) Este caso es mucho menos sensible al número de cifras significativas usadas en el cálculo: Valor absoluto del error relativo Cifras porcentual significativas x2 x1 para x1 3 0.667 0.333 0.1 4 0.6667 0.3333 0.01 5 0.66667 0.33333 0.001 6 0.666667 0.333333 0.0001 7 0.6666667 0.3333333 0.00001 Por lo que la estrategia de pivoteo es mucho más satisfactoria. Los programas computacionales de uso general deben tener una estrategia de pivoteo. En la figura 9.5 se proporciona un algoritmo simple para llevar a cabo dicha estrategia. Observe que el algoritmo consiste en dos grandes ciclos. Luego de guardar el elemento pivote actual y su número de renglón como las variables big y p, el primer ciclo compa- ra el elemento pivote con los elementos que se hallan debajo de él, para verificar si al- gunos de ellos es mayor que el elemento pivote. Si es así, el nuevo elemento más grande 9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 269
  • 294. 270 ELIMINACIÓN DE GAUSS y su número de renglón se guardan en big y p. Después, el segundo ciclo intercambia el renglón del pivote original con el del elemento más grande, de tal forma que el último sea el nuevo renglón pivote. Este seudocódigo puede agregarse a un programa basado en los otros elementos de la eliminación de Gauss mostrados en la figura 9.4. La mejor forma de hacerlo consiste en emplear un método modular y escribir la figura 9.5 como una subrutina (o procedimiento), que pueda llamarse directamente después del inicio del primer ciclo en la figura 9.4a. Observe que la segunda instrucción IF/THEN de la figura 9.5 intercambia física- mente los renglones. Con grandes matrices, esto llevaría mucho tiempo. En consecuen- cia, de hecho, la mayoría de los códigos no intercambian renglones sino llevan un registro de cuál es el renglón pivote, guardando los subíndices apropiados en un vector. Este vector proporciona luego una base para especificar el orden adecuado de los ren- glones durante la eliminación hacia adelante y las operaciones de sustitución hacia atrás. Así, se dice que las operaciones se implementan in situ. 9.4.3 Escalamiento En la sección 9.3.3 se mencionó que el escalamiento podía ser útil para la estandarización del tamaño determinante. Más allá de esta aplicación, tiene utilidad en la minimización de los errores de redondeo, en aquellos casos en los que algunas de las ecuaciones de un sistema tienen coeficientes mucho más grandes que otros. Tales situaciones se encuentran con frecuencia en la práctica de la ingeniería, al usar unidades muy diferentes en el desarrollo de ecuaciones simultáneas. Por ejemplo, en problemas de circuitos eléctricos, los voltajes desconocidos se pueden expresar en unidades que varían desde microvoltios hasta kilovoltios. Existen ejemplos similares en todos los campos de la ingeniería. Mien- tras cada una de las ecuaciones sea consistente, el sistema será técnicamente correcto y susceptible de ser resuelto. Sin embargo, el uso de unidades tan diversas puede llevar a que los coeficientes difieran ampliamente en magnitud. Esto, a su vez, puede tener un impacto sobre el error de redondeo, ya que afecta el pivoteo, como se ilustra en el si- guiente ejemplo. EJEMPLO 9.10 Efecto del escalamiento sobre el pivoteo y el redondeo Planteamiento del problema. a) Resuelva el siguiente sistema de ecuaciones usando la eliminación de Gauss y una estrategia de pivoteo: 2x1 + 100000x2 = 100000 x1 + x2 = 2 b) Repita el problema después de escalar las ecuaciones de tal forma que el coeficiente máximo en cada renglón sea 1. c) Finalmente, utilice los coeficientes escalados para determinar si el pivoteo es ne- cesario. No obstante, resuelva las ecuaciones con los valores de los coeficientes originales. En todos los casos, conserve sólo tres cifras significativas. Observe que las respuestas correctas son x1 = 1.00002 y x2 = 0.99998 o, para tres cifras signifi- cativas, x1 = x2 = 1.00. FIGURA 9.5 Seudocódigo para implementar el pivoteo parcial. p = k big = |ak,k| DOFOR ii = k+1, n dummy = |aii,k| IF (dummy big) big = dummy p = ii END IF END DO IF (p ≠ k) DOFOR jj = k, n dummy = ap,jj ap,jj = ak,jj ak,jj = dummy END DO dummy = bp bp = bk bk = dummy END IF
  • 295. Solución. a) Sin escalar, se aplica la eliminación hacia adelante y se obtiene 2x1 + 100 000x2 = 100 000 –50 000x2 = –50 000 que se puede resolver por sustitución hacia atrás: x2 = 1.00 x1 = 0.00 Aunque x2 es correcta, x1 tiene un 100% de error debido al redondeo. b) El escalamiento transforma las ecuaciones originales en 0.00002x1 + x2 = 1 x1 + x2 = 2 Por lo tanto, se deben pivotear los renglones y colocar el valor más grande sobre la diagonal. x1 + x2 = 2 0.00002x1 + x2 = 1 La eliminación hacia adelante da como resultado x1 + x2 = 2 x2 = 1.00 de donde se obtiene x1 = x2 = 1 De esta forma, el escalamiento conduce a la respuesta correcta. c) Los coeficientes escalados revelan que es necesario el pivoteo. Por lo tanto, se pivotea pero se mantienen los coeficientes originales para obtener x1 + x2 = 2 2x1 + 100 000x2 = 100 000 La eliminación hacia adelante da como resultado x1 + x2 = 2 100 000x2 = 100 000 que al resolverse se obtiene la respuesta correcta: x1 = x2 = 1. Entonces, el escala- miento fue útil para determinar si el pivoteo era necesario; aunque las ecuaciones por sí mismas no requieren escalarse para llegar a un resultado correcto. 9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 271
  • 296. 272 ELIMINACIÓN DE GAUSS SUB Gauss (a, b, n, x, tol, er) DIMENSION s (n) er = 0 DOFOR i = 1, n si = ABS(ai,1) DOFOR j = 2, n IF ABS(ai,j)si THEN si = ABS(ai,j) END DO END DO CALL Eliminate(a, s, n, b, tol, er) IF er ≠ —1 THEN CALL Substitute(a, n, b, x) END IF END Gauss SUB Eliminate (a, s, n, b, tol, er) DOFOR k = 1, n — 1 CALL Pivot (a, b, s, n, k) IF ABS (ak,k/sk) tol THEN er = —1 EXIT DO END IF DOFOR i = k + 1, n factor = ai,k/ak,k DOFOR j = k + 1, n ai,j = ai,j — factor*ak,j END DO bi = bi – factor * bk END DO END DO IF ABS(ak,k/sk) to1 THEN er = —1 END Eliminate SUB Pivot (a, b, s, n, k) p = k big = ABS(ak,k/sk) DOFOR ii = k + 1, n dummy = ABS(aii,k/sii) IF dummy big THEN big = dummy p = ii END IF END DO IF p ≠ k THEN DOFOR jj = k, n dummy = ap,jj ap,jj = ak,jj ak,jj = dummy END DO dummy = bp bp = bk bk = dummy dummy = sp sp = sk sk = dummy END IF END pivot SUB Substitute (a, n, b, x) xn = bn/an,n DOFOR i = n — 1, 1, —1 sum = 0 DOFOR j = i + 1, n sum = sum + ai,j * xj END DO xi = (bi — sum) / ai,i END DO END Substitute FIGURA 9.6 Seudocódigo para instaurar la eliminación de Gauss con pivoteo parcial.
  • 297. Al igual que en el ejemplo anterior, el escalamiento es útil para minimizar los erro- res de redondeo. Sin embargo, se debe advertir que el propio escalamiento lleva también a errores de redondeo. Por ejemplo, dada la ecuación 2x1 + 300000x2 = 1 y usando tres cifras significativas, escalando se obtiene 0.00000667x1 + x2 = 0.00000333 De esta forma, el escalamiento introduce un error de redondeo en el primer coeficiente y en la constante del lado derecho. Por esta razón, algunas veces se sugiere que el esca- lamiento se emplee únicamente como en el inciso c) del ejemplo anterior. Esto es, se usa para calcular valores escalados de los coeficientes sólo como un criterio de pivoteo; pero los valores de los coeficientes originales se conservan para los cálculos reales de elimi- nación y sustitución. Esto tiene ventajas y desventajas si el determinante se calcula como parte del programa. Es decir, el determinante resultante no será escalado. Sin embargo, como muchas aplicaciones de la eliminación de Gauss no requieren la evaluación del determinante, es el planteamiento más común y se usará en el algoritmo de la siguiente sección. 9.4.4 Algoritmo para la eliminación gaussiana Los algoritmos de las figuras 9.4 y 9.5 se combinan ahora en un solo algoritmo para implementar el algoritmo completo de la eliminación de Gauss. En la figura 9.6 se muestra el algoritmo de una subrutina general para realizar la eliminación de Gauss. Observe que el programa tiene módulos para las tres operaciones principales del algoritmo de eliminación gaussiana: eliminación hacia adelante, sustitución hacia atrás y pivoteo. Además, hay varios aspectos del código que difieren y representan un mejo- ramiento de los seudocódigos de las figuras 9.4 y 9.5. Éstos son: • Las ecuaciones no están escaladas, pero los valores escalados de los elementos se usan para determinar si se debe usar el pivoteo. • El término diagonal se vigila durante la fase del pivoteo para detectar ocurrencias de valores cercanos a cero y con esto indicar si el sistema es singular. Si devuelve un valor de er = –1, se ha detectado una matriz singular y el cálculo debe terminar. El usuario da a un parámetro tol un número pequeño para detectar ocurrencias cer- canas a cero. EJEMPLO 9.11 Solución de ecuaciones algebraicas lineales por medio de la computadora Planteamiento del problema. Un programa de computadora para resolver ecuaciones algebraicas lineales, como por ejemplo el que se basa la figura 9.6, sirve para resolver un problema relacionado con el ejemplo de la caída del paracaidista, analizado en el capítulo 1. Suponga que un equipo de tres paracaidistas está unido por una cuerda lige- ra mientras va en caída libre a una velocidad de 5 m/s (figura 9.7). Calcule la tensión en cada sección de la cuerda y la aceleración del equipo, dados los siguientes datos: 9.4 TÉCNICAS PARA MEJORAR LAS SOLUCIONES 273
  • 298. 274 ELIMINACIÓN DE GAUSS Masa, Coeficiente Paracaidista kg de arrastre, kg/s 1 70 10 2 60 14 3 40 17 Solución. Los diagramas de cuerpo libre para cada paracaidista se muestran en la figura 9.8. Sumando las fuerzas en la dirección vertical y utilizando la segunda ley de Newton se obtiene un sistema de tres ecuaciones lineales simultáneas: m1g – T – c1v = m1a m2g + T – c2v – R = m2a m3g – c3v + R = m3a Estas ecuaciones tienen tres incógnitas: a, T y R. Después de sustituir los valores cono- cidos, las ecuaciones se pueden expresar en forma matricial como (g = 9.8 m/s2 ), 70 1 0 60 1 1 40 0 1 636 518 307 – – ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ a T R Este sistema se resuelve usando su propio software. El resultado es a = 8.5941 m/s2 , T = 34.4118 N y R = 36.7647 N. R T 1 2 3 a T m3g R T R m2g m1g c3v c2v c1v 3 2 1 FIGURA 9.7 Tres paracaidistas en caída libre unidos por cuerdas sin peso. FIGURA 9.8 Diagramas de cuerpo libre para cada uno de los tres paracaidistas en caída.
  • 299. 9.5 SISTEMAS COMPLEJOS En algunos problemas es posible obtener un sistema de ecuaciones complejas [C]{Z} = {W} (9.27) donde [C] = [A] + i[B] {Z} = {X} + i{Y} {W} = {U} + i{V} (9.28) donde i = –1. El camino más directo para resolver un sistema como éste consiste en emplear uno de los algoritmos descritos en esta parte del libro; pero sustituyendo todas las operacio- nes reales por complejas. Claro que esto sólo es posible con aquellos lenguajes, como el Fortran, que permiten el uso de variables complejas. Para lenguajes que no permiten la declaración de variables complejas, es posible escribir un código que convierta operaciones reales en complejas. Sin embargo, esto no es una tarea trivial. Una alternativa es convertir el sistema complejo en uno equivalente que trabaje con variables reales. Esto se logra al sustituir la ecuación (9.28) en la (9.27) e igualar las partes real y compleja de la ecuación resultante, para obtener [A]{X} – [B]{Y} = {U} (9.29) y [B]{X} + [A]{Y} = {V} (9.30) Así, el sistema de n ecuaciones complejas se convierte en un conjunto de 2n ecua- ciones reales. Esto significa que el tiempo de almacenamiento y de ejecución se incre- mentará en forma significativa. En consecuencia, habrá que evaluar las ventajas y desventajas de esta opción. Si es poco frecuente que se evalúen sistemas complejos, es preferible usar las ecuaciones (9.29) y (9.30) por su conveniencia. Sin embargo, si se usan con frecuencia y desea utilizar un lenguaje que no permite el uso de datos de tipo complejo, quizá valga la pena escribir un programa que convierta operaciones reales en complejas. 9.6 SISTEMAS DE ECUACIONES NO LINEALES Recuerde que al final del capítulo 6 se expuso un procedimiento para resolver dos ecua- ciones no lineales con dos incógnitas. Éste se puede extender al caso general para resol- ver n ecuaciones no lineales simultáneas. f1(x1, x2, …, xn) = 0 f2(x1, x2, …, xn) = 0 · · · · (9.31) · · fn(x1, x2, …, xn) = 0 9.6 SISTEMAS DE ECUACIONES NO LINEALES 275
  • 300. 276 ELIMINACIÓN DE GAUSS La solución de este sistema consiste en un conjunto de valores x que hacen todas las ecuaciones igual a cero. Como se describió en la sección 6.5.2, un procedimiento para resolver tales sistemas se basa en la versión multidimensional del método de Newton-Raphson. Así, se escribe para cada ecuación una expansión de la serie de Taylor. Por ejemplo, para la k-ésima ecuación, f f x x f x x x f x x x f x k i k i i i k i i i k i n i n i k i n , , , , , , , , , , , ( ) ( ) ( ) + + + + = + − ∂ ∂ + − ∂ ∂ + + − ∂ ∂ 1 1 1 1 1 2 1 2 2 1 (9.32) donde el primer subíndice, k, representa la ecuación o la incógnita, y el segundo subín- dice denota si el valor de la función en cuestión es el presente (i) o el siguiente (i + 1). Las ecuaciones de la forma (9.32) son escritas para cada una de las ecuaciones no lineales originales. Después, como se hizo al obtener la ecuación (6.20) a partir de la (6.19), todos los términos fk,i+1 se igualan a cero, como sería el caso en la raíz, y la ecua- ción (9.32) se escribe como – , , , , , , , , , , , , , f x f x x f x x f x x f x x f x x f x k i i k i i k i n i k i n i k i i k i n i k i n + ∂ ∂ + ∂ ∂ + + ∂ ∂ = ∂ ∂ + ∂ ∂ + + ∂ ∂ + + + 1 1 2 2 1 1 1 2 1 2 1 (9.33) Observe que las únicas incógnitas en la ecuación (9.33) son los términos xk,i+1 del lado derecho. Todas las otras cantidades tienen su valor presente (i) y, por lo tanto, son cono- cidas en cualquier iteración. En consecuencia, el sistema de ecuaciones representado, en general, por la ecuación (9.33) (es decir, con k = 1, 2, …, n) constituye un sistema de ecuaciones lineales simultáneas que se pueden resolver con los métodos analizados en esta parte del libro. Se puede emplear la notación matricial para expresar la ecuación (9.33) en forma concisa. Las derivadas parciales se expresan como [ ] , , , , , , , , , Z f x f x f x f x f x f x f x f x f x i i i n i i i n n i n i n i n = ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∂ ∂ ∂ ∂ ∂ ∂ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 1 1 1 2 1 2 1 2 2 2 1 2 (9.34) Los valores inicial y final se expresan en forma vectorial como {Xi}T = ⎣x1,i x2,i … xn,i⎦ y {Xi+1}T = ⎣x1,i+1 x2,i+1 … xn,i+1 ⎦
  • 301. Finalmente, los valores de la función en i se pueden expresar como {Fi}T = ⎣f1,i f2,i ··· fn,i⎦ Usando estas relaciones, la ecuación (9.33) se representa en forma concisa como [Z]{Xi+1} = –{Fi} +[Z]{Xi} (9.35) La ecuación (9.35) se resuelve usando una técnica como la eliminación de Gauss. Este proceso se repite iterativamente para obtener una aproximación refinada de forma simi- lar al caso de dos ecuaciones como en la sección 6.5.2. Se debe notar que el procedimiento anterior tiene dos desventajas importantes. Primero, a menudo no es fácil evaluar la ecuación (9.34). Por lo que se ha desarrollado una variación del método de Newton-Raphson para evitar tal problema. Como podría esperarse, tal variación se basa en el uso de aproximaciones por diferencias finitas, para calcular las derivadas parciales que aparecen en [Z]. La segunda desventaja del método de Newton-Raphson para multiecuaciones es que usualmente se requiere de excelentes valores iniciales para asegurar la convergencia. Ya que con frecuencia esto es difícil de obtener, se han desarrollado métodos alternos que, aunque son más lentos que el método de Newton-Raphson, dan un mejor comportamien- to de convergencia. Un método común es reformular el sistema no lineal como una sola función F x f x x x i i n i n ( ) [ ( , , , )] = = ∑ 2 2 1 … (9.36) donde fi(x1, x2, …, xn) es el i-ésimo miembro del sistema original de la ecuación (9.31). Los valores de x que minimizan esta función representan también la solución del sistema no lineal. Como se verá en el capítulo 17, esta reformulación pertenece a una clase de problemas llamados regresión no lineal. Como tal, se puede abordar con varias técnicas de optimización como las que se describirán más adelante en este texto (parte cuatro, específicamente en el capítulo 14). 9.7 GAUSS-JORDAN El método de Gauss-Jordan es una variación de la eliminación de Gauss. La principal diferencia consiste en que cuando una incógnita se elimina en el método de Gauss-Jordan, ésta es eliminada de todas las otras ecuaciones, no sólo de las subsecuentes. Además, todos los renglones se normalizan al dividirlos entre su elemento pivote. De esta forma, el paso de eliminación genera una matriz identidad en vez de una triangular (figura 9.9). En consecuencia, no es necesario usar la sustitución hacia atrás para obtener la solución. El método se ilustra mejor con un ejemplo. EJEMPLO 9.12 Método de Gauss-Jordan Planteamiento del problema. Con la técnica de Gauss-Jordan resuelva el sistema del ejemplo 9.5: 3x1 – 0.1x2 – 0.2x3 = 7.85 0.1x1 + 7x2 – 0.3x3 = –19.3 0.3x1 – 0.2x2 + 10x3 = 71.4 FIGURA 9.9 Representación gráfica del método de Gauss-Jordan. Compare con la figura 9.3 para observar la diferencia entre esta técnica y la de eliminación de Gauss. El superíndice (n) significa que los elementos del vector del lado derecho se han modificado n veces (en este caso n = 3). a a a a a a a a a c c c c c c x x x c c c n n n n n n 11 21 31 12 22 32 13 23 33 1 2 3 1 2 3 1 2 3 1 2 3 1 0 0 0 1 0 0 0 1 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ↓ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ↓ = = = ( ) ( ) ( ) ( ) ( ) ( ) 9.7 GAUSS-JORDAN 277
  • 302. 278 ELIMINACIÓN DE GAUSS Solución. Primero, exprese los coeficientes y el lado derecho como una matriz au- mentada: 3 0 1 0 2 7 85 0 1 7 0 3 19 3 0 3 0 2 10 71 4 – . – . . . – . – . . – . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ Luego normalice el primer renglón, dividiéndolo entre el elemento pivote, 3, para obtener 1 0 0333333 0 066667 2 61667 0 1 7 0 3 19 3 0 3 0 2 10 71 4 – . – . . . – . – . . – . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ El término x1 se elimina del segundo renglón restando 0.1 veces al primer renglón del segundo. En forma similar, restando 0.3 veces el primer renglón del tercero, se elimina- rá el término x1 del tercer renglón: 1 0 0333333 0 066667 2 61667 0 7 00333 0 293333 19 5617 0 0 190000 10 0200 70 6150 – . – . . . – . – . – . . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ En seguida, se normaliza el segundo renglón dividiéndolo entre 7.00333: 1 0 0333333 0 066667 2 61667 0 1 0 0418848 2 79320 0 0 190000 10 0200 70 6150 – . – . . – . – . – . . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ Al reducir los términos x2 de las ecuaciones primera y tercera se obtiene 1 0 0 0680629 2 52356 0 1 0 0418848 2 79320 0 0 10 01200 70 0843 – . . – . – . . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ El tercer renglón se normaliza después al dividirlo entre 10.0120: 1 0 0 0680629 2 52356 0 1 0 0418848 2 79320 0 0 1 7 00003 – . . – . – . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ Por último, los términos x3 se pueden eliminar de la primera y segunda ecuación para obtener 1 0 0 3 00000 0 1 0 2 50001 0 0 1 7 00003 . – . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ De esta forma, como se muestra en la figura 9.9, la matriz de coeficientes se ha trans- formado en la matriz identidad, y la solución se obtiene en el vector del lado derecho. Observe que no se requiere la sustitución hacia atrás para llegar a la solución.
  • 303. Aunque la técnica de Gauss-Jordan y la eliminación de Gauss podrían parecer casi idénticas, la primera requiere más trabajo. Con el empleo de un enfoque similar al de la sección 9.2.1, se determina que el número de flops que se involucra en la técnica de Gauss-Jordan simple es n n n n O n n 3 2 3 2 + − ⎯ → ⎯⎯⎯⎯⎯ + conforme aumenta ( ) (9.37) Así, la técnica de Gauss-Jordan involucra aproximadamente 50 por ciento más opera- ciones que la eliminación de Gauss [compárese con la ecuación (9.23)]. Por tanto, la eliminación de Gauss es el método de eliminación sencilla que se prefiere para obtener las soluciones de ecuaciones algebraicas lineales. Sin embargo, una de las razones prin- cipales por las que se ha introducido la técnica de Gauss-Jordan, es que aún se utiliza tanto en la ingeniería como en ciertos algoritmos numéricos. 9.8 RESUMEN En resumen, se ha dedicado la mayor parte de este capítulo a la eliminación de Gauss: el método fundamental para resolver ecuaciones algebraicas lineales simultáneas. Aun- que es una de las técnicas más antiguas concebidas para este propósito, sin embargo, es un algoritmo efectivo en extremo para obtener las soluciones de muchos problemas en ingeniería. Además de esta utilidad práctica, este capítulo proporciona un contexto para el análisis de puntos generales, como el redondeo, el escalamiento y el condicionamien- to. Se presentó también, en forma breve, material sobre el método de Gauss-Jordan, así como sobre sistemas complejos y no lineales. Los resultados obtenidos al usar la eliminación de Gauss se pueden verificar al sustituirlos en las ecuaciones originales. No obstante, realizarlo no siempre representa una prueba confiable para sistemas mal condicionados. Por ello debe efectuarse alguna medida de la condición, como el determinante de un sistema escalado, si se tiene idea de que haya un error de redondeo. Dos opciones para disminuir el error de redondeo son el pivoteo parcial y el uso de un mayor número de cifras significativas en los cálculos. En el siguiente capítulo se regresará al tema de la condición del sistema cuando se ana- lice la matriz inversa. PROBLEMAS 9.1 a) Escriba en forma matricial el conjunto siguiente de ecua- ciones: 50 = 5x3 + 2x2 10 – x1 = x3 3x2 + 8x1 = 20 b) Escriba la transpuesta de la matriz de coeficientes. 9.2 Ciertas matrice están definidas como sigue [ ] [ ] A B = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 4 7 1 2 5 6 4 3 7 1 2 7 1 0 4 [ ] [ ] C D = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = − − ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 3 6 1 9 4 3 6 2 1 7 5 PROBLEMAS 279
  • 304. 280 ELIMINACIÓN DE GAUSS [ ] E = 1 5 8 8 7 2 3 4 0 6 3 0 1 1 7 3 7 6 4 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ = ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ ⎣ ⎦ = ⎢ ⎣ [ ] F G ⎥ ⎥ ⎦ En relación con estas matrices responda las preguntas siguientes: a) ¿Cuáles son las dimensiones de las matrices? b) Identifique las matrices cuadrada, columna y renglón. c) ¿Cuáles son los valores de los elementos a12, b23, d32, e22, f12 y g12? d) Ejecute las operaciones siguientes: 1) [E] + [B] 7) [B] × [A] 2) [A] + [F] 8) [D]T 3) [B] – [E] 9) [A] × {C} 4) 7 × [B] 10) [I] × [B] 5) [E] × [B] 11) [E]T [E] 6) {C}T 12) {C}T {C} 9.3 Se definen tres matrices como sigue [ ] [ ] . [ ] A B C = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ = ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ = − 1 6 3 10 7 4 1 3 0 5 2 2 2 2 3 1 − ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ a) Ejecute todas las multiplicaciones que sea posible calcular entre parejas de las matrices. b) Utilice el método del recuadro PT3.2 para justificar por qué no se puede multiplicar a las demás parejas. c) Emplee los resultado del inciso a) para ilustrar por qué es importante el orden de la multiplicación. 9.4 Use el método gráfico para resolver el sistema siguiente 4x1 – 8x2 = –24 x1 + 6x2 = 34 Compruebe el resultado por medio de sustituirlo en las ecuaciones. 9.5 Dado el sistema de ecuaciones siguiente –1.1x1 + 10x2 = 120 –2x1 + 17.4x2 = 174 a) Resuélvalo gráficamente y compruebe el resultado con la sustitución en las ecuaciones. b) Sobre la base de la solución gráfica, ¿qué se espera con respecto de la condición del sistema? c) Calcule el determinante. d) Resuelva por medio de la eliminación de incógnitas. 9.6 Para el sistema de ecuaciones que sigue 2x2 + 5x3 = 9 2x1 + x2 + x3 = 9 3x1 + x2 = 10 a) Calcule el determinante. b) Use la regla de Cramer para encontrar cuál es el valor de las x. c) Sustituya el resultado en las ecuaciones originales para efectos de comprobación. 9.7 Dadas las ecuaciones 0.5x1 – x2 = –9.5 1.02x1 – 2x2 = –18.8 a) Resuelva en forma gráfica. b) Calcule el determinante. c) Con base en los incisos a) y b), ¿qué es de esperarse con respecto de la condición del sistema? d) Resuelva por medio de la eliminación de incógnitas. e) Resuelva otra vez, pero modifique ligeramente el elemento a11 a 0.52. Interprete sus resultados. 9.8 Dadas las ecuaciones siguientes 10x1 + 2x2 – x3 = 27 –3x1 – 6x2 + 2x3 = –61.5 x1 + x2 + 5x3 = –21.5 a) Resuelva por eliminación de Gauss simple. Efectúe todos los pasos del cálculo. b) Sustituya los resultados en las ecuaciones originales a fin de comprobar sus respuestas. 9.9 Use la eliminación de Gauss para resolver el sistema que sigue: 8x1 + 2x2 – 2x3 = –2 10x1 + 2x2 + 4x3 = 4 12x1 + 2x2 + 2x3 = 6 Emplee pivoteo parcial y compruebe las respuestas sustituyén- dolas en las ecuaciones originales. 9.10 Dado el sistema siguiente de ecuaciones –3x2 + 7x3 = 2 x1 + 2x2 – x3 = 3 5x1 – 2x2 = 2 a) Calcule el determinante. b) Use la regla de Cramer para encontrar cuáles son los valores de las x. c) Emplee la eliminación de Gauss con pivoteo parcial para obtener cuáles serían los valores de las x.
  • 305. d) Sustituya sus resultados en las ecuaciones originales para efectos de comprobación. 9.11 Dadas las ecuaciones 2x1 – 6x2 – x3 = –38 –3x1 – x2 + 7x3 = –34 –8x1 + x2 – 2x3 = –20 a) Resuelva por eliminación de Gauss con pivoteo parcial. Efectúe todos los pasos del cálculo. b) Sustituya los resultados en las ecuaciones originales para comprobar sus respuestas. 9.12 Emplee la eliminación de Gauss-Jordan para resolver el sistema siguiente: 2x1 + x2 – x3 = 1 5x1 + 2x2 + 2x3 = –4 3x1 + x2 + x3 = 5 No utilice pivoteo. Compruebe sus respuestas con la sustitución en las ecuaciones originales. 9.13 Resuelva el sistema: x1 + x2 – x3 = –3 6x1 + 2x2 + 2x3 = 2 –3x1 + 4x2 + x3 = 1 por medio de a) eliminación de Gauss simple, b) eliminación de Gauss con pivoteo parcial, y c) método de Gauss-Jordan sin pi- voteo parcial. 9.14 Lleve a cabo el mismo cálculo que en el ejemplo 9.11, pero use cinco paracaidistas con las características siguientes: Coeficiente Paracaidista Masa, kg de arrastre, kg/s 1 55 10 2 75 12 3 60 15 4 75 16 5 90 10 Los paracaidistas tienen una velocidad de 9 m/s. 9.15 Resuelva el sistema 3 2 4 1 2 3 1 2 + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ ⎧ ⎨ ⎩ ⎫ ⎬ ⎭ = + ⎧ ⎨ ⎩ ⎫ ⎬ ⎭ i i z z i – 9.16 Desarrolle, depure y pruebe un programa en cualquier lenguaje de alto nivel o de macros de su predilección, para mul- tiplicar dos matrices; es decir, [X] = [Y] [Z], donde [Y] es de orden m por n y [Z] es de n por p. Pruebe el programa con el empleo de las matrices del problema 9.3. 9.17 Desarrolle, depure y pruebe un programa en cualquier lenguaje de alto nivel o de macros que prefiera, para generar la transpuesta de una matriz. Pruébelo con las matrices del proble- ma 9.3. 9.18 Desarrolle, depure y pruebe un programa en el lenguaje de alto nivel o de macros que prefiera, para resolver un sistema de ecuaciones por medio de la eliminación de Gauss con pivoteo parcial. Base su programa en el seudocódigo de la figura 9.6. Pruébelo con el uso del sistema siguiente (cuya respuesta es x1 = x2 = x3 = 1), x x x x x x x x x 1 2 3 1 2 3 1 2 3 2 2 5 2 2 9 3 5 1 + = + + = + − = – – PROBLEMAS 281
  • 306. CAPÍTULO 10 Descomposición LU e inversión de matrices En este capítulo se estudiará una clase de métodos de eliminación llamada técnicas de descomposición LU. El principal recurso de la descomposición LU es que el paso de la eliminación que toma mucho tiempo se puede formular de tal manera que involucre sólo operaciones con la matriz de coeficientes [A]. Por esto, es muy adecuado para aquellas situaciones donde se deben evaluar muchos vectores {B} del lado derecho para un solo valor de [A]. Aunque hay muchas formas de hacer esto, el análisis se enfocará en mostrar cómo el método de eliminación de Gauss se implementa como una descomposición LU. Un motivo para introducir la descomposición LU es que proporciona un medio eficiente para calcular la matriz inversa. La inversa tiene muchas aplicaciones valiosas en la práctica de la ingeniería. Ésta ofrece también un medio para evaluar la condición de un sistema. 10.1 DESCOMPOSICIÓN LU Como se describió en el capítulo anterior, la eliminación de Gauss sirve para resolver sistemas de ecuaciones algebraicas lineales, [A]{X} = {B} (10.1) Aunque la eliminación Gauss representa una forma satisfactoria para resolver tales sistemas, resulta ineficiente cuando deben resolverse ecuaciones con los mismos coefi- cientes [A], pero con diferentes constantes del lado derecho (las b). Recuerde que la eliminación de Gauss implica dos pasos: eliminación hacia adelan- te y sustitución hacia atrás (figura 9.3). De ambas, el paso de eliminación hacia adelan- te es el que representa la mayor parte del trabajo computacional (recuerde la tabla 9.1). Esto es particularmente cierto para grandes sistemas de ecuaciones. Los métodos de descomposición LU separan el tiempo usado en las eliminaciones para la matriz [A] de las manipulaciones en el lado derecho {B}. Una vez que [A] se ha “descompuesto”, los múltiples vectores del lado derecho {B} se pueden evaluar de ma- nera eficiente. El hecho de que la misma eliminación de Gauss se puede expresar como una des- composición LU es muy interesante. Antes de mostrar cómo se puede realizar esto, demos primero una demostración matemática de la estrategia de descomposición. 10.1.1 Revisión de la descomposición LU De manera similar al caso de la eliminación de Gauss, la descomposición LU requiere de pivoteo para evitar la división entre cero. Sin embargo, para simplificar la siguiente
  • 307. descripción, abordaremos el tema del pivoteo después de que el planteamiento funda- mental se haya elaborado. Además, la siguiente explicación se limita a un conjunto de tres ecuaciones simultáneas. Los resultados se pueden extender en forma directa a sis- temas n dimensionales. La ecuación (10.1) se reordena como [A] {X} – {B} = 0 (10.2) Suponga que la ecuación (10.2) puede expresarse como un sistema triangular superior: u u u u u u x x x d d d 11 12 13 22 23 33 1 2 3 1 2 3 0 0 0 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ (10.3) Observe que esto es similar a la manipulación que ocurre en el primer paso de la elimi- nación de Gauss. Es decir, se utiliza la eliminación para reducir el sistema a una forma triangular superior. La ecuación (10.3) también se expresa en notación matricial y se reordena como [U]{X} – {D} = 0 (10.4) Ahora, suponga que existe una matriz diagonal inferior con números 1 en la diago- nal, [ ] L l l l = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 0 1 0 1 21 31 32 (10.5) que tiene la propiedad de que cuando se premultiplica por la ecuación (10.4), el resulta- do es la ecuación (10.2). Es decir, [L]{[U]{X} – {D}} = [A]{X} – {B} (10.6) Si esta ecuación se satisface, según las reglas de multiplicación entre matrices, se obten- drá [L][U] = [A] (10.7) y [L]{D} = {B} (10.8) Una estrategia de dos pasos (véase figura 10.1) para obtener soluciones se basa en las ecuaciones (10.4), (10.7) y (10.8): 1. Paso de descomposición LU. [A] se factoriza o “descompone” en las matrices trian- gulares inferior [L] y superior [U]. 2. Paso de la sustitución. [L] y [U] se usan para determinar una solución {X} para un lado derecho {B}. Este paso, a su vez, se divide en dos. Primero, la ecuación (10.8) se usa para generar un vector intermedio {D} mediante sustitución hacia adelante. Después, el resultado se sustituye en la ecuación (10.4), la que se resuelve por sus- titución hacia atrás para {X}. 10.1 DESCOMPOSICIÓN LU 283
  • 308. 284 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES Ahora se mostrará cómo se puede llevar a cabo la eliminación de Gauss en esta forma. 10.1.2 Versión de la eliminación de Gauss usando la descomposición LU Aunque a primera vista podría parecer que la eliminación de Gauss no está relacionada con la eliminación LU, aquélla puede usarse para descomponer [A] en [L] y [U], lo cual se observa fácilmente para [U], que es el resultado directo de la eliminación hacia ade- lante. Recuerde que en el paso correspondiente a esta eliminación se pretende reducir la matriz de coeficientes [A] a la forma [ ] U a a a a a a = ′ ′ ′′ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 11 12 13 22 23 33 0 0 0 (10.9) que es el formato triangular superior deseado. Aunque quizá no sea muy clara, la matriz [L] se produce durante este paso. Lo anterior se ilustra fácilmente con un sistema de tres ecuaciones, a a a a a a a a a x x x b b b 11 12 13 21 22 23 31 32 33 1 2 3 1 2 3 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ El primer paso en la eliminación de Gauss consiste en multiplicar el renglón 1 por el factor [recuerde la ecuación (9.13)] f a a 21 21 11 = A X X X B B D D D U L L U ⫽ ⫽ Sustitución ⫽ b) Hacia adelante c) Hacia atrás a) Decomposición FIGURA 10.1 Pasos en la descomposición LU.
  • 309. y restar el resultado al segundo renglón para eliminar a2l. De forma similar, el renglón 1 se multiplica por f a a 31 31 11 = y el resultado se resta al tercer renglón para eliminar a31. El paso final es multiplicar el segundo renglón modificado por f a a 32 32 22 = ′ ′ y restar el resultado al tercer renglón para eliminar a′ 32. Ahora suponga que realizamos todas esas operaciones sólo en la matriz [A]. Resul- ta claro que si no se quiere modificar la ecuación, se tiene que hacer lo mismo con el lado derecho {B}. Pero no existe ninguna razón para realizar las operaciones en forma simultánea. Se podrían conservar las f y después manipular {B}. ¿Dónde se guardan los factores f21, f31 y f32? Recuerde que la idea principal de la eliminación fue crear ceros en a21, a31 y a32. Entonces, se puede guardar f21 en a21, f31 en a31, y f32 en a32. Después de la eliminación la matriz [A], por lo tanto, se describe como a a a f a a f f a 11 12 13 21 22 23 31 32 33 ′ ′ ′′ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ (10.10) De hecho, esta matriz representa un almacenamiento eficiente de la descomposición LU de [A]. [A] → [L][U] (10.11) donde [ ] U a a a a a a = ′ ′ ′′ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 11 12 13 22 23 33 0 0 0 y [ ] L f f f = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 0 1 0 1 21 31 32 El siguiente ejemplo confirma que [A] = [L][U]. EJEMPLO 10.1 Descomposición LU con eliminación de Gauss Planteamiento del problema. Obtenga una descomposición LU basándose en la eliminación de Gauss que se realizó en el ejemplo 9.5. 10.1 DESCOMPOSICIÓN LU 285
  • 310. 286 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES Solución. En el ejemplo 9.5, se resolvió la matriz [ ] . . . . . . A = − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 3 0 1 0 2 0 1 7 0 3 0 3 0 2 10 Después de la eliminación hacia adelante, se obtuvo la siguiente matriz triangular supe- rior: [ ] . . . . . U = − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 3 0 1 0 2 0 7 00333 0 293333 0 0 10 0120 Los factores empleados para obtener la matriz triangular superior se pueden colocar en una matriz triangular inferior. Los elementos a21 y a31 se eliminaron al usar los factores f f 21 31 0 1 3 0 03333333 0 3 3 0 1000000 = = = = . . . . y el elemento a′ 32 se elimina al usar el factor f32 0 19 7 00333 0 0271300 = − = − . . . Así, la matriz triangular inferior es [ ] . . . L = − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 0 0 0333333 1 0 0 100000 0 0271300 1 En consecuencia, la descomposición LU es [ ] [ ][ ] . . . . . . . . A L U = = − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 0 0 0333333 1 0 0 100000 0 0271300 1 3 0 1 0 2 0 7 00333 0 293333 0 0 10 0120 Este resultado se verifica al realizar la multiplicación de [L][U] que da [ ][ ] . . . . . . . L U = − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 3 0 1 0 2 0 0999999 7 0 3 0 3 0 2 9 99996 donde las pequeñas diferencias son debidas a errores de redondeo.
  • 311. El siguiente es el seudocódigo de una subrutina para realizar la fase de descompo- sición: SUB Decompose (a, n) DOFOR k = 1, n – 1 DOFOR i = k + 1, n factor = ai,K/ak,k ai,k = factor DOFOR j = k + 1, n ai,j = ai,j - factor * ak,j END DO END DO END DO END Decompose Observe que este algoritmo es “simple” en el sentido de que no se incluye el pivoteo. Esta característica se agregará más tarde cuando se desarrolle el algoritmo completo para la descomposición LU. Después de descomponer la matriz, se puede generar una solución para un vector particular {B}. Esto se lleva a cabo en dos pasos. Primero, se realiza un paso de sustitución hacia adelante al resolver la ecuación (10.8) para {D}. Es importante notar que esto sólo se refiere a la realización de las operaciones de la eliminación en {B}. De esta forma, al final del procedimiento, el lado derecho estará en el mismo estado que si se hubiesen realizado las operaciones hacia adelante sobre [A] y {B} en forma simultánea. El paso de la sustitución hacia adelante se representa en forma concisa como d d a b i i j i ij j = − = − ∑ 1 1 para i = 2, 3, …, n (10.12) En el segundo paso, entonces, tan sólo se realiza la sustitución hacia atrás, como en la ecuación (10.4). Otra vez, es importante reconocer que este paso es idéntico al de la fase de sustitución hacia atrás, en la eliminación de Gauss convencional. Así, de mane- ra similar a las ecuaciones (9.16) y (9.17), el paso de la sustitución hacia atrás se repre- senta en forma concisa como xn = dn/ann (10.13) x d a x a i i j i n ij j ii = − = + ∑1 para i = n – 1, n – 2, …, 1 (10.14) EJEMPLO 10.2 Pasos en la sustitución Planteamiento del problema. Termine el problema que se inició en el ejemplo 10.1 para generar la solución final con eliminación hacia adelante y sustitución hacia atrás. 10.1 DESCOMPOSICIÓN LU 287
  • 312. 288 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES Solución. Como se estableció antes, la intención de la sustitución hacia adelante es aplicar las operaciones de eliminación al vector {B}, previamente aplicadas a [A]. Re- cuerde que el sistema resuelto en el ejemplo 9.5 fue 3 0 1 0 2 0 1 7 0 3 0 3 0 2 10 7 85 19 3 71 4 1 2 3 − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ . . . . . . . . . x x x y que la fase de eliminación hacia adelante del método de eliminación convencional de Gauss dio como resultado 3 0 1 0 2 0 7 00333 0 293333 0 0 10 0120 7 85 19 5617 70 0843 1 2 3 − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ . . . . . . . . x x x (E10.2.1) La fase de la sustitución hacia adelante se realiza aplicando la ecuación (10.7) a nuestro problema, 1 0 0 0 0333333 1 0 0 100000 0 0271300 1 7 85 19 3 71 4 1 2 3 . . . . . . − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ d d d o realizando la multiplicación entre matrices del lado izquierdo e igualando, d1 = 7.85 0.0333333d1 + d2 = –19.3 0.1d1 – 0.02713d2 + d3 = 71.4 Se resuelve la primera ecuación para d1, d1 = 7.85 la cual se sustituye en la segunda ecuación y se resuelve para d2 d2 = –19.3 – 0.0333333(7.85) = –19.5617 Ambas, d1 y d2, se sustituyen en la tercera ecuación para d3 d3 = 71.4 – 0.1(7.85) + 0.02713(–19.5617) = 70.0843 Así, { } . . . D = − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 7 85 19 5617 70 0843 que es idéntica al lado derecho de la ecuación (E10.2.l).
  • 313. Este resultado se sustituye, entonces, en la ecuación (10.4), [U]{X} = {D}, para obtener 3 0 1 0 2 0 7 00333 0 293333 0 0 10 0120 7 85 19 5617 70 0843 1 2 3 − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ . . . . . . . . x x x que se resuelve por sustitución hacia atrás (véase ejemplo 9.5 para más detalles) para obtener la solución final, { } . . X = − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 3 2 5 7 00003 El siguiente es el seudocódigo de una subrutina para implementar ambas fases de sustitución: SUB Substitute (a, n, b, x) ‘sustitución hacia adelante DOFOR i = 2, n sum = bi DOFOR j = 1, i – 1 sum = sum – ai,j * bj END DO bi = sum END DO ‘sustitución hacia atrás xn = bn /an,n DOFOR i = n – 1, 1, –1 sum = 0 DOFOR j = i + 1, n sum = sum + ai,j * xj END DO xi = (bi – sum)/ai,i END D0 END Substitute El algoritmo de descomposición LU requiere los mismos FLOP de multiplicación/ división totales que la eliminación de Gauss. La única diferencia es que se aplica un menor trabajo en la fase de descomposición, debido a que las operaciones no se aplican al lado derecho. De esta forma, el número de FLOP de multiplicación/división en la fase de descomposición se calculan así: n n n O n n 3 3 3 3 3 − ⎯ → ⎯⎯⎯⎯ ⎯ + conforme aumenta ( ) (10.15) 10.1 DESCOMPOSICIÓN LU 289
  • 314. 290 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES SUB Ludecomp (a, b, n, tol, x, er) DIM on, sn er = 0 CALL Decompose(a, n, tol, o, s, er) IF er –1 THEN CALL Substitute(a, o, n, b, x) END IF END Ludecomp SUB Decompose (a, n, tol, o, s, er) DOFOR i = 1, n oi = i si = ABS(ai,1) DOFOR j = 2, n IF ABS(ai,j)si THEN si = ABS(ai,j) END DO END DO DOFOR k = 1, n – 1 CALL Pivot(a, o, s, n, k) IF ABS(a0(k),k /s0(k)) tol THEN er = –1 PRINT a0(k),k/s0(k) EXIT DO END IF D0FOR i = k + 1, n factor = a0(i),k /a0(k),k a0(i),k = factor DOFOR j = k + 1, n a0(i),j = a0(i),j – factor * a0(k),j END DO END DO END DO IF ABS(a0(k),k/s0(k)) tol THEN er = –1 PRINT a0(k),k/s0(k) END IF END Decompose SUB Pivot(a, o, s, n, k) p = k big = ABS(a0(k),k /s0(k)) DOFOR ii = k + 1, n dummy = ABS(a0(ii),k /s0(ii)) IF dummy big THEN big = dummy p = ii END IF END DO dummy = op op = ok ok = dummy END Pivot SUB Substitute (a, o, n, b, x) DOFOR i = 2, n sum = b0(i) DOFOR j = 1, i –1 sum = sum – a0(i),j * b0(j) END DO b0(i) = sum END DO xn = b0(n) /a0(n),n DOFOR i = n – 1, 1, –1 sum = 0 DOFOR j = i + 1, n sum + sum + a0(i),j * xj END DO xi = (bo(i) – sum)/ao(i),i END DO END Substitute Por lo contrario, la fase de sustitución requiere de un mayor trabajo. Así, el número de FLOP para la sustitución hacia adelante y hacia atrás es n2 . El trabajo total es, por lo tanto, idéntico al de la eliminación de Gauss n n n n O n n 3 3 3 3 2 3 2 − + ⎯ → ⎯⎯⎯⎯⎯ + conforme aumenta ( ) (10.16) 10.1.3 Algoritmo para la descomposición LU En la figura 10.2 se presenta un algoritmo que implementa la descomposición LU con eliminación de Gauss. Vale la pena mencionar cuatro características de este algoritmo: FIGURA 10.2 Seudocódigo para un algoritmo de descomposición LU.
  • 315. 10.1 DESCOMPOSICIÓN LU 291 • Los factores generados durante la fase de eliminación se guardan en la parte inferior de la matriz. Esto puede hacerse debido a que de cualquier manera éstos se convier- ten en ceros y no son necesarios en la solución final. Este almacenamiento ahorra espacio. • El algoritmo lleva cuenta del pivoteo al usar un vector de orden o. Esto acelera notablemente el algoritmo, ya que sólo se pivotea el vector (y no todo el renglón). • Las ecuaciones no están escaladas, pero se usan valores escalados de los elementos para determinar si se va a usar el pivoteo. • El término de la diagonal se verifica durante la fase de pivoteo para detectar ocu- rrencias cercanas a cero con el propósito de advertir al usuario respecto de sistemas singulares. Si baja de un valor er = –1, entonces se ha detectado una matriz singular y se debe terminar el cálculo. El usuario le da a un parámetro tol un valor pequeño, para detectar ocurrencias cercanas a cero. 10.1.4 Descomposición Crout Observe que en la descomposición LU con la eliminación de Gauss, la matriz [L] tiene números 1 en la diagonal. Formalmente, a esto se le denomina descomposición o facto- rización de Doolittle. Un método alternativo usa una matriz [U] con números 1 sobre la diagonal. Esto se conoce como descomposición Crout. Aunque hay algunas diferencias entre estos métodos, su funcionamiento es comparable (Atkinson, 1978; Ralston y Ra- binowitz, 1978). El método de descomposición de Crout genera [U] y [L] barriendo las columnas y los renglones de la matriz, como se ilustra en la figura 10.3. La descomposición de Crout se puede implementar mediante la siguiente serie concisa de fórmulas: li,1 = ai,1 para i = 1, 2, …, n (10.17) u1j = a l j 1 11 para j = 2, 3,…, n (10.18) Para j = 2, 3, …, n – 1 lij = aij – k j ik kj l u = − ∑ 1 1 para i = j, j + 1, …, n (10.19) ujk = = − ∑ a l u l jk i j ji ik jj 1 1 para k = j + 1, j + 2, …, n (10.20) y lnn = ann – k n nk kn l u = − ∑ 1 1 (10.21) Además de que consiste de pocos ciclos, el método anterior también tiene la ventaja de economizar espacio de almacenamiento. No hay necesidad de guardar los números 1 a) b) c) d) FIGURA 10.3 Un esquema que muestra las evaluaciones implicadas en la descomposición LU de Crout.
  • 316. 292 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES que están en la diagonal de [U] o los números cero de [L] o [U], ya que se dan en el método. En consecuencia, los valores de [U] se pueden guardar en el espacio de los ceros de [L]. Además, mediante un cuidadoso examen de lo anterior, queda claro que después de que un elemento de [A] se emplea una vez, nunca vuelve a utilizarse. Por lo tanto, conforme se va calculando cada elemento de [L] y [U], se puede sustituir por el elemento correspondiente de [A] (como se designó por sus subíndices). El seudocódigo para realizar esto se presenta en la figura 10.4. Observe que la ecuación (10.17) no está incluida en el seudocódigo, porque la primera columna de [L] ya se guardó en [A]. De otra forma, el algoritmo sigue, en forma directa, de las ecuacio- nes (10.18) a la (10.2l). 10.2 LA MATRIZ INVERSA En el estudio de las operaciones con matrices (sección PT3.2.2), vimos que si una matriz [A] es cuadrada, existe otra matriz [A]–1 , conocida como la inversa de [A], para la cual [ecuación (PT3.3)] [A][A]–1 = [A]–1 [A] = [I] Ahora se enfocará el análisis hacia el modo en que la matriz inversa se calcula numéri- camente. Después se explorará cómo se utiliza para el diseño en ingeniería. DOFOR j = 2, n a1,j = a1,j/a1,1 END DO DOFOR j = 2, n – 1 DOFOR i = j, n sum = 0 DOFOR k = 1, j – 1 sum = sum + ai,k · ak,j END DO ai,j = ai,j – sum END DO DOFOR k = j + 1, n sum = 0 DOFOR i = 1, j – 1 sum = sum + aj,i · ai,k END DO aj,k = (aj,k – sum)/aj,j END DO END DO sum = 0 DOFOR k = 1, n – 1 sum = sum + an,k · ak,n END DO an,n = an,n – sum FIGURA 10.4 Seudocódigo para el algoritmo de la descomposición LU de Crout.
  • 317. 10.2.1 Cálculo de la inversa La inversa se puede calcular en forma de columna por columna, generando soluciones con vectores unitarios como las constantes del lado derecho. Por ejemplo, si la constan- te del lado derecho de la ecuación tienen un número 1 en la primera posición, y ceros en las otras, { } b = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 1 0 0 la solución resultante será la primera columna de la matriz inversa. En forma similar, si se emplea un vector unitario que tiene un número 1 en el segundo renglón { } b = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 0 1 0 el resultado será la segunda columna de la matriz inversa. La mejor forma de realizar un cálculo como éste es con el algoritmo de descompo- sición LU, descrito al inicio de este capítulo. Recuerde que una de las ventajas más im- portantes de la descomposición LU es que proporciona un medio eficiente para evaluar diversos vectores del lado derecho. Por lo tanto, resulta ideal para evaluar los vectores unitarios requeridos en el cálculo de la inversa. EJEMPLO 10.3 Inversión de matrices Planteamiento del problema. Emplee la descomposición LU para determinar la matriz inversa del sistema del ejemplo 10.2. [ ] . . . . . . A = − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 3 0 1 0 2 0 1 7 0 3 0 3 0 2 10 Recuerde que la descomposición dio como resultado las siguientes matrices triangulares inferior y superior: [ ] . . . . . [ ] . . . U L = − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ = − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 3 0 1 0 2 0 7 00333 0 293333 0 0 10 0120 1 0 0 0 0333333 1 0 0 100000 0 0271300 1 Solución. La primera columna de la matriz inversa puede determinarse al efectuar el procedimiento de solución por sustitución hacia adelante, con un vector unitario (con 10.2 LA MATRIZ INVERSA 293
  • 318. 294 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES el número 1 en el primer renglón) como el vector del lado derecho. Así, de la ecuación (10.8), el sistema diagonal inferior es 1 0 0 0 0333333 1 0 0 100000 0 0271300 1 1 0 0 1 2 3 . . . − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ d d d de donde, por sustitución hacia adelante se obtiene {D}T = [1 –0.03333 –0.1009]. Este vector se utiliza como el lado derecho de la ecuación (10.3), 3 0 1 0 2 0 7 00333 0 293333 0 0 10 0120 1 0 03333 0 1009 1 2 3 − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = − − ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ . . . . . . . x x x de donde, por sustitución hacia atrás, se obtiene {X}T = [0.33249 –0.00518 –0.01008], que es la primera columna de la matriz, [ ] . . . A − = − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 33249 0 0 0 00518 0 0 0 01008 0 0 Para determinar la segunda columna, la ecuación (10.8) se formula como 1 0 0 0 0333333 1 0 0 100000 0 0271300 1 0 1 0 1 2 3 . . . − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ d d d De donde se puede obtener {D}, y los resultados se usan con la ecuación (10.3) para de- terminar {X}T = [0.0049440.1429030.00271], que es la segunda columna de la matriz, [ ] . . . . . . A − = − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 33249 0 004944 0 0 00518 0 142903 0 0 01008 0 00271 0 Por último, los procedimientos de sustitución hacia adelante y de sustitución hacia atrás pueden usarse con {B}T = ⎣0 0 1⎦, para obtener {X}T = [0.006798 0.004183 0.09988], que es la columna final de la matriz, [ ] . . . . . . . . . A − = − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 0 33249 0 004944 0 006798 0 00518 0 142903 0 004183 0 01008 0 00271 0 09988 La validez de este resultado se comprueba al verificar que [A][A]–1 = [I].
  • 319. El seudocódigo para generar la matriz inversa se muestra en la figura 10.5. Observe cómo se llama a la subrutina de descomposición de la figura 10.2, para realizar la des- composición, y después se genera la inversa llamando repetidamente el algoritmo de sustitución con vectores unitarios. El trabajo requerido para este algoritmo se calcula fácilmente como n n n n n n n 3 2 3 3 3 4 3 3 − + = − + × ( ) descomposición sustituciones (10.22) donde, de acuerdo con la sección 10.1.2 la descomposición está definida por la ecuación (10.15) y el trabajo necesario en cada evaluación del lado derecho requiere n2 FLOP de multiplicación/división. 10.2.2 Cálculos estímulo-respuesta Como se vio en la sección PT3.1.2, muchos de los sistemas de ecuaciones lineales usados en la práctica de la ingeniería se obtienen de las leyes de la conservación. La expresión matemática de dichas leyes es algún tipo de ecuación de balance que asegura que una propiedad específica se conserve (masa, fuerza, calor, momentum u otra). En un balan- ce de fuerzas de una estructura, las propiedades pueden ser los componentes horizontal o vertical de las fuerzas que actúan sobre cada nodo de la estructura (véase la sección 12.2). En un balance de masa, las propiedades pueden ser la masa en cada reactor de un proceso químico (véase la sección 12.1). Se tendrán ejemplos similares en otros campos de la ingeniería. 10.2 LA MATRIZ INVERSA 295 CALL Decompose (a, n, tol, o, s, er) IF er = 0 THEN DOFOR i = 1, n DOFOR j = 1, n IF i = j THEN b(j) = 1 ELSE b(j) = 0 END IF END DO Call Substitute (a, o, n, b, x) DOFOR j = 1, n ai(j, i) = x(j) END DO END DO salida ai, si lo desea ELSE PRINT “sistema mal condicionado” END IF FIGURA 10.5 Programa principal que usa algunos de los subprogramas de la figura 10.2 para generar una matriz inversa.
  • 320. 296 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES Al tenerse una ecuación de balance para cada parte del sistema, da como resultado un conjunto de ecuaciones que definen el comportamiento de las propiedades en todo el sistema. Estas ecuaciones se interrelacionan, ya que cada ecuación puede tener una o más de las variables de las otras ecuaciones. En muchos casos, estos sistemas son linea- les y, por lo tanto, de la forma que se trata en este capítulo: [A]{X} = {B} (10.23) Ahora bien, para las ecuaciones de balance, los términos de la ecuación (10.23) tienen una interpretación física definida. Por ejemplo, los elementos de {X} son los va- lores de la propiedad que se balanceará en cada parte del sistema. En el balance de fuerzas de una estructura, representan las fuerzas vertical y horizontal en cada miembro. En el balance de masa, los elementos de {X} son las masas de sustancias químicas en cada reactor. En cualquier caso, representan la respuesta o estado del sistema, que se está tratando de determinar. El vector del lado derecho {B} contiene los elementos del balance que son indepen- dientes del comportamiento del sistema (es decir, son constantes). Como tales, repre- sentan las fuerzas externas o los estímulos que rigen al sistema. Finalmente, la matriz de coeficientes [A] contiene los parámetros que expresan cómo interactúan las partes del sistema. En consecuencia, la ecuación (10.23) se puede expre- sar como: [interacciones]{respuesta} = {estímulos} Así, la ecuación (10.23) puede verse como una expresión del modelo matemático funda- mental que se formuló anteriormente como una sola ecuación en el capítulo 1 [recuerde la ecuación (1.1)]. Ahora se percibe que la ecuación (10.23) representa una versión para sistemas interrelacionados con diversas variables dependientes {X}. Como ya hemos visto en este capítulo y en el anterior, existen varias formas de resolver la ecuación (10.23). Sin embargo, usando la matriz inversa se obtiene un resul- tado particularmente interesante. La solución formal se expresa como {X} = [A]–1 {B} o (recordando la definición de la multiplicación matricial del cuadro PT3.2) x1 = a–1 11 b1 + a–1 12 b2 + a–1 13 b3 x2 = a–1 21 b1 + a–1 22 b2 + a–1 23 b3 x3 = a–1 31 b1 + a–1 32 b2 + a–1 33 b3 De esta forma, se ha encontrado que la misma matriz inversa, además de ofrecer una solución, tiene propiedades extremadamente útiles. Es decir, cada uno de sus elementos representa la respuesta de una sola parte del sistema a un estímulo unitario de cualquier otra parte de dicho sistema. Observe que estas formulaciones son lineales y, por lo tanto, se satisfacen la super- posición y la proporcionalidad. La superposición significa que si un sistema está sujeto a varios estímulos (las b), las respuestas se pueden calcular individualmente y los resul- tados se suman para obtener la respuesta total. La proporcionalidad significa que al multiplicar los estímulos por una cantidad el resultado es la respuesta a esos estímu- los multiplicada por la misma cantidad. Así, el coeficiente a11 –1 es una constante de pro-
  • 321. porcionalidad que da el valor de x1 correspondiente a una cantidad unitaria b1. Este resultado es independiente de los efectos de b2 y b3 sobre x1, los cuales se reflejan en los coeficientes a12 –1 y a13 –1 , respectivamente. Por lo tanto, se llega a la conclusión general de que el elemento aij –1 de la matriz inversa representa el valor de xi debido a la cantidad uni- taria bj. Usando el ejemplo de la estructura, el elemento aij –1 de la matriz inversa represen- taría la fuerza en el miembro i debida a una fuerza unitaria externa en el nodo j. Incluso para sistemas pequeños, dicho comportamiento de interacciones estímulo-respuesta indi- viduales podría no ser intuitivamente obvio. Como tal, la matriz inversa ofrece una pode- rosa técnica para comprender las interrelaciones entre las partes componentes de sistemas complicados. Este poder se demostrará en las secciones 12.1 y 12.2. 10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA Además de sus aplicaciones a la ingeniería, la inversa también proporciona un medio para determinar si los sistemas están mal condicionados. Están disponibles tres métodos para este propósito: 1. Escalar la matriz de coeficientes [A], de manera que el elemento más grande en cada renglón sea 1. Se invierte la matriz escalada, y si existen elementos de [A]–1 que sean varios órdenes de magnitud mayores que uno, es posible que el sistema esté mal condicionado (véase el cuadro 10.1). 2. Multiplicar la inversa por la matriz de coeficientes original y estimar si el resultado es lo suficientemente cercano a la matriz identidad. Si no es así, esto indica que el sistema está mal condicionado. Cuadro 10.1 Interpretación de los elementos de la matriz inversa como una medida de mal condicionamiento Un método para determinar la condición de un sistema consiste en escalar [A] de tal forma que el elemento mayor en cada renglón sea 1 y después calcular [A]–1 . Si los elementos de [A]–1 son varios órdenes de magnitud mayores que los elementos de la matriz escalada original, es probable que el sistema esté mal condicionado. Se puede obtener cierto conocimiento con este método al recordar que una forma de verificar si una solución aproximada {X} es aceptable, es sustituyéndola en las ecuaciones originales y observar si resultan las constantes originales del lado derecho. Esto equivale a {R} = {B} – [A]{X ~ } (C10.1.1) donde {R} es el residuo entre las constantes del lado derecho y los valores calculados con la solución {X ~ }. Si {R} es pequeño, se concluye que los valores de {X ~ } son adecuados. Suponiendo que {X} es la solución exacta que da un residuo cero, entonces {0} = {B} – [A]{X} (C10.1.2) 10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 297 Restando la ecuación (C10.1.2) de (C10.1.1) resulta {R} = [A]{{X} – {X ~ }} Multiplicando ambos lados de esta ecuación por [A]–1 se obtiene {X} – {X ~ } = [A]–1 {R} Este resultado indica por qué la verificación de una solución por sustitución puede ser engañosa. Para casos donde los elementos de [A]–1 son grandes, una pequeña discrepancia en el residuo {R} del lado derecho, puede corresponder a un gran error {X} – {X ~ } en el valor calculado de las incógnitas. En otras palabras, un residuo pequeño no garantiza una solución exacta. Aunque, puede concluirse que si el elemento mayor de [A]–1 es de un orden de magnitud unitaria, se puede considerar que el sistema está bien condicionado. De modo contrario, si [A]–1 contiene elementos mucho más grandes que la unidad se concluye que el sistema está mal condicionado.
  • 322. 298 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES 3. Invertir la matriz inversa y estimar si el resultado está lo suficientemente cercano a la matriz de coeficientes original. Si no es así, esto de nueva cuenta indica que el sistema está mal condicionado. Aunque estos métodos llegan a indicar un mal condicionamiento, sería preferible obtener un solo número (al igual que el número de condición de la sección 4.2.3) que sirviera como un indicador del problema. Los intentos que se han hecho para formular tal número de condición matricial están basados en el concepto matemático de la norma. 10.3.1 Normas vectoriales y matriciales Una norma es una función que toma valores reales y que proporciona una medida del tamaño o “longitud” de entidades matemáticas multicomponentes, como los vectores y las matrices (véase cuadro 10.2). Un ejemplo simple es un vector en el espacio euclidiano tridimensional (figura 10.6) que se representa como [F] = [a b c] donde a, b y c son las distancias a lo largo de los ejes x, y y z, respectivamente. La lon- gitud de este vector [esto es, la distancia de la coordenada (0, 0, 0) a (a, b, c)] se calcula simplemente como F a b c e = + + 2 2 2 donde la nomenclatura⏐ ⏐F⏐ ⏐e indica que a esta longitud se refiere a la norma euclidiana de [F]. En forma similar, para un vector n dimensional ⎣X⎦ = ⎣x1 x2 … xn⎦, una norma eucli- diana se calcularía como X x e i n i = = ∑ 1 2 FIGURA 10.6 Representación gráfica de un vector ⎣F⎦ = [a b c] en el espacio euclidiano. y x a 2 ⫹ b 2 ⫹ c 2 b 储F 储 = z c a
  • 323. Cuadro 10.2 Normas matriciales 10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 299 Como se vio en esta sección, las normas euclidianas se emplean para cuantificar el tamaño de un vector, X x e i n i = = ∑ 1 2 o de una matriz, A a e j n i n i j = = = ∑ ∑ 1 1 2 , Para vectores, existen alternativas llamadas normas p que se representan generalmente por X x p i n i p p = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = ∑ 1 1/ Puede observarse que la norma euclidiana y la norma 2,⏐ ⏐X⏐ ⏐2, son idénticas para vectores. Otros ejemplos importantes son X x i n i 1 1 = = ∑ que representa la norma como la suma de los valores absolutos de los elementos. Otra es la norma magnitud-máxima o norma vector-uniforme. X x i n i ∞ ≤ ≤ = máx 1 la cual define la norma como el elemento con el mayor valor absoluto. Utilizando un método similar, se pueden desarrollar normas para matrices. Por ejemplo, A a j n i n ij 1 1 1 = ≤ ≤ = ∑ máx Esto es, se realiza una sumatoria de los valores absolutos de los coeficientes para cada columna, y la mayor de estas sumatorias se toma como la norma. Esto se conoce como la norma columna- suma. Una determinación similar se puede hacer para los renglones, y resulta una matriz-uniforme o norma renglón-suma, A a i n j n ij ∞ ≤ ≤ = = ∑ máx 1 1 Debe observarse que, en contraste con los vectores, la norma 2 y la norma euclidiana para una matriz no son lo mismo. Mien- tras que la norma euclidiana⏐ ⏐A⏐ ⏐e puede ser fácilmente determi- nada mediante la ecuación (10.24), la norma 2 para matrices⏐ ⏐A ⏐ ⏐2 se calcula así: ⏐ ⏐A⏐ ⏐2 = (µmáx)1/2 donde µmáx es el mayor eigenvalor de [A]T [A]. En el capítulo 27 se verá más sobre eigenvalores. Mientras tanto, el punto impor- tante es que la norma⏐ ⏐A⏐ ⏐2, o norma espectral, es la norma mí- nima y, por lo tanto, proporciona la medida de tamaño más ajustada (Ortega, 1972). El concepto puede extenderse además a una matriz [A], de la siguiente manera A a e j n i n i j = = = ∑ ∑ 1 1 2 , (10.24) a la cual se le da un nombre especial (la norma de Frobenius). De la misma manera como las normas de vectores, proporciona un valor único para cuantificar el “tamaño” de [A]. Debe notarse que hay alternativas para las normas euclidiana y de Frobenius (véase cuadro 10.2). Por ejemplo, la norma vector uniforme se define como X x i n i ∞ ≤ ≤ = máx 1
  • 324. 300 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES Es decir, el elemento con el mayor valor absoluto se toma como la medida del tamaño del vector. En forma similar, una norma matricial uniforme o norma renglón-suma se define como A a i n j n ij ∞ ≤ ≤ = = ∑ máx 1 1 (10.25) En este caso, se calcula la suma del valor absoluto de los elementos por cada renglón, y la mayor de éstas se toma como la norma. Aunque hay ventajas teóricas para el uso de ciertas normas, la elección algunas veces está influenciada por consideraciones prácticas. Por ejemplo, la norma renglón- uniforme es ampliamente usada por la facilidad con que se calcula, y por el hecho de que usualmente proporciona una medida adecuada del tamaño de la matriz. 10.3.2 Número de condición de una matriz Ahora que se ha presentado el concepto de norma, se puede usar para definir Cond [A] =⏐ ⏐A⏐ ⏐·⏐ ⏐A–1 ⏐ ⏐ (10.26) donde Cond [A] se llama número de condición de una matriz. Observe que para una matriz [A], este número será mayor o igual a 1. Se puede mostrar (Ralston y Rabinowitz, 1978; Gerald y Wheatley, 1989) que ∆ ∆ X X A A A ≤ Cond [ ] Es decir, el error relativo de la norma de la solución calculada puede ser tan grande como el error relativo de la norma de los coeficientes de [A], multiplicada por el número de condición. Por ejemplo, si los coeficientes de [A] se encuentran a t dígitos de precisión (esto es, los errores de redondeo son del orden de 10–t ) y Cond [A] = 10c , la solución [X] puede ser válida sólo para t – c dígitos (errores de redondeo ~ 10c–t ). EJEMPLO 10.4 Evaluación de la condición de una matriz Planteamiento del problema. La matriz de Hilbert, que es notoriamente mal condi- cionada, se representa como 1 1 2 1 3 1 1 2 1 3 1 4 1 1 1 1 1 1 2 1 2 / / / / / / /( ) / /( ) /( ) /( ) n n n n n n + ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ + + ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
  • 325. Use la norma renglón-suma para estimar el número de condición de la matriz de Hilbert de 3 × 3, [ ] / / / / / / / / A = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 Solución. Primero, la matriz se normaliza de tal forma que el elemento máximo en cada renglón sea 1. [ ] / / / / / / A = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 1 1 2 1 3 1 2 3 1 2 1 3 4 3 5 Sumando cada uno de los renglones el resultado es 1.833, 2.1667 y 2.35. Entonces, el tercer renglón tiene la suma mayor y la norma renglón-suma es A ∞ = + + = 1 3 4 3 5 2 35 . La inversa de la matriz escalada se calcula como [ ]– A 1 9 18 10 36 96 60 30 90 60 = − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ Observe que los elementos de esta matriz son mayores que los de la matriz original. Esto también se refleja en su norma renglón-suma, la cual se calcula como ⏐ ⏐A⏐ ⏐∞ = –36 + 96 + –60 = 192 Entonces, el número de condición se calcula como Cond [A] = 2.35(192) = 451.2 El hecho de que el número de condición sea considerablemente mayor que la unidad sugiere que el sistema está mal condicionado. La importancia del mal condicionamiento puede ser cuantificado al calcular c = log 451.2 = 2.65. Las computadoras que usan una representación de punto flotante IEEE tienen aproximadamente t = log 2–24 = 7.2 dígitos significativos en base 10 (recuerde la sección 3.4.1). Por lo tanto, la solución puede tener errores de redondeo de hasta 10(2.65–7.2) = 3 × 10–5 . Observe que una estimación como ésta casi siempre sobrepredice el error verdadero. Sin embargo, son útiles para alertar al usuario en el caso de que los errores de redondeo puedan resultar significativos. 10.3 ANÁLISIS DEL ERROR Y CONDICIÓN DEL SISTEMA 301
  • 326. 302 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES En pocas palabras, el problema al usar la ecuación (10.26) es el precio computacio- nal requerido para obtener⏐ ⏐A–1 ⏐ ⏐. Rice (1983) indica algunas posibles estrategias para reducir el problema. Además, él sugiere una forma alternativa para determinar la con- dición del sistema: ejecute la misma solución en dos diferentes compiladores. Ya que los códigos resultantes implementan en forma diferente la aritmética, el efecto de mal con- dicio-namiento debería ser evidente en un experimento como ése. Por último, se debe mencionar que los paquetes de software y las bibliotecas, como MATLAB y Mathcad, tienen la capacidad para calcular en forma conveniente la condición de una matriz. Revisaremos estas capacidades cuando se vean esos paquetes al final del capítulo 11. 10.3.3 Refinamiento iterativo En algunos casos, los errores de redondeo se reducen con el siguiente procedimiento. Suponga que se está resolviendo el siguiente sistema de ecuaciones: a11x1 + al2x2 + a13x3 = b1 a21x1 + a22x2 + a23x3 = b2 (10.27) a31x1 + a32x2 + a33x3 = b3 Se limitará el siguiente análisis a un sistema pequeño de (3 × 3). Aunque, este método se puede generalizar para aplicarlo a sistemas de ecuaciones lineales más grandes. Suponga que una solución aproximada en forma vectorial es {X ~ }T = ⎣x ~ 1 x ~ 2 x ~ 3⎦. Esta solución se sustituye en la ecuación (10.27) para tener a11x ~ 1 + al2x ~ 2 + a13x ~ 3 = b ~ 1 a21x ~ 1 + a22x ~ 2 + a23x ~ 3 = b ~ 2 (10.28) a31x ~ 1 + a32x ~ 2 + a33x ~ 3 = b ~ 3 Ahora, suponga que la solución exacta {X} está expresada como una función de la solu- ción aproximada y de un vector de factores de corrección {∆X}, donde x1 = x ~ 1 + ∆x1 x2 = x ~ 2 + ∆x2 (10.29) x3 = x ~ 3 + ∆x3 Estos resultados se sustituyen en la ecuación (10.27), para obtener el siguiente sistema: a11(x ~ 1 + ∆x1) + al2(x ~ 2 + ∆x2) + a13(x ~ 3 + ∆x3) = b1 a21(x ~ 1 + ∆x1) + a22(x ~ 2 + ∆x2) + a23(x ~ 3 + ∆x3) = b2 (10.30) a31(x ~ 1 + ∆x1) + a32(x ~ 2 + ∆x2) + a33(x ~ 3 + ∆x3) = b3 Ahora, la ecuación (10.28) se resta de la (10.30) para dar a11∆x1 + al2∆x2 + a13∆x3 = b1 – b ~ 1 = E1 a21∆x1 + a22∆x2 + a23∆x3 = b2 – b ~ 2 = E2 (10.31) a31∆x1 + a32∆x2 + a33∆x3 = b3 – b ~ 3 = E3
  • 327. Así este sistema es un conjunto de ecuaciones lineales simultáneas que puede resolver- se para obtener los factores de corrección. Dichos factores se aplican para mejorar la solución, como lo especifica la ecuación (10.29). Es relativamente sencillo agregar un procedimiento de refinamiento iterativo en los programas de computadora para métodos de eliminación. Esto es especialmente efecti- vo para los métodos de descomposición LU descritos antes, los cuales sirven para evaluar en forma eficiente varios vectores del lado derecho. Observe que para ser efectivos en sistemas mal condicionados, las E en la ecuación (10.31) deben expresarse en doble precisión. PROBLEMAS 10.1 Utilice las reglas de la multiplicación de matrices para demostrar que las ecuaciones (10.7) y (10.8) se obtienen de la (10.6). 10.2 a) Use la eliminación simple de Gauss para descomponer el sistema siguiente, de acuerdo con la descripción de la sección 10.1.2. 10x1 + 2x2 – x3 = 27 –3x1 – 6x2 + 2x3 = –61.5 x1 + x2 – 5x3 = –21.5 Después, multiplique las matrices[L] y [U] resultantes para de- mostrar que se genera [A]. b) Emplee la descomposición LU para resolver el sistema. Realice todos los pasos del cálculo. c) Tam- bién resuelva el sistema para un vector alternativo del lado de- recho: {B}T = [12 18 –6]. 10.3 a) Resuelva el sistema de ecuaciones siguiente por medio de la descomposición LU sin pivoteo. 8x1 + 4x2 – x3 = 11 –2x1 + 5x2 + x3 = 4 2x1 – x2 + 6x3 = 7 b) Determine la matriz inversa. Compruebe sus resultados por medio de verificar que [A][A]–1 = [I]. 10.4 Resuelva el sistema de ecuaciones siguiente por medio de la descomposición LU con pivoteo parcial: 2x1 – 6x2 – x3 = –38 –3x1 – x2 + 7x3 = –34 –8x1 + x2 – 2x3 = –20 10.5 Determine los flops totales como función del número de ecuaciones n para las fases de a) descomposición, b) sustitución hacia adelante, y c) sustitución hacia atrás, de la versión de la descomposición LU de la eliminación de Gauss. PROBLEMAS 303 10.6 Utilice la descomposición LU para determinar la matriz in- versa del sistema que sigue. No use una estrategia de pivoteo, y compruebe su resultado con la verificación de que [A][A]–1 = [I]. 10x1 + 2x2 – x3 = 27 –3x1 – 6x2 – 2x3 = –61.5 x1 + x2 + 5x3 = –21.5 10.7 Ejecute la descomposición de Crout sobre el sistema 2x1 – 6x2 + x3 = 12 –x1 + 7x2 – x3 = –8 x1 – 3x2 + 2x3 = 16 Después, multiplique las matrices [L] y [U] resultantes para determinar que se produce [A]. 10.8 El sistema de ecuaciones que sigue está diseñado para determinar concentraciones (las c están en g/m3 ) en una serie de reactores acoplados, como función de la cantidad de masa que entra a cada uno de ellos (los lados derechos están en g/día), 15c1 – 3c2 – c3 = 3 800 –3c1 + 18c2 – 6c3 = 1 200 –4c1 – c2 + 12c3 = 2 350 a) Determine la matriz inversa. b) Use la inversa para encontrar la solución. c) Determine cuánto debe incrementarse la tasa de masa de entrada al reactor 3 para inducir un aumento de 10 g/m3 en la concentración del reactor 1. d) ¿Cuánto se reduciría la concentración en el reactor 3 si la tasa de masa de entrada a los reactores 1 y 2 se redujera en 500 y 250 g/día, respectivamente? 10.9 Determine ⏐A⏐ ⏐e,⏐ ⏐A⏐ ⏐1 y⏐ ⏐A⏐ ⏐∞ para [ ] – – A = − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 8 2 10 9 1 3 15 1 6
  • 328. 304 DESCOMPOSICIÓN LU E INVERSIÓN DE MATRICES Escale la matriz haciendo que el máximo elemento de cada renglón sea igual a uno. 10.10 Determine las normas Euclidiana y de renglón-suma para los sistemas de los problemas 10.3 y 10.4. Escale las matrices por medio de hacer que el elemento más grande de cada renglón sea igual a uno. 10.11 Una matriz [A] está definida como sigue [ ] . . . . . . . A = 0 125 0 25 0 5 1 0 015625 0 625 0 25 1 0 00463 0. . . . . . 02777 0 16667 1 0 001953 0 015625 0 125 1 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ Con el uso de la norma renglón-suma, calcule el número de condición y cuántos dígitos sospechosos se generarían con esta matriz. 10.12 a) Determine el número de condición para el sistema si- guiente por medio de la norma renglón-suma. No normalice el sistema. 1 4 9 16 25 4 9 16 25 36 9 16 25 36 49 16 25 36 49 64 25 36 49 64 81 1 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ¿Cuántos dígitos de precisión se perderían debido a la condición anómala? b) Repita el inciso a), pero escale la matriz por medio de hacer el elemento más grande de cada renglón igual a uno. 10.13 Determine el número de condición con base en la norma renglón-suma para la matriz de Hilbert normalizada de 5 × 5. ¿Cuántos dígitos significativos de precisión se perderían debido a la condición anómala? 10.14 Además de la matriz de Hilbert, hay otras matrices que son anómalas de modo inherente. Uno de esos casos es la matriz de Vandermonde, que tiene la forma siguiente: x x x x x x 1 2 1 2 2 2 3 2 3 1 1 1 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ a) Determine el número de condición con base en la norma renglón-suma para el caso en que x1 = 4, x2 = 2, y x3 = 7. b) Emplee el software de MATLAB para calcular los números de condición espectral y de Frobenius. 10.15 Desarrolle un programa amigable para el usuario para hacer la descomposición LU con base en el seudocódigo de la figura 10.2. 10.16 Realice un programa amigable para el usuario para efec- tuar la descomposición LU, que incluya la capacidad de evaluar la matriz inversa. Fundamente el programa en las figuras 10.2 y 10.5. 10.17 Use técnicas iterativas de refinamiento para mejorar x1 = 2, x2 = –3 y x3 = 8, que son las soluciones aproximadas de 2x1 + 5x2 + x3 = –5 6x1 + 2x2 + x3 = 12 x1 + 2x2 + x3 = 3 10.18 Considere los vectores siguientes: A a B b C c = − + = + − = + + 2 3 4 3 2 i j k i j k i j k El vector A es perpendicular al B y al C. También se sabe que B C ⋅ = 2. Use cualquier método de los estudiados en este capí- tulo para resolver las tres incógnitas, a, b y c. 10.19 Considere los vectores siguientes: A a b c B C = + + = − + − = + + i j k i j k i j k 2 4 3 2 donde A es un vector desconocido. Si ( ) ( ) ( ) ( ) ( A B A C a b × + × = + + − + − 5 6 3 2 4 i j c c +1)k use cualquier método de los que aprendió en este capítulo para resolver para las tres incógnitas, a, b y c. 10.20 Deje que la función esté definida en el intervalo [0, 2] como sigue: f x ax b x cx d x ( ) , , = + ≤ ≤ + ≤ ≤ ⎧ ⎨ ⎩ 0 1 1 2 Determine las constantes a, b, c y d, de modo que la función f satisfaga lo siguiente: • f(0) = f(2) = 1. • f es continua en todo el intervalo. • a + b = 4. Obtenga y resuelva un sistema de ecuaciones algebraicas lineales con una forma matricial idéntica a la ecuación (10.1). 10.21 a) Cree una matriz de Hilbert de 3 × 3. Ésta será la matriz [A]. Multiplique la matriz por el vector columna {x} = [1, 1, 1]T . La solución de [A]{x} será otro vector columna {b}. Con el uso de cualquier paquete numérico y la eliminación de Gauss, encuentre la solución de [A]{x} = {b} por medio del empleo de la matriz de Hilbert y el vector {b} que calculó. Compare el resultado con su vector {x} conocido. Utilice precisión suficiente al mostrar los resultados con objeto de permitir detectar imprecisiones. b) Repita el inciso a) con el uso de una matriz de Hilbert de 7 × 7. c) Repita el inciso a) con el uso de una matriz de Hilbert de 10 × 10.
  • 329. CAPÍTULO 11 Matrices especiales y el método de Gauss-Seidel Ciertas matrices tienen una estructura particular que puede aprovecharse para desarro- llar esquemas de solución eficientes. La primera parte de este capítulo se dedica a dos de estos sistemas: matrices bandeadas y simétricas. Se describen métodos de elimina- ción eficiente para ambas. La segunda parte de este capítulo presenta una alternativa a los métodos de elimi- nación, es decir, métodos iterativos. El enfoque se da con el método de Gauss-Seidel, el cual emplea valores iniciales y después itera para obtener mejores aproximaciones a la solución. El método de Gauss-Seidel es particularmente adecuado cuando se tiene gran número de ecuaciones. En estos casos, los métodos de eliminación pueden estar sujetos a errores de redondeo. Debido a que el error en el método de Gauss-Seidel es determi- nado por el número de iteraciones, el error de redondeo no es un tema que preocupe a este método. Aunque, existen ciertos ejemplos donde la técnica de Gauss-Seidel no conver- gerá al resultado correcto. Éstas y algunas otras ventajas y desventajas que se tienen entre los métodos de eliminación e iterativos se analizarán en las páginas siguientes. 11.1 MATRICES ESPECIALES Como se mencionó en el cuadro PT3.1, una matriz bandeada es una matriz cuadrada en la que todos sus elementos son cero, con excepción de una banda centrada sobre la dia- gonal principal. Los sistemas bandeados se encuentran con frecuencia en la práctica científica y de la ingeniería. Por ejemplo, tales sistemas aparecen en la solución de ecua- ciones diferenciales. Además, otros métodos numéricos como el de los trazadores cúbicos (sección 18.5) involucran la solución de sistemas bandeados. Las dimensiones de un sistema bandeado se cuantifica mediante dos parámetros: el ancho de banda (BW, por sus iniciales en inglés) y el ancho de media banda HBW (figura 11.1). Estos dos valores se relacionan mediante BW = 2HBW + 1. En general, un sistema bandeado es aquel para el cual aij = 0 si ⎪i – j⎪ HBW. Aunque la eliminación de Gauss o la descomposición LU convencional se emplean para resolver sistemas de ecuaciones bandeados, resultan ser ineficientes, debido a que si el pivoteo no es necesario, ninguno de los elementos fuera de la banda cambiará su valor original igual a cero. Así, será necesario utilizar tiempo y espacio en el almacena- miento y en el manejo de estos ceros inútiles. Si se sabe de antemano que el pivoteo no es necesario, se pueden desarrollar algoritmos muy eficientes en los que no intervengan los ceros fuera de la banda. Como en muchos problemas con sistemas bandeados, no se requiere el pivoteo; los algoritmos alternos, que se describirán a continuación, son los métodos seleccionados para tal fin.
  • 330. 306 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL 11.1.1 Sistemas tridiagonales Un sistema tridiagonal (es decir, uno con un ancho de banda 3) se expresa en forma general como: f g e f g e f g e f g e f x x x x x r r r n n n n n n n 1 1 2 2 2 3 3 3 1 1 1 1 2 3 1 1 2 3 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⋅ ⋅ ⋅ ⎧ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎪ ⎪ ⎪ ⎪ ⎪ = ⋅ ⋅ – – – – ⋅ ⋅ ⎧ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎪ ⎪ ⎪ ⎪ ⎪ r r n n – 1 (11.1) Observe que se ha cambiado la notación para los coeficientes; en lugar de a y b usamos e, f, g y r. Esto se hace para evitar guardar un gran número de ceros que no se utilizan en la matriz cuadrada de las a. Esta modificación es ventajosa para ahorrar espacio, ya que el algoritmo resultante requiere menos memoria de cómputo. En la figura 11.2 se muestra el seudocódigo de un método eficiente, llamado algo- ritmo de Thomas, para resolver la ecuación (11.1). Como una descomposición LU con- vencional, el algoritmo consiste de tres pasos: descomposición, sustitución hacia adelante y sustitución hacia atrás. Así, las ventajas de la descomposición LU, tales como la evaluación de vectores múltiples del lado derecho y el cálculo de la matriz inversa, se obtienen mediante una apropiada aplicación de este algoritmo. HBW + 1 HBW BW Diagonal FIGURA 11.1 Parámetros utilizados para cuantificar las dimensiones de un sistema bandeado. BW y HBW designan el ancho de banda y el ancho de media banda, respectivamente. a) Descomposición DOFOR k = 2, n ek = ek/fk–1 fk = fk – ek · gk–1 END DO b) Sustitución hacia adelante DOFOR k = 2, n rk = rk – ek · rk–1 END DO c) Sustitución hacia atrás xn = rn/fn DOFOR k = n – 1, 1, –1 x k = (rk – gk · xk +1)/fk END DO FIGURA 11.2 Seudocódigo para implementar el algoritmo de Thomas, un método de descomposición LU para sistemas tridiagonales.
  • 331. EJEMPLO 11.1 Solución tridiagonal con el algoritmo de Thomas Planteamiento del problema. Resuelva el siguiente sistema tridiagonal con el algo- ritmo de Thomas. 2 04 1 1 2 04 1 1 2 04 1 1 2 04 40 8 0 8 0 8 200 8 1 2 3 4 . . . . . . . . − − − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ T T T T Solución. Primero, la descomposición se realiza así: e2 = –1/2.04 = –0.49 f2 = 2.04 – (–0.49)(–1) = 1.550 e3 = –1/1.550 = –0.645 f3 = 2.04 – (–0.645)(–1) = 1.395 e4 = –1/1.395 = –0.717 f4 = 2.04 – (–0.717)(–1) = 1.323 Así, la matriz se transforma en 2 04 0 49 1 1 550 0 645 1 1 395 0717 1 1 323 . . – . . . . − − − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ y la descomposición LU es A L U [ ] = [ ][ ] = − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 1 0 49 1 0 645 1 0717 1 2 04 1 1 550 1 1 395 1 1 323 . . . – . . . Se puede verificar que ésta sea correcta al multiplicar [L][U] para obtener [A]. La sustitución hacia adelante se realiza de la siguiente manera: r2 = 0.8 – (–0.49)40.8 = 20.8 r3 = 0.8 – (–0.645)20.8 = 14.221 r4 = 200.8 – (–0.717)14.221 = 210.996 De esta forma, el vector del lado derecho se modifica a 11.1 MATRICES ESPECIALES 307
  • 332. 308 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL 40 8 20 8 14 221 210 996 . . . . ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ el cual, entonces, se utiliza de manera conjunta con la matriz [U], para realizar la sus- titución hacia atrás y obtener la solución T4 = 210.996/1.323 = 159.480 T3 = [14.221 – (–1)159.48]/1.395 = 124.538 T2 = [20.800 – (–1)124.538]/1.550 = 93.778 T1 = [40.800 – (–1)93.778]/2.040 = 65.970 11.1.2 Descomposición de Cholesky Recuerde del cuadro PT3.1, que una matriz simétrica es aquella donde aij = aji para toda i y j. En otras palabras, [A] = [A]T . Tales sistemas se presentan comúnmente en problemas de contexto matemático y de ingeniería. Estas matrices ofrecen ventajas computaciona- les, ya que únicamente se necesita la mitad de espacio de almacenamiento y, en la ma- yoría de los casos, sólo se requiere la mitad del tiempo de cálculo para su solución. Uno de los métodos más populares usa la descomposición de Cholesky. Este algo- ritmo se basa en el hecho de que una matriz simétrica se descompone así: [A] = [L][L]T (11.2) Es decir, los factores triangulares resultantes son la transpuesta uno de otro. Los términos de la ecuación (11.2) se desarrollan al multiplicar e igualar entre sí ambos lados (véase el problema 11.4 al final del capítulo). El resultado se expresa en forma simple mediante relaciones de recurrencia. Para el renglón k-ésimo, l a l l l ki ki ij kj j i ii = − = − ∑ 1 1 para i = 1, 2,…, k – 1 (11.3) y l a l kk kk kj j k = = − ∑ – 2 1 1 (11.4) EJEMPLO 11.2 Descomposición de Cholesky Planteamiento del problema. Aplique la descomposición de Cholesky a la matriz simétrica
  • 333. A [ ] = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 6 15 55 15 55 225 55 225 979 Solución. Para el primer renglón (k = 1), no se toma en cuenta la ecuación (11.3) y se emplea la ecuación (11.4) para calcular l a 11 11 6 2 4495 = = = . Para el segundo renglón (k = 2), con la ecuación (11.3) se obtiene l a l 21 21 11 15 2 4495 6 1237 = = = . . y con la ecuación (11.4) resulta l a l 22 22 21 2 2 55 6 1237 4 1833 = − = − = ( . ) . Para el tercer renglón (k = 3), la ecuación (11.3) con i = 1 da como resultado l a l 31 31 11 55 2 4495 22 454 = = = . . y con (i = 2) l a l l l 32 32 21 31 22 225 6 1237 22 454 4 1833 20 916 = − = − = . ( . ) . . en la ecuación (11.4) se obtiene l a l l 33 33 31 2 32 2 2 2 979 22 454 20 916 6 1106 = = = – – – ( . ) – ( . ) . De esta forma, la descomposición de Cholesky queda como L [ ] = ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ 2 4495 6 1237 22 454 4 1833 20 916 6 1106 . . . . . . Se verifica la validez de esta descomposición al sustituirla junto con su transpuesta en la ecuación (11.2) y ver que del producto resulta la matriz original [A]. Esto se deja como ejercicio para el lector. En la figura 11.3 se presenta el seudocódigo para el algoritmo de la descompo- sición de Cholesky. Debe observar que el algoritmo de la figura 11.3 da un error de eje- cución si en la evaluación de akk se obtiene la raíz cuadrada de un número negativo. Sin DOFOR k = 1, n DOFOR i = 1, k – 1 sum = 0. DOFOR j = 1, i – 1 sum = sum + aij·akj END DO aki = (aki – sum)/aii END DO sum = 0. DOFOR j = 1, k – 1 sum = sum + a2 kj END DO ————————— akk = √akk – sum END DO FIGURA 11.3 Seudocódigo para el algoritmo de descomposi- ción LU de Cholesky. 11.1 MATRICES ESPECIALES 309
  • 334. 310 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL embargo, cuando la matriz es definida positiva,1 esto nunca ocurrirá. Debido a que muchas de las matrices simétricas que se usan en ingeniería son de hecho definidas positivas, el algoritmo de Cholesky tiene una amplia aplicación. Otro beneficio al traba- jar con matrices simétricas definidas positivas es que no se requiere el pivoteo para evitar la división entre cero. Así, es posible implementar el algoritmo de la figura 11.3 sin la complicación del pivoteo. 11.2 GAUSS-SEIDEL Los métodos iterativos constituyen una alternativa a los métodos de eliminación descri- tos hasta ahora, para aproximar la solución. Tales métodos son similares a las técnicas que se desarrollaron en el capítulo 6 para obtener las raíces de una sola ecuación. Aque- llos métodos consistían en suponer un valor y luego usar un método sistemático para obtener una aproximación mejorada de la raíz. Como esta parte del libro trata con un problema similar (obtener los valores que simultáneamente satisfagan un conjunto de ecuaciones). Entonces se esperaría que tales métodos aproximados fuesen útiles en este contexto. El método de Gauss-Seidel es el método iterativo más comúnmente usado. Supon- ga que se da un sistema de n ecuaciones: [A]{X} = {B} Suponga que se limita a un conjunto de ecuaciones de 3 × 3. Si los elementos de la dia- gonal no son todos cero, la primera ecuación se puede resolver para x1, la segunda para x2 y la tercera para x3, para obtener x b a x a x a 1 1 12 2 13 3 11 = − − (11.5a) x b a x a x a 2 2 21 1 23 3 22 = − − (11.5b) x b a x a x a 3 3 31 1 32 2 33 = − − (11.5c) Ahora, se puede empezar el proceso de solución al escoger valores iniciales para las x. Una forma simple para obtener los valores iniciales es suponer que todos son cero. Estos ceros se sustituyen en la ecuación (11.5a), la cual se utiliza para calcular un nuevo valor x1 = b1/a11. Después, se sustituye este nuevo valor de x1 junto con el valor previo cero de x3 en la ecuación (11.5b) y se calcula el nuevo valor de x2. Este proceso se repite con la ecuación (11.5c) para calcular un nuevo valor de x3. Después se regresa a la pri- mera ecuación y se repite todo el procedimiento hasta que la solución converja suficien- 1 Una matriz definida positiva es aquella para la cual el producto {X}T [A]{X} es mayor que cero, para todo vector {X} distinto de cero.
  • 335. temente cerca a los valores verdaderos. La convergencia se verifica usando el criterio [recuerde la ecuación (3.5)] ε ε a i i j i j i j s x x x , % = − −1 100 (11.6) para todas las i, donde j y j – 1 son las iteraciones actuales y previas, respectivamente. EJEMPLO 11.3 Método de Gauss-Seidel Planteamiento del problema. Use el método de Gauss-Seidel para obtener la solución del sistema usado en el ejemplo 11.1: 3x1 – 0.1x2 – 0.2x3 = 7.85 0.1x1 + 7x2 – 0.3x3 = –19.3 0.3x1 – 0.2x2 + 10x3 = 71.4 Recuerde que la verdadera solución es x1 = 3, x2 = –2.5 y x3 = 7. Solución. Primero, despeje la incógnita sobre la diagonal para cada una de las ecua- ciones. x x x 1 2 3 7 85 0 1 0 2 3 = + + . . . (E11.3.1) x x x 2 1 3 19 3 0 1 0 3 7 = − − + . . . (E11.3.2) x x x 3 1 2 71 4 0 3 0 2 10 = − + . . . (E11.3.3) Suponiendo que x2 y x3 son cero, se utiliza la ecuación (E11.3.1) para calcular x1 7 85 0 0 3 2 616667 = + + = . . Este valor, junto con el valor de x3 = 0, se sustituye en la ecuación (E11.3.2) para calcular x2 19 3 0 1 2 616667 0 7 2 794524 = − − + = − . . ( . ) . La primera iteración termina al sustituir los valores calculados para x1 y x2 en la ecuación (E11.3.3) para dar x3 71 4 0 3 2 616667 0 2 2 794524 10 7 005610 = − + − = . . ( . ) . ( . ) . En la segunda iteración, se repite el mismo proceso para calcular 11.2 GAUSS-SEIDEL 311
  • 336. 312 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL x1 7 85 0 1 2 794524 0 2 7 005610 3 2 990557 = + − + = . . ( . ) . ( . ) . ⎪et⎪ = 0.31% x2 19 3 0 1 2 990557 0 3 7 005610 7 2 499625 = − − + = − . . ( . ) . ( . ) . ⎪et⎪ = 0.015% x3 71 4 0 3 2 990557 0 2 2 499625 10 7 000291 = − + − = . . ( . ) . ( . ) . ⎪et⎪ = 0.0042% El método es, por lo tanto, convergente hacia la verdadera solución. Es posible aplicar iteraciones adicionales para mejorar los resultados. Sin embargo, en un problema real, no se podría saber a priori el resultado correcto. En consecuencia, la ecuación (11.6) nos da un medio para estimar el error. Por ejemplo, para x1, εa, . . . % . % 1 2 990557 2 616667 2 990557 100 12 5 = − = Para x2 y x3, los errores estimados son ⎪ea,2⎪ = 11.8% y ⎪ea,3⎪ = 0.076%. Observe que, como cuando se determinaron las raíces de una sola ecuación, las formulaciones como la ecuación (11.6) usualmente ofrecen una valoración conservativa de la convergencia. Así, cuando éstas se satisfacen, aseguran que el resultado se conozca con, al menos, la tolerancia especificada por es. Conforme un nuevo valor de x se calcula con el método de Gauss-Seidel, éste se usa inmediatamente en la siguiente ecuación para determinar el otro valor de x. De esta forma, si la solución es convergente, se empleará la mejor aproximación disponible. Un método alternativo, llamado iteración de Jacobi, emplea una táctica algo diferente. Más que usar inmediatamente el último valor disponible de x, esta técnica usa la ecuación (11.5) para calcular un conjunto de nuevas x con base en un conjunto de x anteriores. De esta forma, conforme se generan nuevos valores, no se usan en forma inmediata sino que se retienen para la siguiente iteración. La diferencia entre el método de Gauss-Seidel y la iteración de Jacobi se muestra en la figura 11.4. Aunque hay ciertos casos donde es útil el método de Jacobi, la utilización de Gauss-Seidel da la mejor aproximación y usualmente lo hace el método preferido. 11.2.1 Criterio de convergencia para el método de Gauss-Seidel Observe que el método de Gauss-Seidel es similar en esencia a la técnica de iteración de punto fijo que se usó en la sección 6.1 para obtener las raíces de una sola ecuación. Re- cuerde que la iteración de punto fijo presenta dos problemas fundamentales: 1. en algunas ocasiones no es convergente, y 2. cuando converge, con frecuencia lo hace en forma muy lenta. El método de Gauss-Seidel puede también presentar estas desventajas.
  • 337. El criterio de convergencia se puede desarrollar al recordar de la sección 6.5.1 que las condiciones suficientes para la convergencia de dos ecuaciones no lineales, u(x, y) y v(x, y), son ∂ ∂ + ∂ ∂ u x x v 1 (11.7a) y ∂ ∂ + ∂ ∂ u y y v 1 (11.7b) Este criterio se aplica también a las ecuaciones lineales que se resuelven con el mé- todo de Gauss-Seidel. Por ejemplo, en el caso de dos ecuaciones simultáneas, el algorit- mo de Gauss-Seidel [ecuación (11.5)] se expresa como u x x c a a a x ( , ) 1 2 1 11 12 11 2 = − (11.8a) y v( , ) x x c a a a x 1 2 2 22 21 22 1 = − (11.8b) Las derivadas parciales de estas ecuaciones se evalúan con respecto a cada una de las incógnitas así: ∂ ∂ = ∂ ∂ = − u x x a a 1 1 21 22 0 v FIGURA 11.4 Ilustración gráfica de la diferencia entre los métodos de a) Gauss-Seidel y b) iterativo de Jacobi, para resolver sistemas de ecuaciones algebraicas lineales. Primera iteración x1 = (c1 – a12x2 – a13x3) /a11 x1 = (c1 – a12x2 – a13x3) /a11 x2 = (c2 – a21x1 – a23x3) /a22 x2 = (c2 – a21x1 – a23x3) /a22 x3 = (c3 – a31x1 – a32x2) /a33 x3 = (c3 – a31x1– a32x2) /a33 Segunda iteración x1 = (cj – a12x2 – a13x3) /a11 x1 = (c1 – a12x2 – a13x3) /a11 x2 = (c2 – a21x1 – a23x3) /a22 x2 = (c2 – a21x1 – a23x3) /a22 x3 = (c3 – a31x1 – a32x2) /a33 x3 = (c3 – a31x1 – a32x2) /a33 a) b) 11.2 GAUSS-SEIDEL 313
  • 338. 314 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL FIGURA 11.5 Representación a) de la convergencia y b) de la divergencia del método de Gauss-Seidel. Observe que las mismas funciones son dibujadas en ambos casos (u: 11x1 + 13x2 = 286; v: 11x1 – 9x2 = 99). Así, el orden en el cual se implementan las ecuaciones (se representa por la dirección de la primera flecha desde el origen) determina si el cálculo converge. y ∂ ∂ = − ∂ ∂ = u x a a x 2 12 11 2 0 v que se sustituyen en la ecuación (11.7) para dar a a 21 22 1 (11.9a) y a a 12 11 1 (11.9b) En otras palabras, el valor absoluto de las pendientes en la ecuación (11.8) debe ser menor que la unidad para asegurar la convergencia, lo cual se muestra gráficamente en la figura 11.5. La ecuación (11.9) también se reformula así: ⎪a22⎪ ⎪a21⎪ y ⎪a11⎪ ⎪a12⎪ Esto es, el elemento diagonal debe ser mayor que el elemento fuera de la diagonal para cada renglón. La generalización de lo anterior para n ecuaciones es directa y se expresa como a a ii i j j j i n = ≠ ∑ , 1 (11.10) x2 x1 v u a) x2 x1 v u b)
  • 339. Es decir, el coeficiente diagonal en cada una de las ecuaciones debe ser mayor que la suma del valor absoluto de los otros coeficientes de la ecuación. Este criterio es suficien- te pero no necesario para la convergencia. Es decir, el método puede funcionar aunque no se satisfaga la ecuación (11.10), la convergencia se garantiza cuando la condición se satisface. A los sistemas que cumplen con la ecuación (11.10) se les conoce como dia- gonalmente dominantes. Por fortuna, en la ingeniería, muchos problemas de importan- cia práctica satisfacen este requerimiento. 11.2.2 Mejoramiento de la convergencia usando relajación La relajación representa una ligera modificación al método de Gauss-Seidel y ésta per- mite mejorar la convergencia. Después de que se calcula cada nuevo valor de x por medio de la ecuación (11.5), ese valor se modifica mediante un promedio ponderado de los resultados de las iteraciones anterior y actual: xi nuevo = lxi nuevo + (l – l)xi anterior (11.11) donde l es un factor ponderado que tiene un valor entre 0 y 2. Si l = 1, (1 – l) es igual a 0 y el resultado no se modifica. Sin embargo, si a l se le asigna un valor entre 0 y 1, el resultado es un promedio ponderado de los resultados actuales y anteriores. Este tipo de modificación se conoce como subrelajación. Se emplea comúnmente para hacer que un sistema no convergente, converja o apresure la conver- gencia al amortiguar sus oscilaciones. Para valores l de 1 a 2, se le da una ponderación extra al valor actual. En este caso, hay una suposición implícita de que el nuevo valor se mueve en la dirección correcta hacia la solución verdadera, pero con una velocidad demasiado lenta. Por lo tanto, se pretende que la ponderación adicional de l mejore la aproximación al llevarla más cer- ca de la verdadera. De aquí que este tipo de modificación, al cual se le llama sobrerre- lajación, permite acelerar la convergencia de un sistema que ya es convergente. El método también se conoce como sobrerrelajación simultánea o sucesiva, o SOR. La elección de un valor adecuado de l es especificado por el problema y se deter- mina en forma empírica. Para la solución de un solo sistema de ecuaciones, con frecuen- cia es innecesaria. No obstante, si el sistema bajo estudio se va a resolver de manera repetida, la eficiencia que se introduce por una prudente elección de l puede ser impor- tante en extremo. Buenos ejemplos de lo anterior son los sistemas muy grandes de ecuaciones diferenciales parciales, que frecuentemente se presentan cuando se modelan variaciones continuas de variables (recuerde el sistema distribuido que se mostró en la figura PT3.1b). Se retomará el tema en la parte ocho. 11.2.3 Algoritmo para el método de Gauss-Seidel En la figura 11.6 se muestra un algoritmo para el método de Gauss-Seidel con relajación. Observe que este algoritmo no garantiza la convergencia si las ecuaciones no se intro- ducen en una forma diagonalmente dominante. El seudocódigo tiene dos características que vale la pena mencionar. La primera es que existe un conjunto inicial de ciclos anidados para dividir cada ecuación por su ele- mento diagonal. Esto reduce el número total de operaciones en el algoritmo. En la segun- da, observe que la verificación del error se designa por una variable llamada centinela (sentinel). Si en cualquiera de las ecuaciones se tiene un error aproximado mayor que 11.2 GAUSS-SEIDEL 315
  • 340. 316 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL SUBROUTINE Gseid (a,b,n,x,imax,es,lambda) DOFOR i = 1,n dummy = ai,i DOFOR j = 1,n ai,j = ai,j/dummy END DO bi = bi/dummy END DO DOFOR i = 1, n sum = bi DOFOR j = 1, n IF i≠j THEN sum = sum – ai,j*xj END DO xi=sum END DO iter=1 DOFOR centinela=1 DOFOR i = 1,n old = xi sum = bi DOFOR j = 1,n IF i≠j THEN sum = sum – ai,j*xj END DO xi = lambda*sum +(1.–lambda)*old IF centinela = 1 AND xi ≠ 0. THEN ea = ABS((xi – old)/xi)*100. IF ea es THEN centinela = 0 END lF END DO iter = iter + 1 IF centinela = 1 OR (iter ≥ imax) EXIT END DO END Gseid FIGURA 11.6 Seudocódigo para el método de Gauss-Seidel con relajación. el criterio de paro (es), entonces se permite continuar con las iteraciones. El uso de la variable centinela ayuda a evitar cálculos innecesarios de estimación de error una vez que las ecuaciones excedan el criterio. 11.2.4 Contextos del problema en el método de Gauss-Seidel Además de evitar el problema de redondeo, la técnica de Gauss-Seidel tiene muchas otras ventajas que la hacen particularmente atractiva en el contexto de ciertos problemas de ingeniería. Por ejemplo, cuando la matriz en cuestión es muy grande y esparcida (es decir, cuando la mayoría de los elementos son cero), los métodos de eliminación desper- dician grandes cantidades de memoria de cómputo al guardar ceros.
  • 341. Al inicio de este capítulo se vio cómo esta desventaja se puede evitar si la matriz de coeficientes es bandeada. Para sistemas que no tienen la forma de banda, generalmente no existe una forma simple para evitar los grandes requerimientos de memoria cuando se utilizan los métodos de eliminación. Como todas las computadoras tienen una canti- dad de memoria finita, esta ineficiencia llega a poner una limitación al tamaño de los sistemas, para los cuales los métodos de eliminación resultan prácticos. Aunque un algoritmo general como el de la figura 11.6 es propenso a la misma restricción, la estructura de las ecuaciones de Gauss-Seidel [ecuación (11.5)] permite que se desarrollen programas concisos para sistemas específicos. Como sólo se necesi- ta incluir coeficientes que no sean cero en la ecuación (11.5), es posible lograr grandes ahorros en la memoria de la computadora. Aunque esto implica más inversión en el desarrollo de software, las ventajas a largo plazo son sustanciales cuando se tiene gran- des sistemas, en los cuales se ejecutan muchas simulaciones. Tanto sistemas de variables localizadas como distribuidas pueden dar como resultado matrices grandes y muy es- parcidas donde el método de Gauss-Seidel tiene utilidad. 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES DE SOFTWARE Las bibliotecas y paquetes de software tienen grandes capacidades para resolver sistemas de ecuaciones algebraicas lineales. Antes de describir dichas herramientas, se debe mencionar que los procedimientos descritos en el capítulo 7 para resolver sistemas de ecuaciones no lineales pueden aplicarse a sistemas lineales. Sin embargo, en esta sección enfocaremos nuestra atención hacia procedimientos que están expresamente diseñados para ecuaciones lineales. 11.3.1 Excel Existen dos formas para resolver ecuaciones algebraicas lineales con Excel: 1. por medio de la herramienta Solver o 2. usando la inversión de matrices y las funciones de mul- tiplicación. Recuerde que una forma para determinar la solución de ecuaciones algebraicas li- neales es {X} = [A]–1 {B} (11.12) Excel tiene funciones predeterminadas para inversión y multiplicación de matrices que sirve para implementar esta fórmula. EJEMPLO 11.4 Uso de Excel para resolver sistemas lineales Planteamiento del problema. Recuerde que en el capítulo 10 se presentó la matriz de Hilbert. El siguiente sistema se basa en esta matriz. Observe que está escalado, como se realizó antes en el ejemplo 10.3, de tal forma que el coeficiente máximo en cada renglón es la unidad. 1 1 1 1 2 2 3 3 4 1 3 1 2 3 5 1 833333 2 166667 2 35 1 2 3 / / / / / / . . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ x x x 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 317
  • 342. 318 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL La solución a este sistema es {X}T = [1 1 1]. Use Excel para obtener esta solución. Solución. La hoja de cálculo para resolver este problema se muestra en la figura 11.7. Primero, la matriz [A] y las constantes del lado derecho {B} se introducen en las celdas de la hoja de cálculo. Después, se resalta un conjunto de celdas de dimensiones apropia- das (en este ejemplo 3 × 3), ya sea presionando y arrastrando el ratón o por medio de las teclas direccionales mientras se presiona la tecla shift. Como se muestra en la figura 11.7, se resalta el rango: B5..D7. Ahora, se introduce una fórmula que invoca a la función matriz inversa, =minverse(B1..D3) Observe que el argumento es el rango que contiene los elementos de [A]. Las teclas Ctrl y Shift se mantienen presionadas mientras se oprime la tecla Enter. La inversa resultan- te de [A] se calculará con Excel para desplegarse en el rango B5..D7 como se muestra en la figura 11.7. Un procedimiento similar se utiliza para multiplicar la inversa por el vector del lado derecho. En este caso, el rango de F5..F7 se resalta y se introduce la siguiente fórmula =mmult(B5..D7, F1..F3) donde el primer rango es la primera matriz que habrá de multiplicarse, [A]–1 , y el segun- do rango es la segunda matriz a multiplicarse, {B}. De nuevo, al usar la combinación Ctrl-Shift-Enter, la solución {X} se calculará por Excel y desplegada en el rango F5..F7, como se muestra en la figura 11.7. Como puede verse, se obtiene la respuesta correcta. Observe que en forma deliberada se reformatearon los resultados en el ejemplo 11.4 para mostrar 15 dígitos. Esto se hizo debido a que Excel usa doble precisión para guar- dar valores numéricos. De esta forma, se observa que el error de redondeo ocurre en los últimos dos dígitos. Esto implica un número de condición del orden de 100, el cual concuerda con el resultado de 451.2 que originalmente se calculó en el ejemplo 10.3. Excel no tiene la capacidad para calcular un número de condición. En la mayoría de los FIGURA 11.7 A B C D E F 1 1 0.5 0.33333333 1.83333333333333 2 [A] = 1 0.66666667 0.5 {B}= 2.16666666666667 3 1 0.75 0.6 2.35000000000000 4 5 9 –18 10 0.99999999999992 6 [A]–1 = –36 96 –60 {X}= 1.00000000000043 7 30 –90 60 0.99999999999960 =MINVERSE(B1:D3) =MMULT(B5:D7,F1:F3)
  • 343. casos, debido a que Excel emplea números con doble precisión, esto no representa un problema. Sin embargo, en casos donde se sospeche que el sistema esté mal condicio- nado, la determinación del número de condición es útil. MATLAB e IMSL tienen la capacidad de calcular esta cantidad. 11.3.2 MATLAB Como su nombre lo indica, MATLAB (contracción de MATrix LABoratory) se diseñó para facilitar el manejo de matrices. Así, como es de esperarse, sus capacidades en esta área son excelentes. Algunas funciones de MATLAB relacionadas con las operaciones de matrices se presentan en una lista en la tabla 11.1. El ejemplo siguiente ilustra algu- nas de dichas capacidades. EJEMPLO 11.5 Uso de MATLAB para manipular ecuaciones algebraicas lineales Planteamiento del problema. Explore cómo MATLAB se puede emplear para resol- ver y analizar ecuaciones algebraicas lineales. Use el mismo sistema que en el ejemplo 11.4. Solución. Primero, introducimos la matriz [A] y el vector {B}, A = [ 1 1/2 1/3 ; 1 2/3 2/4 ; 1 3/4 3/5 ] A = 1.0000 0.5000 0.3333 1.0000 0.6667 0.5000 1.0000 0.7500 0.6000 B=[1+1/2+1/3;1+2/3+2/4;1+3/4+3/5] TABLA 11.1 Funciones de MATLAB para el análisis matrical y el álgebra lineal numérica. Análisis matricial Ecuaciones lineales Función Descripción Función Descripción cond Número de condición de una matriz and/ Solución de una ecuación lineal; use “help slash” norm Norma vectorial o matricial chol Factorización de Cholesky rcond Estimador de condición recíproca LINPACK lu Factores para la eliminación de Gauss rank Número de renglones o columnas inv Matriz inversa linealmente independientes det Determinante qr Descomposición ortogonal-triangular trace Suma de los elementos en la diagonal qrdelete Suprime una columna de la factorización QR null Espacio nulo qrinsert Inserte una columna en la factorización QR orth Ortogonalización nnls Mínimos cuadrados no negativos rref Forma escalonada reducida por renglones pinv Pseudoinversa lscov Mínimos cuadrados en la presencia de covarianza conocida 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 319
  • 344. 320 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL B = 1.8333 2.1667 2.3500 Después, se determina el número de condición para [A] Cond(A) ans = 366.3503 Este resultado se basa en la norma espectral, o ||A||2, que se analizó en el cuadro 10.2. Observe que es del mismo orden de magnitud que el número de condición = 451.2, ba- sado en la norma renglón-suma del ejemplo 10.3. Ambos resultados implican que se podrían perder entre 2 y 3 dígitos de precisión. Ahora se puede resolver el sistema de ecuaciones en dos formas diferentes. La forma más directa y eficiente consiste en emplear el símbolo , o “división izquierda”: X=AB X = 1.0000 1.0000 1.0000 Como en los casos anteriores, MATLAB usa la eliminación de Gauss para resolver dichos sistemas. Como una alternativa, se puede resolver la ecuación (PT3.6) en forma directa, como X=inv(A)*B X = 1.0000 1.0000 1.0000 Este procedimiento determina primero la matriz inversa y después ejecuta la multipli- cación matricial. Por lo tanto, toma más tiempo que la operación de división izquierda. 11.3.3 IMSL IMSL tiene numerosas rutinas para sistemas lineales, inversión de matrices y evaluación de un determinante. En la tabla 11.2 se enlistan las categorías que cubre. Como se enlista en la tabla 11.3, se dedican ocho rutinas al caso específico de matrices generales reales. El presente análisis se concentrará en dos rutinas: LFCRG y LFIRG. La LFCRG lleva a cabo una descomposición LU de la matriz [A] y calcula su nú- mero de condición. LFCRG se implementa con la siguiente instrucción CALL: CALL LFCRG(N, A, LDA, FAC, LDFAC, IPVT, RCOND)
  • 345. donde N = Orden de la matriz. (Entrada) A = N × N matriz a descomponerse. (Entrada) LDA = Dimensión principal de A como se especifica en la declaración de dimensión del programa de llamado. (Entrada) FAC = Matriz N × N que contiene la descomposición LU de A. (Salida) LDFAC = Dimensión principal de FAC como se especifica en la declaración de dimensión del programa de llamado. (Entrada) TABLA 11.2 Categorías de las rutinas IMSL para la solución de sistemas lineales, inversión de matrices y evaluación del determinante. • Matrices generales reales • Matrices generales complejas • Matrices triangulares reales • Matrices triangulares complejas • Matrices definidas positivas reales • Matrices simétricas reales • Matrices definidas positivas hermitianas complejas • Matrices hermitianas complejas • Matrices bandeadas reales con almacenamiento de banda • Matrices definidas positivas simétricas bandeadas reales con almacenamiento de banda • Matrices bandeadas complejas con almacenamiento de banda • Matrices definidas positivas bandeadas complejas con almacenamiento de banda • Resolvedores de ecuaciones lineales reales esparcidas • Resolvedores de ecuaciones lineales complejas esparcidas • Resolvedores de ecuaciones lineales reales definidas positivas simétricas esparcidas • Resolvedores de ecuaciones lineales definidas positivas de matrices hermitianas esparcidas complejas • Matrices Toeplitz reales en almacenamiento de Toeplitz • Matrices Toeplitz complejas en almacenamiento de Toeplitz • Matrices circulantes complejas con almacenamiento circulante • Métodos iterativos • Mínimos cuadrados lineales y factorización matricial • Mínimos cuadrados, descomposición QR y la inversa generalizada • Factorización de Cholesky • Descomposición del valor singular (SVD, por sus siglas en inglés) • Soporte matemático para estadística TABLA 11.3 Rutinas IMSL para la solución de matrices generales reales. Rutina Capacidad LSARG Solución de sistemas lineales con alta exactitud LSLRG Resuelve un sistema lineal LFCRG Factoriza y calcula el número de condición LFTRG Factoriza LFSRG Resuelve después de factorizar LFIRG Solución de sistemas lineales con alta exactitud después de factorizar LFDRG Cálculo del determinante después de la factorización LINRG Invierte 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 321
  • 346. 322 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL IPVT = Vector de longitud N que contiene la información de pivoteo para la descom- posición LU. (Salida) RCOND = Escalar que contiene el recíproco del número de condición de A. (Salida) La LFIRG utiliza la descomposición LU y un vector particular del lado derecho para generar una solución de gran exactitud por medio de un refinamiento iterativo. LFIRG se implementa con la siguiente instrucción CALL: CALL LFIRG(N, A, LDA, FAC, LDFAC, IPVT, B, IPATH, X, RES) donde N = Orden de la matriz. (Entrada) A = Matriz N × N a descomponer. (Entrada) LDA = Dimensión principal de A como se especifica en la declaración dimensión del programa de llamado. (Entrada) FAC = Matriz N × N que contiene la descomposición LU de A. (Entrada) LDFAC = Dimensión principal de FAC como se especifica en la declaración de dimensión del programa de llamado. (Entrada) IPVT = Vector de longitud N que contiene la información de pivoteo para la des- composición LU. (Entrada) B = Vector de longitud N que contiene el lado derecho del sistema lineal IPATH = Indicador de trayectoria. (Entrada) = 1 significa que se resolvió el sistema AX = B = 2 significa que se resolvió el sistema AT X = B X = Vector de longitud N que contiene la solución del sistema lineal. (Salida) RES = Vector de longitud N que contiene el vector residual de la solución mejorada. (Salida) Estas dos rutinas se usan en conjunto en el siguiente ejemplo. Primero, LFCRG se llama para descomponer la matriz y regresar el número de condición. Después se llama a LFIRG N veces con el vector B que contiene en cada columna la matriz identidad para generar las columnas de la matriz inversa. Finalmente, LFIRG se puede llamar una vez más para obtener la solución para un vector del lado derecho. EJEMPLO 11.6 Uso de IMSL para analizar y resolver una matriz de Hilbert Planteamiento del problema. Use LFCRG y LFIRG para determinar el número de condición, la matriz inversa y la solución para el siguiente sistema con la matriz de Hilbert, 1 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 1 833333 1 083333 0 783333 1 2 3 / / / / / / / / . . . ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ x x x
  • 347. Solución. Un ejemplo de un programa principal en Fortran 90 que usa LFCRG y LFIRG para resolver este problema se escribe así: PROGRAM Lineqs USE msimsl IMPLICIT NONE INTEGER::ipath,lda,n,ldfac PARAMETER(ipath=1,lda=3,ldfac=3,n=3) INTEGER::ipvt(n),i,j,itmax=50 REAL::A(lda,lda),Ainv(lda,lda), factor(ldfac,ldfac),Rcond,Res(n) REAL::Rj(n),B(n),x(n) DATA A/1.0,0.5,0.3333333,0.5,0.3333333,0.25,0.3333333,0.25,0.2/ DATA B/1.833333,1.083333,0.783333/ !Realiza la descomposición lu; determina y muestra el número de condición CALL LFCRG(n,A,lda,factor,ldfac,ipvt,Rcond) PRINT *, “número de condición = “, 1.0E0/Rcond PRINT * !Inicializa al vector Rj a cero DO i = 1,n Rj(i) = 0. END DO !Llena las columnas de la matriz identidad a través de LFIRG para generar la !inversa y almacena resultados en Ainv. Despliega Ainv DO j = 1, n Rj(j) = 1.0 CALL LFIRG(n,A,lda,factor,ldfac,ipvt,Rj,ipath,ainv 1,j),Res) Rj(j) = 0.0 END DO PRINT *, “Matriz inversa:” DO i = 1,n PRINT *, (Ainv(i,j),j=1,n) END DO PRINT * !Usa LFIRG para obtener la solución para B. Despliega resultados PRINT *, “Solución:” DO I = 1,n PRINT *, x(i) END DO END PROGRAM 11.3 ECUACIONES ALGEBRAICAS LINEALES CON BIBLIOTECAS Y PAQUETES 323
  • 348. 324 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL La salida es: Número de condición = 680.811600 Matriz inversa: 9.000033 –36.000180 30.000160 –36.000180 192.000900 –180.000800 30.000160 –180.000800 180.000800 Solución: 9.999986E–01 1.000010 9.999884E–01 Nuevamente, el número de condición es del mismo orden que el número de condición basado en la norma renglón-suma del ejemplo 10.3 (451.2). Ambos resultados implican que se podrían perder entre 2 y 3 dígitos de precisión. Esto se confirma en la solución, donde se observa que el error de redondeo ocurre en los dos o tres últimos dígitos. 11.1 Ejecute los mismos cálculos que en el ejemplo 11.1, pero para el sistema tridiagonal siguiente: 0 8 0 4 0 4 0 8 0 4 0 4 0 8 1 2 3 . – . . . . . . − − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ x x x ⎪ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 41 25 105 11.2 Determine la matriz inversa del ejemplo 11.1 con base en la descomposición LU y los vectores unitarios. 11.3 El sistema tridiagonal que sigue debe resolverse como parte de un algoritmo mayor (Crank-Nicolson) para solucionar ecuaciones diferenciales parciales: 2 01475 0 020875 0 020875 2 01475 0 020875 0 . – . . . . − − − . . . . . . 020875 2 01475 0 020875 0 020875 2 01475 − − ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ × ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ T T T T 1 2 3 4 4 175 0 0 2 0875 . . Utilice el algoritmo de Thomas para obtener una solución. 11.4 Confirme la validez de la descomposición de Cholesky del ejemplo 11.2 por medio de sustituir los resultados en la ecuación (11.2) con objeto de ver si el producto de [L] y [L]T da como resultado [A]. 11.5 Ejecute a mano la descomposición de Cholesky del sistema simétrico siguiente: 8 20 15 20 80 50 15 50 60 1 2 3 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ x x x = = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 50 250 100 11.6 Haga los mismos cálculos que en el ejemplo 11.2, pero para el sistema simétrico que sigue: 6 15 55 15 55 225 55 225 979 0 1 2 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ a a a ⎪ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 152 6 585 6 2488 8 . . . Además de resolver para la descomposición de Cholesky, em- pléela para solucionar cuál es el valor de las a. 11.7 a) Use el método de Gauss-Seidel para resolver el sistema tridiagonal del problema 11.1 (es = 5%). b) Repita el inciso a) pero utilice sobre relajación con l = 1.2. 11.8 Del problema 10.8, recuerde que el sistema de ecuaciones siguiente está diseñado para determinar concentraciones (las c están en g/m3 ) en una serie de reactores acoplados como fun- ción de la cantidad de masa de entrada a cada uno de ellos (los lados derechos están en g/d), 15c1 – 3c2 – c3 = 3 800 –3c1 + 18c2 – 6c3 = 1 200 –4c1 – c2 + 12c3 = 2 350 PROBLEMAS
  • 349. PROBLEMAS 325 Resuelva este problema con el método de Gauss-Seidel para es = 5%. 11.9 Repita el problema 11.8, pero use la iteración de Jacobi. 11.10 Emplee el método de Gauss-Seidel para resolver el siste- ma siguiente hasta que el error relativo porcentual esté por de- bajo de es = 5%, 10x1 + 2x2 – x3 = 27 –3x1 – 6x2 + 2x3 = –61.5 x1 + x2 + 5x3 = –21.5 11.11 Utilice el método de Gauss-Seidel a) sin relajación, y b) con relajación (l = 0.95), para resolver el sistema siguiente para una tolerancia de es = 5%. Si es necesario, reacomode las ecua- ciones para lograr convergencia. –3x1 + x2 – 12x3 = 50 6x1 – x2 – x3 = 3 6x1 + 9x2 + x3 = 40 11.12 Use el método de Gauss-Seidel (a) sin relajación, y (b) con relajación (l = 1.2), para resolver el sistema siguiente para una tolerancia de es = 5%. Si es necesario, reacomode las ecua- ciones para lograr convergencia. 2x1 – 6x2 – x3 = –38 –3x1 – x2 + 7x3 = –34 –8x1 + x2 – 2x3 = –20 11.13 Vuelva a dibujar la figura 11.5 para el caso en que las pendientes de las ecuaciones son 1 y –1. ¿Cuál es el resultado de aplicar el método de Gauss-Seidel a un sistema como ése? 11.14 De los tres conjuntos siguientes de ecuaciones lineales, identifique aquel(los) que no podría resolver con el uso de un método iterativo tal como el de Gauss-Seidel. Demuestre que su solución no converge, utilizando cualquier número de iteraciones que sea necesario. Enuncie con claridad su criterio de conver- gencia (es decir, cómo se sabe que no está convergiendo). Conjunto uno Conjunto dos Conjunto tres 9x + 3y + z = 13 x + y + 6z = 8 –3x + 4y + 5z = 6 –6x + 8z = 2 x + 5y – z = 5 –2x + 2y – 3z = –3 2x + 5y – z = 6 4x + 2y – 2z = 4 2y – z = 1 11.15 Emplee la librería o paquete de software de su preferencia para obtener una solución, calcular la inversa y determinar el número de condición (sin dar escala) con base en la norma de suma de renglones, para los sistemas a) 1 4 9 4 9 16 9 16 25 14 29 50 1 2 3 ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ = ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ x x x b) 1 4 9 16 4 9 16 25 9 16 25 36 16 25 36 49 30 54 86 126 1 2 3 4 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ x x x x En ambos casos, las respuestas para todas las x deben ser 1. 11.16 Dado el par siguiente de ecuaciones simultáneas no lineales: f(x, y) = 4 – y – 2x2 g(x, y) = 8 – y2 – 4x a) Use la herramienta Solver de Excel para determinar los dos pares de valores de x y y que satisfacen estas ecuaciones. b) Con el empleo de un rango de valores iniciales (x = –6 a 6, y y = –6 a 6), determine cuáles valores iniciales producen cada una de las soluciones. 11.17 Una compañía de electrónica produce transistores, resis- tores y chips de computadora. Cada transistor requiere cuatro unidades de cobre, una de zinc y dos de vidrio. Cada resistor requiere tres, tres y una unidades de dichos materiales, respecti- vamente, y cada chip de computadora requiere dos, una y tres unidades de los materiales, respectivamente. En forma de tabla, esta información queda así: Componente Cobre Zinc Vidrio Transistores 4 1 2 Resistores 3 3 1 Chips de computadora 2 1 3 Los suministros de estos materiales varían de una semana a la otra, de modo que la compañía necesita determinar una corrida de producción diferente cada semana. Por ejemplo, cierta sema- na las cantidades disponibles de los materiales son 960 unidades de cobre, 510 unidades de zinc y 610 unidades de vidrio. Plantee el sistema de ecuaciones que modela la corrida de producción y utilice Excel y la información que se da en este capítulo sobre la solución de ecuaciones algebraicas lineales con Excel para re- solver cuál es el número de transistores, resistores y chips de computadora por manufacturar esta semana. 11.18 Utilice el software de MATLAB para determinar el nú- mero de condición espectral para una matriz de Hilbert de di- mensión 10. ¿Cuántos dígitos de precisión se espera que se pierdan debido a la condición anómala? Determine la solución para este sistema para el caso en que cada elemento del vector del lado derecho {b} consiste en la suma de los coeficientes de su renglón. En otras palabras, resuelva para el caso en que todas las incógnitas deben ser exactamente uno. Compare los errores resultantes con aquellos esperados con base en el número de condición.
  • 350. 326 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL 11.19 Repita el problema 11.8, pero para el caso de una matriz de Vandermonde de seis dimensiones (véase el problema 10.14) donde x1 = 4, x2 = 2, x3 = 7, x4 = 10, x5 = 3 y x6 = 5. 11.20 En la sección 9.2.1, se determinó el número de operacio- nes que se requiere para la eliminación de Gauss sin pivoteo parcial. Efectúe una determinación similar para el algoritmo de Thomas (véase la figura 11.2). Desarrolle una gráfica de opera- ciones versus n (de 2 a 20) para ambas técnicas. 11.21 Desarrolle un programa amigable para el usuario en cual- quier lenguaje de alto nivel o de macros, de su elección, para obtener una solución para un sistema tridiagonal con el algoritmo de Thomas (figura 11.2). Pruebe su programa por medio de re- petir los resultados del ejemplo 11.1. 11.22 Desarrolle un programa amigable para el usuario en cual- quier lenguaje de alto nivel o de macros, que elija, para hacer la descomposición de Cholesky con base en la figura 11.3. Pruebe su programa por medio de repetir los resultados del ejemplo 11.2. 11.23 Desarrolle un programa amigable para el usuario en cual- quier lenguaje de alto nivel o de macros, que escoja, a fin de ejecutar el método de Gauss-Seidel con base en la figura 11.6. Pruébelo con la repetición de los resultados del ejemplo 11.3.
  • 351. CAPÍTULO 12 Estudio de casos: ecuaciones algebraicas lineales El propósito de este capítulo es usar los procedimientos numéricos analizados en los capítulos 9, 10 y 11 para resolver sistemas de ecuaciones algebraicas lineales, en algunas aplicaciones a la ingeniería. Dichas técnicas numéricas sistemáticas tienen significado práctico, ya que los ingenieros con mucha frecuencia se enfrentan a problemas que in- volucran sistemas de ecuaciones que son demasiado grandes para resolverse a mano. Los algoritmos numéricos en estas aplicaciones son particularmente adecuados para imple- mentarse en computadoras personales. En la sección 12.1 se muestra cómo se emplea un balance de masa para modelar un sistema de reactores. En la sección 12.2 se le da especial énfasis al uso de la matriz in- versa para determinar las complicadas interacciones causa-efecto entre las fuerzas en los elementos de una armadura. La sección 12.3 constituye un ejemplo del uso de las leyes de Kirchhoff para calcular las corrientes y voltajes en un circuito con resistores. Por úl- timo, la sección 12.4 es una ilustración de cómo se emplean las ecuaciones lineales para determinar la configuración en estado estacionario de un sistema masa-resorte. 12.1 ANÁLISIS EN ESTADO ESTACIONARIO DE UN SISTEMA DE REACTORES (INGENIERÍA QUÍMICA/BIOINGENIERÍA) Antecedentes. Uno de los principios de organización más importantes en la ingenie- ría química es la conservación de la masa (recuerde la tabla 1.1). En términos cuantita- tivos, el principio se expresa como un balance de masa que toma en cuenta todas las fuentes y sumideros de un fluido que entra y sale de un volumen (figura 12.1). En un periodo finito, esto se expresa como Acumulación = entradas – salidas (12.1) El balance de masa representa un ejercicio de contabilidad para la sustancia en particular que se modela. Para el periodo en que se calcula, si las entradas son mayores que las salidas, la masa de la sustancia dentro del volumen aumenta. Si las salidas son mayores que las entradas, la masa disminuye. Si las entradas son iguales a las salidas, la acumulación es cero y la masa permanece constante. Para esta condición estable, o en estado estacionario, la ecuación (12.1) se expresa como Entradas = salidas (12.2) Emplee la conservación de la masa para determinar las concentraciones en estado esta- cionario de un sistema de reactores conectados.
  • 352. 328 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES Solución. Se puede usar el balance de masa para resolver problemas de ingeniería al expresar las entradas y salidas en términos de variables y parámetros medibles. Por ejem- plo, si se realiza un balance de masa para una sustancia conservativa (es decir, aquella que no aumente ni disminuya debido a transformaciones químicas) en un reactor (figura 12.2), podríamos cuantificar la velocidad con la cual el flujo de la masa entra al reactor a través de dos tuberías de entrada y sale de éste a través de una tubería de salida. Esto se hace mediante el producto de la velocidad del fluido o caudal Q (en metros cúbicos por minuto) por la concentración c (en miligramos por metro cúbico) en cada tubería. Por ejemplo, en la tubería 1 de la figura 12.2, Q1 = 2 m3 /min y c1 = 25 mg/m3 ; por lo tanto, la velocidad con la cual la masa fluye hacia el reactor a través de la tubería 1 es Q1c1 = (2 m3 /min)(25 mg/m3 ) = 50 mg/min. Así, 50 mg de sustancias químicas fluyen cada minuto hacia el interior del reactor a través de esta tubería. De forma similar, para la tubería 2 la velocidad de masa que entra se calcula como Q2c2 = (1.5 m3 /min) (10 mg/m3 ) = 15 mg/min. Observe que la concentración a la salida del reactor a través de la tubería 3 no se especifica en la figura 12.2. Esto es así porque ya se tiene información suficiente para calcularla con base en la conservación de la masa. Como el reactor se halla en estado estacionario se aplica la ecuación (12.2) y las entradas deberán estar en balance con las salidas, Q1c1 + Q2c2 = Q3c3 Sustituyendo los valores dados en esta ecuación se obtiene 50 + 15 = 3.5c3 de la cual se despeja c3 = 18.6 mg/m3 . De esta forma, hemos determinado la concen- tración en la tercera tubería. Sin embargo, del cálculo se obtiene algo más. Como el reactor está bien mezclado (representado por el agitador en la figura 12.2), la concentra- ción será uniforme, u homogénea, en todo el tanque. Por lo que, la concentración en la tubería 3 deberá ser idéntica a la concentración en todo el reactor. En consecuencia, el balance de masa nos ha permitido calcular tanto la concentración en el reactor como en el tubo de salida. Esta información es de gran utilidad para los ingenieros químicos y FIGURA 12.1 Una representación esquemática del balance de masa. Entrada Salida Acumulación Volumen
  • 353. Q3 = 3.5 m3 /min c3 = ? Q1 = 2 m3 /min c1 = 25 mg/m3 Q2 = 1.5 m3 /min c2 = 10 mg/m3 Q24 = 1 Q54 = 2 Q55 = 2 Q15 = 3 Q44 = 11 Q12 = 3 Q31 = 1 Q03 = 8 c03 = 20 Q23 = 1 Q25 = 1 Q34 = 8 Q01 = 5 c01 = 10 c3 c5 c1 c2 c4 petroleros, quienes tienen que diseñar reactores que tengan mezclas de una concentración específica. Debido a que se utilizó álgebra simple para determinar la concentración de un solo reactor en la figura 12.2, podría no ser obvio lo que tiene que hacer una computadora en el cálculo de un balance de masa. En la figura 12.3 se muestra un problema donde las computadoras no solamente son útiles, sino que son de una enorme necesidad práctica. Debido a que hay cinco reactores interconectados o acoplados, se necesitan cinco ecua- ciones de balance de masa para caracterizar el sistema. En el reactor 1, velocidad de la masa que entra es 5(10) + Q31c3 y la velocidad de la masa que sale es Q12c1 + Q15c1 FIGURA 12.3 Cinco reactores conectados por tuberías. FIGURA 12.2 Un reactor en estado estacionario, completamente mezclado, con dos tuberías de entrada y una de salida. Los caudales Q están en metros cúbicos por minuto, y las concentraciones c están en miligramos por metro cúbico. 12.1 ANÁLISIS EN ESTADO ESTACIONARIO DE UN SISTEMA DE REACTORES 329
  • 354. 330 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES Como el sistema se encuentra en estado estacionario, los flujos de entrada y de salida deben ser iguales: 5(10) + Q31c3 = Q12c1 + Q15c1 o, sustituyendo los valores de la figura 12.3, 6c1 – c3 = 50 Ecuaciones similares se obtienen para los otros reactores: –3c1 + 3c2 = 0 –c2 + 9c3 = 160 –c2 – 8c3 + 11c4 – 2c5 = 0 –3c1 – c2 + 4c5 = 0 Se puede utilizar un método numérico para resolver estas cinco ecuaciones con las cinco incógnitas que son las concentraciones: {C}T = ⎣11.51 11.51 19.06 17.00 11.51⎦ Además, la matriz inversa se calcula como 0.16981 0.00629 0.01887 0 0 0.16981 0.33962 0.01887 0 0 [A]–1 = 0.01887 0.03774 0.11321 0 0 0.06003 0.07461 0.08748 0.09091 0.04545 0.16981 0.08962 0.01887 0 0.25000 Cada uno de los elementos aij significa el cambio en la concentración del reactor i debi- do a un cambio unitario en la carga del reactor j. De esta forma, los ceros en la columna 4 indican que una carga en el reactor 4 no influirá sobre los reactores 1, 2, 3 y 5. Esto es consistente con la configuración del sistema (figura 12.3), la cual indica que el flujo de salida del reactor 4 no alimenta ningún otro reactor. En cambio, las cargas en cualquie- ra de los tres primeros reactores afectarán al sistema completo, como se indica por la ausencia de ceros en las primeras tres columnas. Tal información es de gran utilidad para los ingenieros que diseñan y manejan sistemas como éste. 12.2 ANÁLISIS DE UNA ARMADURA ESTÁTICAMENTE DETERMINADA (INGENIERÍA CIVIL/AMBIENTAL) Antecedentes. Un problema importante en la ingeniería estructural es encontrar las fuerzas y reacciones asociadas con una armadura estáticamente determinada. En la fi- gura 12.4 se muestra el ejemplo de una armadura. Las fuerzas (F) representan ya sea la tensión o la compresión sobre los componen- tes de la armadura. Las reacciones externas (H2, V2 y V3) son fuerzas que caracterizan cómo interactúa dicha estructura con la superficie de soporte. El apoyo fijo en el nodo 2 puede transmitir fuerzas horizontales y verticales a la superficie, mientras que el apo- yo móvil en el nodo 3 transmite sólo fuerzas verticales. Se observa que el efecto de la carga externa de 1000 lb se distribuye entre los componentes de la armadura.
  • 355. Solución. Este tipo de estructura se puede describir como un conjunto de ecuaciones algebraicas lineales acopladas. Los diagramas de fuerza de cuerpo libre para cada nodo se muestran en la figura 12.5. La suma de las fuerzas en ambas direcciones, vertical y horizontal, deben ser cero en cada nodo, ya que el sistema está en reposo. Por lo tanto, para el nodo 1, ΣFH = 0 = –F1 cos 30° + F3 cos 60° + F1,h (12.3) ΣFV = 0 = –F1 sen 30° – F3 sen 60° + F1,v (12.4) para el nodo 2, ΣFH = 0 = F2 + F1 cos 30° + F2,h + H2 (12.5) ΣFV = 0 = F1 sen 30° + F2,v + V2 (12.6) 1 000 lb 2 3 1 30⬚ 60⬚ 90⬚ F3 F1 F2 H2 V2 V3 2 F3,h F1,v F1,h F2 F2,h F1 F2,v H2 V2 F3 F1 F3,v F3 F2 V3 1 30⬚ 30⬚ 60⬚ 60⬚ 3 FIGURA 12.5 Diagramas de fuerza de cuerpo libre para los nodos de una armadura estáticamente determinada. FIGURA 12.4 Fuerzas en una armadura estáticamente determinada. 12.2 ANÁLISIS DE UNA ARMADURA ESTÁTICAMENTE DETERMINADA 331
  • 356. 332 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES para el nodo 3, ΣFH = 0 = –F2 – F3 cos 60° + F3,h (12.7) ΣFV = 0 = F3 sen 60° + F3,v + V3 (12.8) donde Fi,h es la fuerza horizontal externa aplicada sobre el nodo i (se considera que una fuerza positiva va de izquierda a derecha) y Fi,v es la fuerza vertical externa que se apli- ca sobre el nodo i (donde una fuerza positiva va hacia arriba). Así, en este problema, la fuerza de 1000 lb hacia abajo en el nodo 1 corresponde a F1,v = –1000 libras. En este caso, todas las otras Fi,v y Fi,h son cero. Observe que las direcciones de las fuerzas in- ternas y de las reacciones son desconocidas. La aplicación correcta de las leyes de Newton requiere sólo de suposiciones consistentes respecto a la dirección. Las soluciones son negativas si las direcciones se asumen de manera incorrecta. También observe que en este problema, las fuerzas en todos los componentes se suponen en tensión y actúan ti- rando de los nodos adyacentes. Una solución negativa, por lo tanto, corresponde a com- presión. Este problema se plantea como el siguiente sistema de seis ecuaciones con seis incógnitas: 0.866 0 –0.5 0 0 0 F1 0 0.5 0 0.866 0 0 0 F2 –1000 –0.866 –1 0 –1 0 0 F3 = 0 (12.9) –0.5 0 0 0 –1 0 H2 0 0 1 0.5 0 0 0 V2 0 0 0 –0.866 0 0 –1 V3 0 Observe que, como se formuló en la ecuación (12.9), se requiere de pivoteo parcial para evitar la división entre cero de los elementos de la diagonal. Con el uso de una es- trategia de pivote, el sistema se resuelve mediante cualquiera de las técnicas de elimi- nación que se analizaron en los capítulos 9 y 10. Sin embargo, como este problema es un caso de estudio ideal, para demostrar la utilidad de la matriz inversa se utiliza la descomposición LU para calcular F1 = –500 F2 = 433 F3 = –866 H2 = 0 V2 = 250 V3 = 750 la matriz inversa es 0.866 0.5 0 0 0 0.25 –0.433 0 0 1 0 [A]–1 = –0.5 0.866 0 0 0 0 –1 0 –1 0 –1 0 –0.433 –0.25 0 –1 0 0 0.433 –0.75 0 0 0 –1 Ahora, observe que el vector del lado derecho representa las fuerzas horizontales y verticales aplicadas externamente sobre cada nodo, {F}T = ⎣F1,h F1,v F2,h F2,v F3,h F3,v⎦ (12.10) Debido a que las fuerzas externas no tienen efecto sobre la descomposición LU, no se necesita aplicar el método una y otra vez para estudiar el efecto de diferentes fuerzas
  • 357. externas sobre la armadura. Todo lo que hay que hacer es ejecutar los pasos de sustitución hacia adelante y hacia atrás, para cada vector del lado derecho, y así obtener de manera eficiente soluciones alternativas. Por ejemplo, podríamos querer estudiar el efecto de fuerzas horizontales inducidas por un viento que sopla de izquierda a derecha. Si la fuerza del viento se puede idealizar como dos fuerzas puntuales de 1000 libras sobre los nodos 1 y 2 (figura 12.6a), el vector del lado derecho es {F}T = ⎣–1000 0 1000 0 0 0⎦ que se utiliza para calcular F1 = –866 F2 = 250 F3 = –500 H2 = –2000 V2 = –433 V3 = 433 Para un viento de la derecha (figura 12.6b), F1,h = –1000, F3,h = –1000, y todas las demás fuerzas externas son cero, con lo cual resulta F1 = –866 F2 = –1250 F3 = 500 H2 = 2000 V2 = 433 V3 = –433 Los resultados indican que los vientos tienen efectos marcadamente diferentes sobre la estructura. Ambos casos se presentan en la figura 12.6. Cada uno de los elementos de la matriz inversa tienen también utilidad directa para aclarar las interacciones estímulo-respuesta en la estructura. Cada elemento representa el cambio de una de las variables desconocidas a un cambio unitario de uno de los es- tímulos externos. Por ejemplo, el elemento a–1 32 indica que la tercera incógnita (F3) cam- biará a 0.866 debido a un cambio unitario del segundo estímulo externo (F1,v). De esta forma, si la carga vertical en el primer nodo fuera aumentada en 1, F3 se podría aumen- tar en 0.866. El hecho de que los elementos sean 0 indica que ciertas incógnitas no se ven afectadas por algunos de los estímulos externos. Por ejemplo, a–1 13 = 0 significa que F1 no se ve afectado por cambios en F2,h. Esta habilidad de aislar interacciones tiene FIGURA 12.6 Dos casos de prueba que muestran a) vientos desde la izquierda y b) vientos desde la derecha. a) b) 866 2 000 1 000 1 000 250 5 0 0 433 433 866 2 000 1 000 1 000 1 250 5 0 0 433 433 12.2 ANÁLISIS DE UNA ARMADURA ESTÁTICAMENTE DETERMINADA 333
  • 358. 334 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES diversas aplicaciones en la ingeniería; éstas comprenden la identificación de aquellos componentes que son más sensibles a estímulos externos y, como una consecuencia, más propensos a fallar. Además, esto sirve para determinar los componentes que son inne- cesarios (véase el problema 12.18). El procedimiento anterior resulta particularmente útil cuando se aplica a grandes estructuras complejas. En la práctica de la ingeniería, en ocasiones es necesario resolver estructuras con cientos y aun miles de elementos estructurales. Las ecuaciones lineales proporcionan un medio poderoso para ganar cierta comprensión del comportamiento de dichas estructuras. 12.3 CORRIENTES Y VOLTAJES EN CIRCUITOS CON RESISTORES (INGENIERÍA ELÉCTRICA) Antecedentes. Un problema común en ingeniería eléctrica es la determinación de corrientes y voltajes en algunos puntos de los circuitos con resistores. Tales problemas se resuelven utilizando las reglas para corrientes y voltajes de Kirchhoff. La regla para las corrientes (o nodos) establece que la suma algebraica de todas las corrientes que entran a un nodo debe ser cero (véase figura 12.7a), o Σi = 0 (12.11) donde todas las corrientes que entran al nodo se consideran de signo positivo. La regla de las corrientes es una aplicación del principio de la conservación de la carga (recuerde la tabla 1.1). La regla para los voltajes (o mallas) especifica que la suma algebraica de las dife- rencias de potencial (es decir, cambios de voltaje) en cualquier malla debe ser igual a cero. Para un circuito con resistores, esto se expresa como Σx – ΣiR = 0 (12.12) donde x es la fem (fuerza electromotriz) de las fuentes de voltaje, y R es la resistencia de cualquier resistor en la malla. Observe que el segundo término se obtiene de la ley de Ohm (figura 12.7b), la cual establece que la caída de voltaje a través de un resistor ideal es igual al producto de la corriente por la resistencia. La regla de Kirchhoff para el voltaje es una expresión de la conservación de la energía. FIGURA 12.7 Representaciones esquemá- ticas de a) la regla de las co- rrientes de Kirchhoff y b) la ley de Ohm. i1 i3 i2 Vi Vj Rij iij a) b) FIGURA 12.8 Un circuito con resistores para resolverse usando ecuaciones algebraicas lineales simultáneas. R = 5 ⍀ R = 10 ⍀ R = 10 ⍀ 3 2 1 4 5 6 R = 15 ⍀ R = 5 ⍀ V1 = 200 V V6 = 0 V R = 20 ⍀
  • 359. Solución. La aplicación de estas reglas da como resultado un sistema de ecuaciones algebraicas lineales simultáneas, ya que las mallas que forman un circuito están conec- tadas. Por ejemplo, considere el circuito de la figura 12.8. Las corrientes asociadas con este circuito son desconocidas, tanto en magnitud como en dirección. Esto no presenta gran dificultad, ya que tan sólo se supone una dirección para cada corriente. Si la solu- ción resultante a partir de las leyes de Kirchhoff es negativa, entonces la dirección su- puesta fue incorrecta. Por ejemplo, la figura 12.9 muestra direcciones supuestas para las corrientes. Dadas estas suposiciones, la regla de la corriente de Kirchhoff se aplica a cada nodo para obtener i12 + i52 + i32 = 0 i65 – i52 – i54 = 0 i43 – i32 = 0 i54 – i43 = 0 La aplicación de la regla de voltajes en cada una de las mallas da –i54R54 – i43R43 – i32R32 + i52R52 = 0 –i65R65 – i52R52 + i12R12 – 200 = 0 o, sustituyendo el valor de las resistencias de la figura 12.8 y pasando las constantes al lado derecho, –l5i54 – 5i43 – l0i32 + l0i52 = 0 –20i65 – 10i52 + 5i12 = 200 Por lo tanto, el problema consiste en la solución del siguiente conjunto de seis ecuaciones con seis corrientes como incógnitas: 1 1 1 0 0 0 i12 0 0 –1 0 1 –1 0 i52 0 0 0 –1 0 0 1 i32 = 0 0 0 0 0 1 –1 i65 0 0 10 –10 0 –15 –5 i54 0 5 –10 0 –20 0 0 i43 200 3 2 1 4 5 6 i12 i65 i52 i32 i54 i43 FIGURA 12.9 Corrientes supuestas. 12.3 CORRIENTES Y VOLTAJES EN CIRCUITOS CON RESISTORES 335
  • 360. 336 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES Aunque no es práctico resolverlo a mano, este sistema se resuelve de manera sencilla con un método de eliminación. Si se procede de esta forma, la solución es i12 = 6.1538 i52 = –4.6154 i32 = –1.5385 i65 = –6.1538 i54 = –1.5385 i43 = –1.5385 Así, con una interpretación adecuada de los signos del resultado, las corrientes y volta- jes en el circuito se muestran en la figura 12.10. Deben ser evidentes las ventajas de usar algoritmos numéricos y computadoras para problemas de este tipo. 12.4 SISTEMAS MASA-RESORTE (INGENIERÍA MECÁNICA/AERONÁUTICA) Antecedentes. Los sistemas idealizados masa-resorte desempeñan un papel impor- tante en la mecánica y en otros problemas de ingeniería. En la figura 12.11 se presenta un sistema de este tipo. Después de liberar las masas, éstas son jaladas hacia abajo por la fuerza de gravedad. Observe que el desplazamiento resultante en cada resorte de la figura 12.11b se mide a lo largo de las coordenadas locales referidas a su posición inicial en la figura 12.11a. Como se mencionó en el capítulo 1, la segunda ley de Newton se emplea en conjun- to con el equilibrio de fuerzas para desarrollar un modelo matemático del sistema. Para cada masa, la segunda ley se expresa como m d x dt F F D U 2 2 = – (12.13) Para simplificar el análisis se supondrá que todos los resortes son idénticos y que se comportan de acuerdo con la ley de Hooke. En la figura 12.12a se muestra un diagrama de cuerpo libre para la primera masa. La fuerza hacia arriba es únicamente una expresión directa de la ley de Hooke: FU = kx1 (12.14) Las componentes hacia abajo consisten en las dos fuerzas del resorte junto con la acción de la gravedad sobre la masa, FD = k(x2 – x1) + k(x2 – x1) = m1g (12.15) Observe cómo la componente de fuerza de los dos resortes es proporcional al desplaza- miento de la segunda masa, x2, corregida por el desplazamiento de la primera masa, x1. FIGURA 12.10 La solución obtenida para las corrientes y voltajes usando un método de eliminación. V = 153.85 V = 169.23 i = 1.5385 V = 146.15 V = 123.08 V = 0 V = 200 i = 6.1538
  • 361. Las ecuaciones (12.14) y (12.15) se sustituyen en la ecuación (12.13) para dar m d x dt k x x m g kx 1 2 1 2 2 1 1 1 2 = + ( – ) – (12.16) De esta forma, se ha obtenido una ecuación diferencial ordinaria de segundo orden para describir el desplazamiento de la primera masa con respecto al tiempo. Sin embargo, advierta que la solución no se puede obtener, ya que el modelo tiene una segunda varia- ble dependiente, x2. En consecuencia, se deben desarrollar diagramas de cuerpo libre para la segunda y tercera masa (figuras 12.12b y c) que se emplean para obtener m d x dt k x x m g k x x 2 2 2 2 3 2 2 2 1 2 = + ( – ) – ( – ) (12.17) FIGURA 12.12 Diagramas de cuerpo libre para las tres masas de la figura 12.11. FIGURA 12.11 Un sistema compuesto de tres masas suspendidas verticalmente por una serie de resortes. a) El sistema antes de ser liberado, es decir, antes de la extensión o compresión de los resortes. b) El sistema después de ser liberado. Observe que las posiciones de las masas están en referencia a las coordenadas locales con orígenes en su posición antes de ser liberadas. m1 m3 m2 m1 m3 0 0 0 x1 x2 x3 k k k k b) a) m2 m1 k(x2 – x1) m1g k(x2 – x1) kx1 k(x2 – x1) k(x2 – x1) k(x3 – x2) m2g k(x3 – x2) m3g a) b) c) m2 m3 12.4 SISTEMAS MASA-RESORTE 337
  • 362. 338 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES y m d x dt m g k x x 3 2 3 2 3 3 2 = – ( – ) (12.18) Las ecuaciones (12.16), (12.17) y (12.18) forman un sistema de tres ecuaciones dife- renciales con tres incógnitas. Con las condiciones iniciales apropiadas, estas ecuaciones sirven para calcular los desplazamientos de las masas como una función del tiempo (es decir, sus oscilaciones). En la parte siete estudiaremos los métodos numéricos para ob- tener tales soluciones. Por ahora, podemos obtener los desplazamientos que ocurren cuan- do el sistema eventualmente llega al reposo, es decir, al estado estacionario. Para esto se igualan a cero las derivadas en las ecuaciones (12.16), (12.17) y (12.18), obteniéndose 3kx1 – 2kx2 = m1g –2kx1 + 3kx2 – kx3 = m2g – kx2 + kx3 = m3g o, en forma matricial, [K]{X} = {W} donde [K], conocida como matriz de rigidez, es 3k –2k [K] = –2k 3k –k –k k y {X} y {W} son los vectores columna de las incógnitas X y de los pesos mg, respecti- vamente. Solución. Aquí se emplean métodos numéricos para obtener una solución. Si m1 = 2 kg, m2 = 3 kg, m3 = 2.5 kg, y todas las k = 10 kg/s2 , use la descomposición LU con el propósito de obtener los desplazamientos y generar la inversa de [K]. Sustituyendo los parámetros del modelo se obtiene 30 –20 19.6 [K] = –20 30 –10 {W} = 29.4 –10 10 24.5 La descomposición LU se utiliza con el objetivo de obtener x1 = 7.35, x2 = 10.045 y x3 = 12.495. Estos desplazamientos se utilizaron para construir la figura 12.11b. La inversa de la matriz de rigidez calculada es 0.1 0.1 0.1 [K]–1 = 0.1 0.15 0.15 0.1 0.15 0.25 Cada elemento de la matriz k–1 ji nos indica el desplazamiento de la masa i debido a una fuerza unitaria impuesta sobre la masa j. Así, los valores 0.1 en la columna 1 nos indican que una carga unitaria hacia abajo en la primera masa desplazará todas las ma- sas 0.1 m hacia abajo. Los otros elementos se interpretan en forma similar. Por lo tanto, la inversa de la matriz de rigidez proporciona una síntesis de cómo los componentes del sistema responden a fuerzas que se aplican en forma externa.
  • 363. PROBLEMAS 339 Ingeniería Química/Bioingeniería 12.1 Lleve a cabo el mismo cálculo que en la sección 12.1, pero cambie c01 a 40 y c03 a 10. También cambie los flujos siguientes: Q01 = 6, Q12 = 4, Q24 = 2 y Q44 = 12. 12.2 Si la entrada al reactor 3 de la sección 12.1, disminuye 25 por ciento, utilice la matriz inversa para calcular el cambio por- centual en la concentración de los reactores 1 y 4. 12.3 Debido a que el sistema que se muestra en la figura 12.3 está en estado estacionario (estable), ¿qué se puede afirmar respecto de los cuatro flujos: Q01, Q03, Q44 y Q55? 12.4 Vuelva a calcular las concentraciones para los cinco reac- tores que se muestran en la figura 12.3, si los flujos cambian como sigue: Q01 = 5 Q31 = 3 Q25 = 2 Q23 = 2 Q15 = 4 Q55 = 3 Q54 = 3 Q34 = 7 Q12 = 4 Q03 = 8 Q24 = 0 Q44 = 10 12.5 Resuelva el mismo sistema que se especifica en el proble- ma 12.4, pero haga Q12 = Q54 = 0 y Q15 = Q34 = 3. Suponga que las entradas (Q01, Q03) y las salidas (Q44, Q55) son las mismas. Use la conservación del flujo para volver a calcular los valores de los demás flujos. 12.6 En la figura P12.6 se muestran tres reactores conectados por tubos. Como se indica, la tasa de transferencia de produc- tos químicos a través de cada tubo es igual a la tasa de flujo (Q, en unidades de metros cúbicos por segundo) multiplicada por la concentración del reactor desde el que se origina el flujo (c, en unidades de miligramos por metro cúbico). Si el sistema se encuentra en estado estacionario (estable), la transferencia de entrada a cada reactor balanceará la de salida. Desarrolle las ecuaciones del balance de masa para los reactores y resuelva las tres ecuaciones algebraicas lineales simultáneas para sus concentraciones. PROBLEMAS 12.7 Con el empleo del mismo enfoque que en la sección 12.1, determine la concentración de cloruro en cada uno de los Gran- des Lagos con el uso de la información que se muestra en la fi- gura P12.7. 12.8 La parte baja del río Colorado consiste en una serie de cuatro almacenamientos como se ilustra en la figura P12.8. Puede escribirse los balances de masa para cada uno de ellos, lo que da por resultado el conjunto siguiente de ecuaciones alge- braicas lineales simultáneas: 13 42 0 0 0 13 422 12 252 0 0 0 12 252 12 377 0 0 0 12 . . . . . − − − . . . 377 11 797 1 2 3 4 ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ c c c c ⎭ ⎭ ⎪ ⎪ = ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎭ ⎪ ⎪ 750 5 300 102 30 . donde el vector del lado derecho consiste en las cargas de cloru- ro hacia cada uno de los cuatro lagos y c1, c2, c3 y c4 = las con- centraciones de cloruro resultantes en los lagos Powell, Mead, Mohave y Havasu, respectivamente. a) Use la matriz inversa para resolver cuáles son las concen- traciones en cada uno de los cuatro lagos. b) ¿En cuánto debe reducirse la carga del lago Powell para que la concentración de cloruro en el lago Havasu sea de 75? c) Con el uso de la norma columna-suma, calcule el número de condición y diga cuántos dígitos sospechosos se generarían al resolver este sistema. 12.9 En la figura P12.9 se ilustra un proceso de extracción en etapas. En tales sistemas, una corriente que contiene una fracción de peso Yent de un producto químico ingresa por la izquierda con una tasa de flujo de masa de F1. En forma simultánea, un solven- te que lleva una fracción de peso Xent del mismo producto quí- Figura P12.6 Tres reactores unidos por tubos. La tasa de transferencia de masa a través de cada tubo es igual al producto de flujo Q y la concentración c del reactor desde el que se origina el flujo. 2 3 Q33 = 120 Q13 = 40 Q12 = 80 Q23 = 60 Q21 = 20 Q12c1 Q21c2 Q23c2 Q33c3 Q13c1 400 mg/s 200 mg/s 1
  • 364. 340 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES mico entra por la derecha con una tasa de flujo de F2. Así, para la etapa i, el balance de masa se representa como F1Yi–1 + F2Xi+1 = F1Yi + F2Xi (P12.9a) En cada etapa, se supone que se establece el equilibrio entre Yi y Xi, como en K X Y i i = (P12.9b) donde K se denomina coeficiente de distribución. La ecuación (P12.9b) puede resolverse para Xi y se sustituye en la ecua- ción (P12.9a) para producir Y F F K Y F F K Y i i i – – 1 2 1 2 1 1 1 0 + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = + (P12.9c) Si F1 = 500 kg/h, Yent = 0.1, F2 = 1000 kg/h, Xent = 0 y K = 4, determine los valores de Ysal y Xsal, si se emplea un reactor de cinco etapas. Obsérvese que debe modificarse la ecuación (P12.9c) para tomar en cuenta las fracciones de peso del flujo de entrada cuando se aplique a la primera y última etapas. 12.10 Una reacción de primer orden, irreversible (véase la sec- ción 28.1), tiene lugar en cuatro reactores bien mezclados (véa- se la figura P12.10), A B k ⎯ → ⎯ Así, la tasa a la cual A se transforma en B se representa por Rab = kV c Los reactores tienen volúmenes diferentes, y debido a que se operan a temperaturas diferentes, cada uno tiene distinta tasa de reacción: Reactor V, L k, h–1 1 25 0.075 2 75 0.15 3 100 0.4 4 25 0.1 QSH = 67 QMH = 36 QHE = 161 QEO = 182 QOO = 212 QSHcS QMHcM QHEcH QEOcE QOOcO 3850 4720 740 180 710 Superior Michigan Hurón Superior Erie Ontario Figura P12.7 Balance del cloro en los Grandes Lagos. Las flechas numeradas denotan entradas directas. c1 c2 c3 c4 Alto río Colorado Lago Mead Lago Mohave Lago Havasu Lago Powell FIGURA P12.8 El bajo río Colorado.
  • 365. PROBLEMAS 341 Determine la concentración de A y B en cada uno de los reacto- res en estado estable. 12.11 Una bomba peristáltica envía un flujo unitario (Q1) de un fluido muy viscoso. En la figura P12.11 se ilustra la red. Cada sección de tubo tiene la misma longitud y diámetro. El balance de masa y energía mecánica se simplifica para obtener los flujos en cada tubo. Resuelva el sistema de ecuaciones siguiente a fin de obtener el flujo en cada corriente. Q3 + 2Q4 – 2Q2 = 0 Q5 + 2Q6 – 2Q4 = 0 3Q7 – 2Q6 = 0 Q1 = Q2 + Q3 Q3 = Q4 + Q5 Q5 = Q6 + Q7 12.12 La figura P12.12 ilustra un proceso de intercambio quí- mico que consiste en una serie de reactores en los que un gas que fluye de izquierda a derecha pasa por un líquido que fluye de derecha a izquierda. La transferencia de un producto químico del gas al líquido ocurre a una tasa proporcional a la diferencia entre las concentraciones del gas y el líquido en cada reactor. En esta- do estacionario (estable), el balance de masa para el primer rector se puede escribir para el gas, así Q c Q c D c c G G G G L G 0 1 1 1 0 − + − = ( ) y para el líquido, Q c Q c D c c L L L L G L 2 1 1 1 0 − + − = ( ) donde QG y QL son las tasas de flujo del gas y el líquido, respec- tivamente, y D = tasa de intercambio gas-líquido. Es posible escribir otros balances similares para los demás reactores. Re- suelva para las concentraciones con los siguientes valores dados: QG = 2, QL = 1, D = 0.8, cG0 = 100, cL6 = 10. Q1 Q3 Q5 Q2 Q4 Q6 Q7 Figura P12.11 1 2 3 4 Qent = 10 Q32 = 5 Q43 = 3 cA,ent = 1 Figura P12.10 Flujo = F1 Flujo = F2 x2 xsal x3 xi xi + 1 xn – 1 xn xent y1 yent y2 yi – 1 yi yn – 2 yn – 1 ysal 1 0 2 0 n 0 i n – 1 ••• ••• Figura P12.9 Una etapa del proceso de extracción. cG1 cG0 cG2 cG3 cG4 QG QG QL cG5 QL D cL1 cL2 cL3 cL4 cL5 cL6 Figura P12.12
  • 366. 342 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES Ingeniería civil/ambiental 12.13 Un ingeniero civil que trabaja en la construcción requiere 4800, 5800 y 5700 m3 de arena, grava fina, y grava gruesa, respectivamente, para cierto proyecto constructivo. Hay tres canteras de las que puede obtenerse dichos materiales. La com- posición de dichas canteras es la que sigue Arena Grava fina Grava gruesa % % % Cantera 1 55 30 15 Cantera 2 25 45 30 Cantera 3 25 20 55 ¿Cuántos metros cúbicos deben extraerse de cada cantera a fin de satisfacer las necesidades del ingeniero? 12.14 Ejecute el mismo cálculo que en la sección 12.2, pero para la trabe que se ilustra en la figura P12.14. 12.15 Realice el mismo cálculo que en la sección 12.2, pero para la trabe que se muestra en la figura P12.15. 12.16 Calcule las fuerzas y reacciones para la viga de la figura 12.4, si en el nodo 1 se aplica una fuerza hacia abajo de 2500 kg y otra horizontal hacia la derecha de 2000 kg. 12.17 En el ejemplo de la figura 12.4, donde en el nodo 1 se aplica una fuerza hacia debajo de 1000 libras, se calcularon las reacciones externas V2 y V3. Pero si se hubieran dado las longi- tudes de los miembros de las trabes habría podido calcularse V2 y V3 haciendo uso del hecho de que V2 + V3 debe ser igual a 1000, y con la suma de momentos alrededor del nodo 2. Sin embargo, debido a que se conocen V2 y V3, es posible trabajar a la inversa para resolver cuáles son las longitudes de los miembros de las trabes. Obsérvese que debido a que hay tres longitudes descono- cidas y sólo dos ecuaciones, se puede resolver sólo para la rela- ción entre las longitudes. Resuelva para esta relación. 12.18 Con el mismo método que se usó para analizar la figura 12.4, determine las fuerzas y reacciones para las trabes que se ilustran en la figura P12.18. 12.19 Resuelva para las fuerzas y reacciones para las trabes que se aprecia en la figura P12.19. Determine la matriz inversa para el sistema. ¿Parece razonable la fuerza del miembro vertical en el miembro de en medio? ¿Por qué? 500 1 000 45⬚ 60⬚ 45⬚ 30⬚ Figura P12.15 Figura P12.14 45⬚ 500 250 30⬚ 30⬚ Figura P12.18 60⬚ 45⬚ 45⬚ 60⬚ 5 000 Figura P12.19 600 1 200 30⬚ 45⬚ 45⬚
  • 367. PROBLEMAS 343 12.20 Como su nombre lo dice, la contaminación del aire interior se refiere a la contaminación del aire en espacios cerrados, tales como casas, oficinas, áreas de trabajo, etc. Suponga que usted está diseñando el sistema de ventilación para un restaurante como se ilustra en la figura P12.20. El área de servicio del restaurante consiste en dos habitaciones cuadradas y otra alargada. La ha- bitación 1 y la 3 tienen fuentes de monóxido de carbono que proviene de los fumadores y de una parrilla defectuosa, respec- tivamente. Es posible plantear los balances de masa en estado estacionario para cada habitación. Por ejemplo, para la sección de fumadores (habitación 1), el balance es el siguiente 0 = Wfumador + Qaca – Qac1 + E13(c3 – c1) (carga) + (entrada) – (salida) + (mezcla) o al sustituir los parámetros 225c1 – 25c3 = 1 400 Para las demás habitaciones se pueden escribir balances simi- lares. a) Resuelva para la concentración de monóxido de carbono en estado estacionario en cada habitación. b) Determine qué porcentaje del monóxido de carbono en la sección de niños se debe a (i) los fumadores, (ii) la parrilla, y (iii) el aire que entra por ventilación. c) Si las cargas de los fumadores y la parrilla se incrementan a 2 000 y 5 000 mg/hr, respectivamente, utilice la matriz inversa para determinar el aumento en la concentración en la sección de niños. d) ¿Cómo cambia la concentración en el área de niños si se construye una pantalla de modo que la mezcla entre las áreas 2 y 4 disminuya a 5 m3 /h? Qc = 150 m3 /hr 2 (Sección de niños) 1 (Sección de fumar) Carga por la parrilla (2 000 mg/hr) Carga por fumadores (1 000 mg/hr) 4 25 m3 /hr 25 m3 /hr 3 Qb = 50 m3 /hr cb = 2 mg/m3 Qa = 200 m3 /hr ca = 2 mg/m3 Qd = 100 m3 /hr 50 m 3 /hr Figura P12.20 Vista de arriba de las áreas en un restaurante. Las flechas en un solo sentido representan flujos volumétricos de aire, mientras que las de dos sentidos indican mezclas difusivas. Las cargas debidas a los fumadores y a la parrilla agregan masa de monóxido de carbono al sistema pero con un flujo de aire despreciable. Figura 12.21 12.21 Se aplica una fuerza hacia arriba de 20 kN en la cúspide de un trípode como se ilustra en la figura P12.21. Determine las fuerzas en las patas del trípode. 12.22 Se carga una trabe según se ilustra en la figura P12.22. Con el uso del conjunto siguiente de ecuaciones, resuelva para las 10 incógnitas: AB, BC, AD, BD, CD, DE, CE, Ax, Ay y Ey. D B C A x y 0.6 m 2.4 m 0.8 m 0.8 m 1 m
  • 368. 344 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES Ax + AD = 0 –24 – CD – (4/5)CE = 0 Ay + AB = 0 –AD + DE – (3/5)BD = 0 74 + BC + (3/5)BD = 0 CD + (4/5)BD = 0 – AB – (4/5)BD = 0 – DE – (3/5)CE = 0 – BC + (3/5)CE = 0 Ey + (4/5)CE = 0 Ingeniería eléctrica 12.23 Efectúe el mismo cálculo que en la sección 12.3, pero para el circuito que se ilustra en la figura P12.23. 12.24 Realice el mismo cálculo que en la sección 12.3, pero para el circuito que se muestra en la figura P12.24. 12.25 Resuelva el circuito que aparece en la figura P12.25, para las corrientes en cada conductor. Utilice la eliminación de Gauss con pivoteo. 12.26 Un ingeniero eléctrico supervisa la producción de tres tipos de componentes eléctricos. Para ello se requieren tres clases de material: metal, plástico y caucho. A continuación se presentan las cantidades necesarias para producir cada componente. Metal, Plástico, Hule Componente g/componente g/componente g/componente 1 15 0.30 1.0 2 17 0.40 1.2 3 19 0.55 1.5 Si cada día se dispone de un total de 3.89, 0.095 y 0.282 kg de metal, plástico y caucho, respectivamente, ¿cuántos componen- tes puede producirse por día? 12.27 Determine las corrientes para el circuito de la figura P12.27: 12.28 Calcule las corrientes en el circuito que aparece en la fi- gura P12.28: 12.29 El sistema de ecuaciones que sigue se generó por medio de aplicar la ley de malla de corrientes al circuito de la figura P12.29: 55I1 – 25I4 = –200 –37I3 – 4I4 = –250 –25I1 – 4I3 + 29I4 = 100 Encuentre I1, I3 e I4. 3 m 3 m 4 m D A E C B 74 kN 24 kN Figura P12.22 R = 2 ⍀ R = 5 ⍀ R = 15 ⍀ 3 2 1 4 5 6 R = 5 ⍀ R = 10 ⍀ V1 = 200 voltios V6 = 0 voltios R = 25 ⍀ Figura P12.23 R = 7 ⍀ R = 8 ⍀ R = 10 ⍀ R = 30 ⍀ 3 2 1 4 5 6 R = 15 ⍀ R = 35 ⍀ V1 = 10 voltios V6 = 150 voltios R = 5 ⍀ Figura P12.24 20 ⍀ 5 ⍀ 20 ⍀ 10 ⍀ 20 ⍀ 5 ⍀ 5 ⍀ 50 ⍀ 0 ⍀ 4 7 9 2 1 8 3 6 15 ⍀ 5 V2 = 40 V1 = 120 Figura P12.25
  • 369. PROBLEMAS 345 12.30 El sistema de ecuaciones siguiente se generó con la apli- cación de la ley de malla de corrientes al circuito de la figura P12.30: 60I1 – 40I2 = 200 –40I1 + 150I2 – 100I3 = 0 –100I2 + 130I3 = 230 Encuentre I1, I2 e I3. Ingeniería mecánica/aerospacial 12.31 Lleve a cabo el mismo cálculo que en la sección 12.4, pero agregue un tercer resorte entre las masas 1 y 2, y triplique el valor de k para todos los resortes. 12.32 Realice el mismo cálculo que en la sección 12.4, pero cambie las masas de 2, 3 y 2.5 kg por otras de 10, 3.5 y 2 kg, respectivamente. 12.33 Los sistemas idealizados de masa-resorte tienen aplicacio- nes numerosas en la ingeniería. La figura P12.33 muestra un arreglo de cuatro resortes en serie comprimidos por una fuerza de 1500 kg. En el equilibrio, es posible desarrollar ecuaciones de balance de fuerza si se definen las relaciones entre los resortes. k2(x2 – x1) = k1x1 k3(x3 – x2) = k2(x2 – x1) k4(x4 – x3) = k3(x3 – x2) F = k4(x4 – x3) donde las k son constantes de los resortes. Si de k1 a k4 son 100, 50, 80 y 200 N/m, respectivamente, calcule el valor de las x. 12.34 Se conectan tres bloques por medio de cuerdas carentes de peso y se dejan en reposo en un plano inclinado (véase la fi- gura P12.34a). Con el empleo de un procedimiento similar al que se usó en el análisis del paracaidista en descenso del ejemplo 100 V 25 ⍀ 25 ⍀ 8 ⍀ 4 ⍀ + – 10 A 10 ⍀ 20 ⍀ I2 I3 I4 I1 Figura P12.29 15 ⍀ 25 ⍀ 50 V 80 V 5 ⍀ 10 ⍀ 20 ⍀ + – + – Figura P12.27 20 V 8 ⍀ 4 ⍀ 5 ⍀ 2 ⍀ + – 6 ⍀ i3 i1 j2 Figura P12.28 200 V 80 V 10 A 20 ⍀ 40 ⍀ 10 ⍀ 100 ⍀ 30 ⍀ + – + – I1 I2 I3 I4 Figura P12.30
  • 370. 346 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES 9.11 se llega al conjunto siguiente de ecuaciones simultáneas (en la figura P12.34b se muestran los diagramas de cuerpo libre): 100a + T = 519.72 50a – T + R = 216.55 25a – R = 108.27 Resuelva para la aceleración a y las tensiones T y R en las dos cuerdas. 12.35 Efectúe un cálculo similar al que se utilizó en el problema P12.34, pero para el sistema que se ilustra en la figura P12.35. 12.36 Realice el mismo cálculo que en el problema 12.34, pero para el sistema que se muestra en la figura P12.36 (los ángulos son de 45º). 12.37 Considere el sistema de tres masas y cuatro resortes que aparece en la figura P12.37. Al determinar las ecuaciones de movimiento a partir de ∑ Fx = ma, para cada masa con el empleo de su diagrama de cuerpo libre, se llega a las ecuaciones diferen- ciales siguientes: ˙˙ – ˙˙ – – ˙˙ – x k k m x k m x x k m x k k m x k m x x k m x k k m x 1 1 2 1 1 2 1 2 2 2 2 1 2 3 2 2 3 2 3 3 3 3 2 3 4 3 3 0 0 + + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = 0 0 F k4 x4 x x3 x2 x1 0 k3 k2 k1 Figura P12.33 b) a) 1 0 0 k g 5 0 k g a , a c e l e r a c i ó n 2 5 k g 45⬚ R T R T 6 9 2 . 9 6 692.96 100 ⫻ 9.8 = 980 6 9 2 . 9 6 ⫻ 0 . 2 5 = 1 7 3 . 2 4 3 4 6 . 4 8 346.48 50 ⫻ 9.8 = 490 3 4 6 . 4 8 ⫻ 0 . 3 7 5 = 1 2 9 . 9 3 1 7 3 . 2 4 173.24 25 ⫻ 9.8 = 245 1 7 3 . 2 4 ⫻ 0 . 3 7 5 = 6 4 . 9 7 Figura P12.34
  • 371. PROBLEMAS 347 donde k1 = k4 = 10 N/m, k2 = k3 = 30 N/m, y m1 = m2 = m3 = m4 = 2 kg. Escriba las tres ecuaciones en forma matricial: 0 = [vector de aceleración] + [matriz k/m] [vector de desplazamiento x] En un momento específico en el que x1 = 0.05 m, x2 = 0.04 m, y x3 = 0.03 m, se forma una matriz tridiagonal. Resuelva cuál es la aceleración de cada masa. 12.38 Las ecuaciones algebraicas lineales pueden surgir al re- solver ecuaciones diferenciales. Por ejemplo, la ecuación dife- rencial siguiente proviene de un balance de calor para una barra larga y delgada (véase la figura P12.38): d T dx h T T a 2 2 0 + − = ′( ) (P12.38) donde T = temperatura (ºC), x = distancia a lo largo de la barra (m), h′ = coeficiente de transferencia de calor entre la barra y el aire del ambiente (m–2 ), y Ta = temperatura del aire circundante (ºC). Esta ecuación se transforma en un conjunto de ecuaciones algebraicas lineales por medio del uso de una aproximación en diferencias finitas divididas para la segunda derivada (recuerde la sección 4.1.3), d T dx T T T x i i i 2 2 1 1 2 2 = − + ∆ + − donde Ti denota la temperatura en el nodo i. Esta aproximación se sustituye en la ecuación (P12.38) y se obtiene − + + ∆ − = ∆ − + T h x T T h x T i i i a 1 2 1 2 2 ( ) ′ ′ Se puede plantear esta ecuación para cada uno de los nodos in- teriores de la barra, lo que resulta en un sistema tridiagonal de ecuaciones. Los nodos primero y último en los extremos de la barra están fijos por las condiciones de frontera. a) Desarrolle la solución analítica para la ecuación (P12.38) para una barra de 10 m con Ta = 20, T(x = 0) = 40, T(x = 10) = 200 y h′ = 0.02. b) Desarrolle una solución numérica para los mismos valores de los parámetros que se emplearon en el inciso a), con el uso de una solución en diferencias finitas con cuatro nodos in- teriores según se muestra en la figura P12.38 (∆x = 2 m). 12.39 La distribución de temperatura de estado estable en una placa caliente está modelada por la ecuación de Laplace: 0 2 2 2 2 = ∂ ∂ + ∂ ∂ T x T y Si se representa la placa por una serie de nodos (véase la figura P12.39), las diferencias finitas divididas se pueden sustituir por las segundas derivadas, lo que da como resultado un sistema de ecuaciones algebraicas lineales. Utilice el método de Gauss- Seidel para resolver cuáles son las temperaturas de los nodos que se aprecian en la figura P12.39. 40 kg 5 0 k g 10 kg 30⬚ 60⬚ Fricción = 0.5 Fricción = 0.3 Fricción = 0.2 Figura P12.35 m1 m2 m3 x1 k2 k3 k4 k1 x2 x3 Figura P12.37 Fricción = 0.8 Fricción = 0.2 8 kg 1 0 k g 1 5 k g 5 kg Figura P12.36 ⌬x T0 = 40 T5 = 200 Ta = 10 Ta = 10 x = 0 x = 10 Figura P12.38 Una barra uniforme sin aislamiento colocada entre dos pare- des de temperatura constante pero diferente. La representa- ción en diferencias finitas emplea cuatro nodos interiores.
  • 372. 348 ESTUDIO DE CASOS: ECUACIONES ALGEBRAICAS LINEALES 12.40 Una barra sobre una bola y una junta tipo socket está su- jeta a los cables A y B como se observa en la figura P12.40. a) Si se ejerce una fuerza de 50 N sobre la barra sin masa en G, ¿cuál es la fuerza de la tensión en los cables A y B? b) Resuelva cuáles son las fuerzas de reacción en la base de la barra. Denomine al punto de la base como P. Bola y socket y x z 50 N 2 m 2 m 2 m 1 m B 2 m 1 m A T12 T11 T22 T21 100⬚C 100⬚C 0⬚C 0⬚C 75⬚C 75⬚C 25⬚C 25⬚C Figura P12.39 Figura P12.40
  • 373. EPÍLOGO: PARTE TRES PT3.4 ALTERNATIVAS La tabla PT3.2 ofrece un resumen de las ventajas y desventajas en la solución de ecua- ciones algebraicas lineales simultáneas. Dos métodos (el gráfico y la regla de Cramer) están limitados a pocas ecuaciones (≤ 3), de modo que tienen escasa utilidad para resolver problemas prácticos. Sin embargo, dichas técnicas son herramientas didácticas útiles para entender el comportamiento de los sistemas lineales en general. Los métodos numéricos se dividen en dos categorías generales: métodos exactos y aproximados. Los primeros, como su nombre lo indica, buscan dar resultados exactos. No obstante, como están afectados por errores de redondeo, algunas veces dan resultados imprecisos. La magnitud del error de redondeo varía en cada sistema y depende de varios factores, tales como las dimensiones del sistema, su condición y el hecho de si la matriz de coeficientes es dispersa o densa. Además, la precisión de la computadora afectará el error de redondeo. Se recomienda una estrategia de pivoteo en todo programa de computadora que realice métodos de eliminación exactos. Esa estrategia minimiza el error de redondeo y evita problemas como el de la división entre cero. Los algoritmos basados en la descomposición LU son los métodos que se eligen debido a su eficiencia y flexibilidad. TABLA PT3.2 Comparación de las características de diversos métodos alternativos para encontrar soluciones de ecuaciones algebraicas lineales simultáneas. Rango de Complejidad de Método Estabilidad Precisión aplicación programación Comentarios Gráfico — Pobre Limitado — Puede tomar más tiempo que el método numérico Regla de Cramer — Afectada por errores Limitado — Excesiva complejidad de redondeo de cálculo para más de tres ecuaciones Eliminación de Gauss — Afectada por errores General Moderada (con pivoteo parcial) de redondeo Descomposición LU — Afectada por errores General Moderada Método de eliminación de redondeo preferido; permite el cálculo de la matriz inversa Gauss-Seidel Puede no Excelente Apropiada Fácil converger sólo para si no es sistemas diagonalmente diagonalmente dominante dominantes
  • 374. Aunque los métodos de eliminación tienen gran utilidad, el uso de toda la matriz de los coeficientes puede ser limitante cuando se trate con sistemas dispersos muy grandes. Esto se debe a que gran parte de la memoria de la computadora se dedicaría a guardar ceros que no tienen significado. Para sistemas bandeados, hay técnicas para realizar métodos de eliminación sin tener que guardar todos los coeficientes de la matriz. LatécnicaaproximadadescritaenestelibroseconocecomométododeGauss-Seidel, el cual difiere de las técnicas exactas porque emplea un esquema iterativo para obtener, progresivamente, estimaciones más cercanas a la solución. El efecto del error de redon- deo es un punto discutible en el método de Gauss-Seidel, ya que se pueden continuar las iteraciones hasta que se obtenga la precisión deseada. Además, se pueden desarrollar versionesdelmétododeGauss-Seidelparautilizardemaneraeficientelosrequerimientos de almacenaje en computadora con sistemas dispersos. En consecuencia, la técnica de Gauss-Seidel es útil para grandes sistemas de ecuaciones, donde los requerimientos de almacenaje podrían llevar a problemas significativos con las técnicas exactas. La desventaja del método de Gauss-Seidel es que no siempre converge o algunas veces converge de manera lenta a la solución verdadera. Es confiable sólo para aquellos sistemas que son diagonalmente dominantes. Sin embargo, hay métodos de relajación que algunas veces contrarrestan tales desventajas. Además, como muchos sistemas de ecuaciones algebraicas lineales surgen de sistemas físicos que presentan dominancia diagonal, el método de Gauss-Seidel tiene gran utilidad para resolver problemas de ingeniería. En resumen, varios factores serán relevantes en la elección de una técnica para un problema en particular que involucre ecuaciones algebraicas lineales. No obstante, como se mencionó antes, el tamaño y la densidad del sistema son factores particularmente importantes en la determinación de su elección. PT3.5 RELACIONES Y FÓRMULAS IMPORTANTES Cada una de las partes de este libro incluye una sección que resume fórmulas importantes. Aunque la parte tres no trata en realidad sólo con fórmulas, la tabla PT3.3 se emplea para resumir los algoritmos expuestos. La tabla proporciona una visión general, que será de gran ayuda para revisar y aclarar las principales diferencias entre los métodos. PT3.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES Se pueden encontrar referencias generales acerca de la solución de ecuaciones lineales simultáneas en Faddeev y Faddeeva (1963), Stewart (1973), Varga (1962) yYoung (1971). Ralston y Rabinowitz (1978) proporcionan un resumen general. Hay muchas técnicas avanzadas para aumentar el ahorro de tiempo y/o espacio en la solución de ecuaciones algebraicas lineales. La mayoría de éstas se enfocan al aprovechamiento de las propiedades de las ecuaciones, como simetría y bandeado. En particular se dispone de algoritmos que operan sobre matrices dispersas para convertirlas a un formato bandeado mínimo. Jacobs (1977) y Tewarson (1973) incluyen información sobre este tema. Una vez que se encuentran en un formato bandeado mínimo, existen diversas estrategias de solución eficientes: tal como el método de almacenamiento en una columna activa de Bathe y Wilson (1976). 350 EPÍLOGO: PARTE TRES
  • 375. Además de los conjuntos de ecuaciones n ⫻ n, hay otros tipos de sistemas donde el número de ecuaciones, m, y el número de incógnitas, n, no son iguales. A los sistemas donde m n se les conoce como subdeterminados. En tales casos quizá no haya solución o tal vez haya más de una. Los sistemas donde m n se denominan sobredeterminados. En tales situaciones no hay, en general, solución exacta. Sin embargo, a menudo es posible desarrollar una solución que intente determinar soluciones que estén “lo más cercanas”, para satisfacer todas las ecuaciones de manera simultánea. Un procedimiento común consiste en resolver la ecuación en un sentido de “mínimos cuadrados” (Lawson y Han- son, 1974; Wilkinson y Reinsch, 1971).Alternativamente, se pueden utilizar métodos de programación lineal, con los cuales las ecuaciones se resuelven en un sentido “optimal”, minimizando alguna función objetivo (Dantzig, 1963; Luenberger, 1973 y Rabinowitz, 1968). En el capítulo 15 se describe con mayor detalle este procedimiento. a11 a21 a31 a12 a22 a32 a13 a23 a33 c1 c2 c3 | | | ⇒ a11 a12 a22 a13 a23 a33 c1 c2 c3 | | | ⇒ x3 = c3/a33 x2 = (c2 – a23x3)/a22 x1 = (c1 – a12x1 – a13x3)/a11 Problemas: Mal condicionamiento Redondeo División entre cero Soluciones: Alta precisión Pivoteo parcial Eliminación de Gauss a11 a21 a31 a12 a22 a32 a13 a23 a33 ⇒ 1 I21 I31 Problemas: Mal condicionamiento Redondeo División entre cero Soluciones: Alta precisión Pivoteo parcial Descomposición LU 0 1 I32 0 0 1 d1 d2 d3 = c1 c2 c3 ⇒ u11 0 0 u12 u22 0 u13 u23 u33 x1 x2 x3 = d1 d2 d3 ⇒ x1 x2 x3 '' '' '' ' ' ' ' ' ' x1 = (c1 – a12x2 – a13x3 )/a11 Método de Gauss-Seidel Problemas: Divergente o converge lentamente Soluciones: Dominancia diagonal Relajación x3 = (c3 – a31x1 – a32x2) /a33 x2 = (c2 – a21x1 – a23x3 )/a22 i–1 i–1 i i–1 i i xi – xi ———— 100% εs xi Continúa iterativamente hasta para todas las xi i i–1 '' Descomposición Sustitución hacia atrás Sustitución hacia adelante i i i i TABLA PT3.3 Resumen de información importante que se presenta en la parte tres. Problemas y soluciones Método Procedimiento potenciales PT3.6 MÉTODOS AVANZADOS Y REFERENCIAS ADICIONALES 351
  • 377. OPTIMIZACIÓN PT4.1 MOTIVACIÓN La localización de raíces (parte dos) y la optimización están relacionadas, en el sentido de que ambas involucran valores iniciales y la búsqueda de un punto en una función. La diferencia fundamental entre ambos tipos de problemas se ilustra en la figura PT4.1. La localización de raíces es la búsqueda de los ceros de una función o funciones. En cambio, la optimización es la búsqueda ya sea del mínimo o del máximo. El óptimo es el punto donde la curva es plana. En términos matemáticos, esto co- rresponde al valor de x donde la derivada ƒ′(x) es igual a cero. Además, la segunda de- rivada, ƒ″(x), indica si el óptimo es un mínimo o un máximo: si ƒ″(x) 0, el punto es un máximo; si ƒ″(x) 0, el punto es un mínimo. Si comprendemos ahora la relación entre las raíces y el óptimo, es posible sugerir una estrategia para determinar este último; es decir, se puede derivar a la función y lo- calizar la raíz (el cero) de la nueva función. De hecho, algunos métodos de optimización tratan de encontrar un óptimo resolviendo el problema de encontrar la raíz: ƒ′(x) = 0. Deberá observarse que tales búsquedas con frecuencia se complican porque ƒ′(x) no se puede obtener analíticamente. Por lo tanto, es necesario usar aproximaciones por dife- rencia finita para estimar la derivada. Más allá de ver la optimización como un problema de raíces, deberá observarse que la tarea de localizar el óptimo está reforzada por una estructura matemática extra que no es parte del encontrar una raíz simple. Esto tiende a hacer de la optimización una tarea más fácil de realizar, en particular con casos multidimensionales. PT4.1.1 Métodos sin computadora e historia Como se mencionó antes, los métodos de cálculo diferencial aún se utilizan para deter- minar soluciones óptimas. Todos los estudiantes de ciencias e ingeniería recuerdan haber resuelto problemas de máximos y mínimos mediante la determinación de las primeras FIGURA PT4.1 Una función de una sola variable ilustra la diferencia entre las raíces y el óptimo. Máximo Mínimo 0 Raíz Raíz Raíz f(x) x f⬘(x) = 0 f⬙(x) ⬎ 0 f⬘(x) = 0 f⬙(x) ⬍ 0 f(x) = 0
  • 378. 354 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA derivadas de las funciones en sus cursos sobre cálculo. Bernoulli, Euler, Lagrange y otros establecieron los fundamentos del cálculo de variaciones, el cual trata con la mi- nimización de funciones. El método de los multiplicadores de Lagrange se desarrolló para optimizar problemas con restricciones, es decir, problemas de optimización donde las variables están limitadas en alguna forma. El primer avance de importancia en los procedimientos numéricos ocurrió con el desarrollodelascomputadorasdigitalesdespuésdelaSegundaGuerraMundial.Koopmans, en el Reino Unido, y Kantorovich, en la ex Unión Soviética, trabajaron en forma indepen- diente sobre el problema general de distribución a bajo costo de artículos y productos. En 1947, un alumno de Koopman, Dantzig, inventó el método simplex para resolver problemas de programación lineal. Este método abrió el camino a muchos investigadores hacia otros métodos de optimización con restricciones; entre los más notables se encuentran Charnes y sus colegas. Los métodos de optimización restringida también se desarrollaron en forma rápida debido a la disponibilidad tan amplia de computadoras. PT4.1.2 Optimización y la práctica en ingeniería La mayoría de los modelos matemáticos con que hemos tratado hasta ahora han sido descriptivos. Es decir, se han obtenido para simular el comportamiento de un dispositi- vo o sistema en ingeniería. En cambio, la optimización tiene que ver con la determinación del “mejor resultado”, o solución óptima, de un problema. Así, en el contexto del mode- lado, se les llama con frecuencia modelos prescriptivos, puesto que sirven para señalar un curso de acción o el mejor diseño. Los ingenieros continuamente tienen que diseñar dispositivos y productos que rea- licen tareas de manera eficiente. Al hacerlo de esta manera, están restringidos por las limitaciones del mundo físico. Además, deben mantener costos bajos. Así, los ingenieros siempre se enfrentan a problemas de optimización que equilibren el funcionamiento y las limitaciones. Algunos ejemplos comunes se mencionan en la tabla PT4.1. El siguien- TABLA PT4.1 Algunos ejemplos comunes de problemas de optimización en ingeniería. • Diseño de un avión con peso mínimo y resistencia máxima. • Trayectorias óptimas de vehículos espaciales. • Diseño de estructuras en la ingeniería civil con un mínimo costo. • Planeación de obras para el abastecimiento de agua, como presas, que permitan disminuir daños por inundación, mientras se obtiene máxima potencia hidráulica. • Predicción del comportamiento estructural minimizando la energía potencial. • Determinación del corte de materiales con un mínimo costo. • Diseño de bombas y equipos de transferencia de calor con una máxima eficiencia. • Maximización de la potencia de salida de circuitos eléctricos y de maquinaria, mientras se minimiza la generación de calor. • Ruta más corta de un vendedor que recorre varias ciudades durante un viaje de negocios. • Planeación y programación óptimas. • Análisis estadístico y modelado con un mínimo error. • Redes de tubería óptimas. • Control de inventario. • Planeación del mantenimiento para minimizar costos. • Minimización de tiempos de espera. • Diseño de sistemas de tratamiento de residuos para cumplir con estándares de calidad del agua a bajo costo.
  • 379. te ejemplo fue desarrollado para ayudarlo a obtener una visión de la manera en que se pueden formular tales problemas. EJEMPLO PT.4.1 Optimización del costo de un paracaídas Planteamiento del problema. A lo largo de este libro, hemos utilizado la caída de un paracaidista para ilustrar diversos temas básicos para la solución de problemas con métodos numéricos. Usted puede haber notado que ninguno de tales ejemplos se ocupó de lo que pasa después de que el paracaídas se abre. En este ejemplo examinaremos un caso donde el paracaídas se abre, y nos interesa predecir la velocidad de impacto con el suelo. Usted es un ingeniero que trabaja para una institución que lleva abastecimientos a los refugiados en una zona de guerra. Los abastecimientos se arrojarán a baja altitud (500 m), de tal forma que la caída no sea detectada y que los abastecimientos caigan tan cerca como sea posible del campo de refugiados. Los paracaídas se abren en forma in- mediata al salir del aeroplano. Para reducir daños, la velocidad vertical de impacto debe ser menor a un valor crítico vc = 20 m/s. El paracaídas que se usa para la caída se ilustra en la figura PT4.2. El área de la sección transversal del paracaídas es la de una semiesfera, A = 2πr2 (PT4.1) La longitud de cada una de las 16 cuerdas, que unen al paracaídas con la masa, está relacionada con el radio del paracaídas mediante = 2r (PT4.2) Usted sabe que la fuerza de arrastre del paracaídas es una función lineal del área de su sección transversal descrita con la siguiente fórmula: c = kcA (PT4.3) donde c = coeficiente de arrastre (kg/s) y kc = una constante de proporcionalidad que parametriza el efecto del área sobre el arrastre [kg/(s · m2 )]. También, se puede dividir la carga completa en tantos paquetes como se quiera. Es decir, la masa de cada paquete se calcula así m M n t = FIGURA PT4.2 Un paracaídas abierto. m r ᐉ PT4.1 MOTIVACIÓN 355
  • 380. 356 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA donde m = masa de cada paquete (kg), Mt = carga total que habrá de arrojarse (kg) y n = número total de paquetes. Por último, el costo de cada paracaídas está relacionado con su tamaño en una forma no lineal, Costo por paracaídas = c0 + c1ᐉ + c2A2 (PT4.4) donde c0, c1 y c2 son coeficientes de costo. El término constante, c0, es el costo base de los paracaídas. La relación no lineal entre costo y área se debe a que la fabricación de los paracaídas de gran tamaño es más complicada que la de los paracaídas pequeños. Determine el tamaño (r) y el número de paracaídas (n) que se obtienen a un mínimo costo y que, al mismo tiempo, satisfacen el requerimiento de lograr una velocidad de impacto suficientemente pequeña. Solución. El objetivo aquí consiste en determinar la cantidad y el tamaño de los pa- racaídas que minimicen el costo de la operación. El problema tiene restricciones, ya que los paquetes deben tener una velocidad de impacto menor al valor crítico. El costo se calcula al multiplicar el valor de un solo paracaídas [ecuación (PT4.4)] por el número de paracaídas (n). Así, la función que usted debe minimizar, llamada formalmente función objetivo, se escribe como Minimizar C = n(c0 + c1ᐉ + c2A2 ) (PT4.5) donde C = costo ($) y A y ᐉ se calculan con las ecuaciones (PT4.1) y (PT4.2), respecti- vamente. A continuación, se deben especificar las restricciones. En este problema existen dos restricciones. Primera, la velocidad de impacto debe ser igual o menor que la velocidad crítica. v ≤ vc (PT4.6) Segunda, el número de paquetes debe ser un entero mayor o igual a 1, n ≥ 1 (PT4.7) donde n es un entero. En este momento, ya se ha formulado el problema de optimización. Como se obser- va, es un problema con restricciones no lineal. Aunque el problema se ha formulado completamente, se debe tener en cuenta algo más: ¿cómo se determina la velocidad de impacto v? Recuerde del capítulo 1 que la velocidad de un objeto que cae se calcula así: v = gm c e c m t ( – ) –( / ) 1 (1.10) donde v = velocidad (m/s), g = aceleración de la gravedad (m/s2 ), m = masa (kg) y t = tiempo (s). Aunque la ecuación (1.10) proporciona una relación entre v y t, lo que se necesita saber en cuánto tiempo cae la masa. Por lo tanto, es necesaria una relación entre la dis- tancia de caída z y el tiempo de caída t. La distancia de caída se calcula a partir de la velocidad en la ecuación (1.10) mediante la integración
  • 381. z gm c e dt t c m t = ∫0 1 ( – ) –( / ) (PT4.8) Esta integral se evalúa para obtener z z gm c t gm c e c m t = + − 0 2 2 1 – ( – ) ( / ) (PT4.9) donde z0 = altura inicial (m). Esta función, como muestra la gráfica de la figura PT4.3, ofrece una manera de predecir z conociendo t. Sin embargo, no se necesita z como función de t para resolver este problema. Lo que necesitamos es el tiempo requerido por el paquete, al caer, la distancia z0. Así, se reco- noce que tenemos que reformular la ecuación (PT4.9) como un problema de determina- ción de raíces. Esto es, se debe encontrar el tiempo en el que z toma el valor de cero, f t z gm c t gm c e c m t ( ) ( ) ( / ) = = − + − − 0 1 0 2 2 (PT4.10) Una vez que se calcula el tiempo de impacto, se sustituye en la ecuación (1.10) con la finalidad de obtener la velocidad de impacto. El planteamiento del problema sería entonces Minimizar C = n(c0 + c1ᐉ + c2A2 ) (PT4.11) sujeta a v ≤ vc (PT4.12) n ≥ 1 (PT4.13) 5 10 t (s) v (m/s) z (m) 15 Impacto 0 0 200 400 600 FIGURA PT4.3 La altura z y la velocidad v de un paracaídas abierto conforme cae al suelo (z = 0). PT4.1 MOTIVACIÓN 357
  • 382. 358 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA donde A = 2πr2 (PT4.14) = 2r (PT4.15) c = kcA (PT4.16) m M n t = (PT4.17) t z gm c t gm c e c m t = − + − ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ − raíz 0 2 2 1 ( ) ( / ) (PT4.18) v = − − gm c e c m t ( ) ( / ) 1 (PT4.19) Resolveremos este problema en el ejemplo 15.4 al final del capítulo 15. Por ahora re- conozca que este problema tiene la mayoría de los elementos fundamentales de otros pro- blemas de optimización, que usted enfrentará en la práctica de la ingeniería. Éstos son • El problema involucrará una función objetivo que se optimizará. • Tendrá también un número de variables de diseño. Éstas pueden ser números reales o enteros. En nuestro ejemplo, dichas variables son r (real) y n (entero). • El problema incluye restricciones que consideran las limitaciones bajo las cuales se trabaja. Plantearemos una reflexión más antes de proceder. Aunque la función objetivo y las restricciones quizá, en forma superficial, parezcan ecuaciones simples [por ejemplo, la ecuación (PT4.12)], de hecho, pueden ser sólo la “punta del iceberg”. Es decir, pueden basarse en modelos y dependencias complicadas. Por ejemplo, como en este caso, llegan a involucrar otros métodos numéricos [ecuación (PT4.18)], lo cual significa que las rela- ciones funcionales que usted estará usando podrían representar cálculos largos y compli- cados. Por lo que, las técnicas que permitan encontrar la solución óptima, y que al mismo tiempo simplifiquen las evaluaciones de las funciones, serán valiosas en extremo. PT4.2 ANTECEDENTES MATEMÁTICOS Existen bastantes conceptos matemáticos que son la base de la optimización. Como creemos que para usted éstos serán más relevantes en su forma contextual, se dejará el análisis de los prerrequisitos matemáticos específicos hasta que se ocupen. Por ejemplo, se analizarán los importantes conceptos del gradiente y el hessiano al inicio del capítulo 14, que trata sobre optimización sin restricciones multivariada. Mientras tanto, ahora nos limitaremos al tema más general de cómo se clasifican los problemas de optimización. Un problema de programación matemática u optimización generalmente se puede establecer como
  • 383. Determine x, que minimiza o maximiza f(x) sujeto a di(x) ≤ ai i = 1, 2,..., m (PT4.20) ei(x) = bi i = 1, 2,..., p (PT4.21) donde x es un vector de diseño n-dimensional; f(x) es la función objetivo; di(x) son las restricciones de desigualdad; ei(x) son las restricciones de igualdad, y ai y bi son cons- tantes. Los problemas de optimización se clasifican considerando la forma de f(x): • Si f(x) y las restricciones son lineales, tenemos un problema de programación li- neal. • Si f(x) es cuadrática y las restricciones son lineales, tenemos un problema de pro- gramación cuadrática. • Si f(x) no es lineal ni cuadrática y/o las restricciones no son lineales, tenemos un problema de programación no lineal. Se dice también que, cuando las ecuaciones (PT4.20) y (PT4.21) se incluyen, se tiene un problema de optimización restringido; de otra forma, se trata de un problema de opti- mización no restringido. Observe que en problemas restringidos, los grados de libertad están dados por n-p- m. Generalmente, para obtener una solución, p + m debe ser ≤ n. Si p + m n, se dice que el problema está sobrerrestringido. FIGURA PT4.4 a) Optimización unidimensional. Esta figura también ilustra cómo la minimización de f(x) es equivalente a la maximización de –f(x). b) Optimización bidimensional. Observe que esta figura puede tomarse para representar ya sea una maximización (los contornos aumentan de elevación hasta un máximo como en una montaña), o una minimización (los contornos disminuyen de elevación hasta un mínimo como un valle). x* x* x x b) a) Óptimo f (x*, y*) Mínimo f (x) f (x) – f (x) Máximo – f (x) f (x, y) f (x) y* y PT4.2 ANTECEDENTES MATEMÁTICOS 359
  • 384. 360 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA Otra forma de clasificar los problemas de optimización es según su dimensionalidad. En general se dividen en unidimensionales y multidimensionales. Como su nombre lo indica, los primeros involucran funciones que dependen de una sola variable indepen- diente. Como en la figura PT4.4a, la búsqueda consiste, entonces, en ascender o descen- der picos y valles unidimensionales. Los problemas multidimensionales implican funciones que dependen de dos o más variables independientes. En el mismo sentido, la optimización bidimensional, de nuevo, se visualiza como una búsqueda de picos y valles (PT4.4b). Sin embargo, justo como en un paseo campestre, no estamos limitados a ca- minar en una sola dirección; en lugar de esto se examina la topografía para alcanzar el objetivo en forma eficiente. Finalmente, el proceso de encontrar un máximo o de encontrar un mínimo es, en esencia, idéntico, ya que un mismo valor, por ejemplo x*, minimiza f(x) y maximiza –f(x). Esta equivalencia se ilustra en forma gráfica, para una función unidimensional, en la figura PT4.4a. PT4.3 ORIENTACIÓN Resulta útil alguna orientación antes de desarrollar los métodos numéricos para la op- timización. Lo siguiente lleva la intención de dar una visión general del material en la parte cuatro. Además, se presentan algunos objetivos para ayudarlo a enfocar sus esfuer- zos cuando se estudie el material. PT4.3.1 Alcance y presentación preliminar La figura PT4.5 es una representación esquemática de la organización de la parte cuatro. Examine esta figura con cuidado, comenzando desde arriba y después yendo en sentido de las manecillas del reloj. Después de la presente introducción, el capítulo 13 se dedica a la optimización unidimensional no restringida. Se presentan métodos para determinar el mínimo o el máximo de una función con una sola variable. Se examinan tres métodos: búsqueda de la sección dorada, interpolación cuadrática y el método de Newton. Tales métodos tienen también relevancia en la optimización multidimensional. El capítulo 14 cubre dos tipos generales de métodos para resolver problemas de opti- mización multidimensional no restringida. Los métodos directos, tales como búsquedas aleatorias, búsquedas univariadas y búsquedas de patrones, no requieren la evaluación de las derivadas de la función. Por otro lado, los métodos de gradiente utilizan la primera o la segunda derivada para encontrar el óptimo. En este capítulo se introduce el gradiente y el hessiano, que son las representaciones multidimensionales de la primera y la segunda derivada. El método de paso ascendente/descendente se estudia después con detalle. A esto le siguen descripciones de algunos métodos avanzados: el gradiente conjugado, el método de Newton, el método de Marquardt y los métodos cuasi-Newton. En el capítulo 15 se dedica a la optimización restringida. La programación lineal se describe con detalle usando tanto la representación gráfica como el método simplex. El análisis detallado de optimización restringida no lineal está fuera del alcance de este texto; no obstante, se ofrece una visión general de los principales métodos. Además, se ilustra cómo tales problemas (junto con los estudiados en los capítulos 13 y 14) se re- suelven con bibliotecas y paquetes de software, como Excel, MATLAB e IMSL.
  • 385. PT4.3 ORIENTACIÓN 361 CAPÍTULO 13 Optimización unidimensional no restringida PARTE 4 Optimización CAPÍTULO 14 Optimización multidimensional no restringida CAPÍTULO 15 Optimización restringida CAPÍTULO 16 Aplicaciones en ingeniería: optimización EPÍLOGO 14.2 Métodos de gradiente 14.1 Métodos directos PT4.2 Antecedentes matemáticos PT4.5 Referencias adicionales 16.4 Ingeniería mecánica 16.3 Ingeniería eléctrica 16.2 Ingeniería civil 16.1 Ingeniería química 15.1 Programación lineal 15.3 Bibliotecas y paquetes 15.2 Optimización restringida no lineal PT4.4 Alternativas PT4.3 Orientación PT4.1 Motivación 13.2 Interpolación cuadrática 13.3 Método de Newton 13.1 Búsqueda de la sección dorada FIGURA PT4.5 Representación de la organización del material en la parte cuatro: Optimización. En el capítulo 16 se extienden los conceptos anteriores a problemas que se presen- tan en la ingeniería. Se utilizan las aplicaciones en ingeniería para ilustrar cómo se formulan los problemas de optimización, y para dar una visión sobre la aplicación de las técnicas de solución en la práctica profesional. Se incluye un epílogo al final de la parte cuatro. Éste contiene un repaso de los métodos analizados en los capítulos 13, 14 y 15. Dicho repaso da una descripción de las
  • 386. 362 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA ventajas y desventajas relacionadas con el uso apropiado de cada técnica. Esta sección también presenta referencias acerca de algunos métodos numéricos que van más allá del alcance de este libro. PT4.3.2 Metas y objetivos Objetivos de estudio. Después de estudiar la parte cuatro, usted tendrá suficiente información para abordar con éxito una amplia variedad de problemas que se presentan en la ingeniería, relacionados con la optimización. En general, usted deberá dominar las técnicas, habrá aprendido a evaluar su confiabilidad y será capaz de analizar métodos alternativos para un problema específico. Además, de estas metas generales, deberán asimilarse los conceptos específicos dados en la tabla PT4.2 para un aprendizaje com- pleto del material de la parte cuatro. Objetivos de cómputo. Usted deberá ser capaz de escribir un subprograma que lleve a cabo una búsqueda simple unidimensional (como la búsqueda de la sección dorada o la interpolación cuadrática) y multidimensional (como el método de búsqueda aleatoria). Además, como las bibliotecas de programas IMSL y los paquetes de software Excel o MATLAB tienen varias capacidades para optimización. Usted puede usar esta parte del libro para familiarizarse con todas estas capacidades. TABLA PT4.2 Objetivos específicos de estudio de la parte cuatro. 1. Entender por qué y dónde se presenta la optimización al resolver problemas de ingeniería. 2. Comprender los principales elementos del problema de optimización general: función objetivo, variables de decisión y restricciones. 3. Ser capaz de distinguir entre la optimización lineal y la no lineal, y entre problemas con restricciones y sin restricciones. 4. Poder definir la razón dorada y comprender cómo hace que la optimización unidimensional sea eficiente. 5. Localizar el óptimo de una función en una sola variable mediante la búsqueda de la sección dorada, la interpolación cuadrática y el método de Newton. También, reconocer las ventajas y desventajas de tales métodos, especialmente en relación con los valores iniciales y la convergencia. 6. Escribir un programa y encontrar el óptimo de una función multivariada usando la búsqueda aleatoria. 7. Comprender las ideas de los patrones de búsqueda, las direcciones conjugadas y el método de Powell. 8. Definir y evaluar el gradiente y el hessiano de una función multivariada, tanto en forma analítica como numérica. 9. Calcular a mano el óptimo de una función con dos variables, usando el método de paso ascendente-descendente. 10. Comprender las ideas básicas de los métodos del gradiente conjugado, de Newton, de Marquardt y de cuasi-Newton. En particular, entender las ventajas y las desventajas de los diferentes métodos, y reconocer cómo cada uno mejora el de paso ascendente-descendente. 11. Reconocer y plantear un problema de programación lineal para representar problemas aplicables a la ingeniería. 12. Resolver un problema de programación lineal bidimensional con ambos métodos: el gráfico y el simplex. 13. Comprender los cuatro posibles resultados de un problema de programación lineal. 14. Plantear y resolver problemas de optimización restringidos no lineales utilizando un paquete de software.
  • 387. CAPÍTULO 13 Optimización unidimensional no restringida Esta sección describirá técnicas para encontrar el mínimo o el máximo de una función de una sola variable, f(x). Una imagen útil que muestra lo anterior es la consideración unidimensional a la “montaña rusa”, como la función representada en la figura 13.1. Recuerde que en la parte dos, la localización de una raíz fue complicada por el hecho de que una sola función puede tener varias raíces. De manera similar, los valores óptimos tanto locales como globales pueden presentarse en problemas de optimización. A tales casos se les llama multimodales. En casi todos los ejemplos, estaremos interesados en encontrar el valor máximo o mínimo absoluto de una función. Así, debemos cuidar de no confundir un óptimo local con un óptimo global. Distinguir un extremo global de un extremo local puede ser generalmente un proble- ma difícil. Existen tres formas comunes de resolver este problema. Primero, una idea del comportamiento de las funciones unidimensionales algunas veces llega a obtenerse en forma gráfica. Segundo, determinar el valor óptimo con base en valores iniciales, los cuales varían ampliamente y son generados quizá en forma aleatoria, para después se- leccionar el mayor de éstos como el global. Por último, cambiar el punto de inicio aso- ciado con un óptimo local y observar si la rutina empleada da un mejor punto, o siempre regresa al mismo punto. Aunque estos métodos tienen su utilidad, el hecho es que en algunos problemas (usualmente los más grandes) no existe una forma práctica de asegu- rarse de que se ha localizado un valor óptimo global. Sin embargo, aunque debe tenerse cuidado se tiene la fortuna de que en muchos problemas de la ingeniería se localiza el óptimo global en forma no ambigua. FIGURA 13.1 Una función que se aproxima asintóticamente a cero en más y menos ∞ y que tiene dos puntos máximos y dos puntos mínimos en la vecindad del origen. Los dos puntos a la derecha son los óptimos locales; mientras que los dos de la izquierda son globales. Máximo local Mínimo local Mínimo global Máximo global f(x) x
  • 388. 364 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA Como en la localización de raíces, los problemas de optimización unidimensionales se pueden dividir en métodos cerrados y métodos abiertos. Como se describirá en la próxima sección, la búsqueda por sección dorada es un ejemplo de un método cerrado que depende de los valores iniciales que encierran un solo valor óptimo. Éste es seguido por un procedimiento cerrado algo más sofisticado (la interpolación cuadrática). El método final descrito en este capítulo es un método abierto que está basado en la idea del cálculo para encontrar el mínimo o máximo al resolver ƒ′(x) = 0. Esto reduce el problema de optimización al encontrar la raíz de ƒ′(x) mediante las técnicas que se describen en la parte dos. Se mostrará una versión del método de Newton. 13.1 BÚSQUEDA DE LA SECCIÓN DORADA En la búsqueda de la raíz de una ecuación no lineal, el objetivo era encontrar el valor de x quedieraceroalsustituirenlafunciónf(x).Laoptimizaciónenunasolavariabletienecomo objetivo encontrar el valor de x que da un extremo, ya sea un máximo o un mínimo de f(x). La búsqueda de la sección dorada es una técnica, de búsqueda para una sola varia- ble, sencilla y de propósito general. Es igual en esencia al método de la bisección para localizar raíces (capítulo 5). Recuerde que la bisección depende de la definición de un intervalo, especificado por los valores iniciales inferior (xl) y superior (xu), que encierran una sola raíz. La presencia de una raíz entre estos límites se verificó determinando que f(xl) y f(xu) tuvieran signos diferentes. La raíz se estima entonces como el punto medio de este intervalo, x x x r l u = + 2 Cualquier paso en una iteración por bisección permite determinar un intervalo más pequeño. Esto se logra al reemplazar cualquiera de los límites, xl o xu, que tuvieran un valor de la función con el mismo signo que f(xr). Un efecto útil de este método es que el nuevo valor xr reemplazará a uno de los límites anteriores. Es posible desarrollar un procedimiento similar para localizar el valor óptimo de una función unidimensional. Por simplicidad, nos concentraremos en el problema de encontrar un máximo. Cuando se analice el algoritmo de cómputo, se describirán las pequeñas modificaciones necesarias para determinar un mínimo. Como en el método de la bisección, se puede comenzar por definir un intervalo que contenga una sola respuesta. Es decir, el intervalo deberá contener un solo máximo, y por esto se llama unimodal. Podemos adoptar la misma nomenclatura que para la bisec- ción, donde xl y xu definen los límites inferior y superior, respectivamente, del intervalo. Sin embargo, a diferencia de la bisección se necesita una nueva estrategia para encontrar un máximo dentro del intervalo. En vez de usar solamente dos valores de la función (los cuales son suficientes para detectar un cambio de signo y, por lo tanto, un cero), se ne- cesitarán tres valores de la función para detectar si hay un máximo. Así, hay que escoger un punto más dentro del intervalo. Después, hay que tomar un cuarto punto. La prueba para el máximo podrá aplicarse para determinar si el máximo se encuentra dentro de los primeros tres o de los últimos tres puntos. La clave para hacer eficiente este procedimiento es la adecuada elección de los pun- tos intermedios. Como en la bisección, la meta es minimizar las evaluaciones de la
  • 389. función reemplazando los valores anteriores con los nuevos. Esta meta se puede alcanzar especificando que las siguientes dos condiciones se satisfagan (figura 13.2): 0 1 2 = + (13.1) 1 0 2 1 = (13.2) La primera condición especifica que la suma de las dos sublongitudes l,1 y l,2 debe ser igual a la longitud original del intervalo. La segunda indica que el cociente o razón entre las longitudes debe ser igual. La ecuación (13.1) se sustituye en la (13.2), 1 1 2 2 1 + = (13.3) Si se toma el recíproco y R = l2/l1, se llega a 1 1 + = R R (13.4) o R2 + R – 1 = 0 (13.5) de la cual se obtiene la raíz positiva R = − + − − = − = … 1 1 4 1 2 5 1 2 0 61803 ( ) . (13.6) Este valor, que se conoce desde la antigüedad, se llama razón dorada o razón áurea (véase el cuadro 13.l). Como permite encontrar el valor óptimo en forma eficiente, es el Máximo Primera iteración Segunda iteración f (x) x xu xl ᐉ0 ᐉ1 ᐉ2 ᐉ2 FIGURA 13.2 El paso inicial en el algoritmo de búsqueda de la sección dorada consiste en elegir dos puntos interiores de acuerdo con la razón dorada. 13.1 BÚSQUEDA DE LA SECCIÓN DORADA 365
  • 390. 366 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA elemento clave del método de la sección dorada que hemos estado desarrollando. Ahora construyamos un algoritmo para implementar este procedimiento en la computadora. Como se mencionó antes y se ilustra en la figura 13.4, el método comienza con dos valores iniciales, xl y xu, que contienen un extremo local de f(x). Después, se eligen dos puntos interiores x1 y x2 de acuerdo con la razón dorada, d x x u l = − − 5 1 2 ( ) x1 = xl + d x2 = xu – d La función se evalúa en estos dos puntos interiores. Dos casos pueden presentarse: 1. Si, como es el caso en la figura 13.4, f(x1) f(x2), entonces el dominio de x a la iz- quierda de x2, de xl a x2, se puede eliminar, ya que no contiene el máximo. En este caso, x2 será el nuevo xl en la siguiente vuelta. 2. Si f(x2) f(x1), entonces el dominio de x a la derecha de x1, de x1 a xu podrá elimi- narse. En este caso, x1 será el nuevo xu en la siguiente iteración. En muchas culturas, a ciertos números se les otorgan algunas cualidades. Por ejemplo, en Occidente se suele decir “el 7 de la suerte” y “el funesto viernes 13”. Los antiguos griegos llamaron al siguiente número la “razón dorada” o áurea: 5 1 2 0 61803 − = . ... Esta razón fue empleada con un gran número de propósitos, in- cluyendo el desarrollo del rectángulo de la figura 13.3. Tales proporciones fueron consideradas por los griegos como estética- mente agradables. Entre otras cosas, muchos de los templos si- guieron esta forma. La razón dorada se relaciona con una importante sucesión matemática conocida como los números de Fibonacci, que son 0, 1, 1, 2, 3, 5, 8, 13, 21, 34,... Cada número después de los dos primeros representa la suma de los dos precedentes. Esta secuencia aparece en diversas áreas de la ciencia y la ingeniería. En el contexto del presente análisis, una interesante propiedad de la sucesión de Fibonacci relaciona la razón entre números consecutivos de la serie; es decir, 0/1 = 0, 1/1 = 1, 1/2 = 0.5, 2/3 = 0.667, 3/5 = 0.6, 5/8 = 0.625, 8/13 = 0.615, y así sucesivamente. La razón entre números consecutivos se va aproximando a la razón dorada. Cuadro 13.1 La razón dorada y los números de Fibonacci 0.61803 1 FIGURA 13.3 El Partenón de Atenas, Grecia, fue construido en el siglo V antes de Cristo. Sus dimensiones frontales se ajustan casi exactamente a un rectángulo dorado.
  • 391. Ahora, ésta es la ventaja real del uso de la razón dorada. Debido a que los x1 y x2 originales se han escogido mediante la razón dorada, no se tienen que recalcular todos los valores de la función en la siguiente iteración. Por ejemplo, en el caso ilustrado en la figura 13.4, el anterior x1 será el nuevo x2. Esto significa que ya se tiene el valor para el nuevo f(x2), puesto que es el mismo valor de la función en el anterior x1. Para completar el algoritmo, ahora sólo se necesita determinar el nuevo x1. Esto se realiza usando la misma proporcionalidad que antes, x x x x l u l 1 5 1 2 = + − − ( ) Un procedimiento similar podría usarse en el caso en que el óptimo caiga del lado iz- quierdo del subintervalo. Conforme las iteraciones se repiten, el intervalo que contiene el extremo se reduce rápidamente. De hecho, en cada iteración el intervalo se reduce en un factor de la razón dorada (aproximadamente 61.8%). Esto significa que después de 10 iteraciones, el in- tervalo se acorta aproximadamente en 0.61810 o 0.008 o 0.8% de su longitud inicial. Después de 20 iteraciones, se encuentra en 0.0066%. Esta reducción no es tan buena como la que se alcanza con la bisección; aunque éste es un problema más difícil. Extremo (máximo) Eliminar f (x) x x1 xl d xu x2 d a) f (x) x x2 x1 xl x1 anterior x2 anterior xu b) FIGURA 13.4 a) El paso inicial del algoritmo de búsqueda de la sección dorada involucra escoger dos puntos interiores de acuerdo con la razón dorada. b) El segundo paso implica definir un nuevo intervalo que incluya el valor óptimo. 13.1 BÚSQUEDA DE LA SECCIÓN DORADA 367
  • 392. 368 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA EJEMPLO 13.1 Búsqueda de la sección dorada Planteamiento del problema. Use la búsqueda de la sección dorada para encontrar el máximo de f x x x ( ) – = 2 10 2 sen dentro del intervalo xl = 0 y xu = 4. Solución. Primero, se utiliza la razón dorada para crear los dos puntos interiores d = − − = 5 1 2 4 0 2 472 ( ) . x1 = 0 + 2.472 = 2.472 x2 = 4 – 2.472 = 1.528 Se evalúa la función en los puntos interiores f x f ( ) ( . ) ( . ) . . 2 2 1 528 2 1 528 1 528 10 1 765 = = − = sen f(x1) = f(2.472) = 0.63 Debido a que f(x2) f(x1), el máximo está en el intervalo definido por xl, x2 y x1. Así, para el nuevo intervalo, el límite inferior sigue siendo xl = 0, y x1 será el límite su- perior; esto es, xu = 2.472. Además, el primer valor x2 pasa a ser el nuevo x1; es decir, x1 = 1.528. Asimismo, no se tiene que recalcular f(x1) ya que se determinó en la iteración previa como f(1.528) = 1.765. Todo lo que falta es calcular la nueva razón dorada y x2, d = − − = 5 1 2 2 472 0 1 528 ( . ) . x2 = 2.4721 – 1.528 = 0.944 La evaluación de la función en x2 es f(0.994) = 1.531. Como este valor es menor que el valor de la función en x1, el máximo está en el intervalo dado por x2, x1 y xu. Si el proceso se repite, se obtienen los resultados tabulados a continuación: i xl f(xl) x2 f(x2) x1 f(x1) xu f(xu) d 1 0 0 1.5279 1.7647 2.4721 0.6300 4.0000 –3.1136 2.4721 2 0 0 0.9443 1.5310 1.5279 1.7647 2.4721 0.6300 1.5279 3 0.9443 1.5310 1.5279 1.7647 1.8885 1.5432 2.4721 0.6300 0.9443 4 0.9443 1.5310 1.3050 1.7595 1.5279 1.7647 1.8885 1.5432 0.5836 5 1.3050 1.7595 1.5279 1.7647 1.6656 1.7136 1.8885 1.5432 0.3607 6 1.3050 1.7595 1.4427 1.7755 1.5279 1.7647 1.6656 1.7136 0.2229 7 1.3050 1.7595 1.3901 1.7742 1.4427 1.7755 1.5279 1.7647 0.1378 8 1.3901 1.7742 1.4427 1.7755 1.4752 1.7732 1.5279 1.7647 0.0851
  • 393. Observe que el máximo está resaltado en cada iteración. Después de ocho iteracio- nes, el máximo se encuentra en x = 1.4427 con un valor de la función 1.7755. Así, el resultado converge al valor verdadero, 1.7757, en x = 1.4276. Recuerde que en la bisección (sección 5.2.1), se puede calcular un límite superior exacto para el error en cada iteración. Usando un razonamiento similar, un límite supe- rior para la búsqueda de la sección dorada se obtiene como sigue. Una vez que se termi- na una iteración, el valor óptimo estará en uno de los dos intervalos. Si x2 es el valor óptimo de la función, estará en el intervalo inferior (xl, x2, x1). Si x1 es el valor óptimo de la función, estará en el intervalo superior (x2, x1, xu). Debido a que los puntos interio- res son simétricos, se utiliza cualquiera de los casos para definir el error. Observando el intervalo superior, si el valor verdadero estuviera en el extremo iz- quierdo, la máxima distancia al valor estimado sería ∆xa = xl – x2 = xl + R(xu – xl) – xu + R(xu – xl) = (xl – xu) + 2R(xu – xl) = (2R – 1)(xu – xl) o 0.236(xu – xl) Si el valor verdadero estuviera en el extremo derecho, la máxima distancia al valor estimado sería ∆xb = xu – x1 = xu – xl – R(xu – xl) = (1 – R)(xu – xl) o 0.382(xu – xl). Por lo tanto, este caso podría representar el error máximo. Este resulta- do después se normaliza al valor óptimo de esa iteración, xópt, para dar εa u l R x x x = − − ( ) % 1 100 ópt Esta estimación proporciona una base para terminar las iteraciones. En la figura 13.5a se presenta el seudocódigo del algoritmo para la búsqueda de la sección dorada en la maximización. En la figura 13.5b se muestran las pequeñas modi- ficaciones para convertir el algoritmo en una minimización. En ambas versiones el valor x para el óptimo se regresa como el valor de la función (dorado). Además, el valor de f(x) óptimo se regresa como la variable f(x). Usted se preguntará por qué hemos hecho énfasis en reducir las evaluaciones de la función para la búsqueda de la sección dorada. Por supuesto, para resolver una sola optimización, la velocidad ahorrada podría ser insignificante. Sin embargo, existen dos importantes casos donde minimizar el número de evaluaciones de la función llega a ser importante. Éstos son: 13.1 BÚSQUEDA DE LA SECCIÓN DORADA 369
  • 394. 370 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA FIGURA 13.5 Algoritmo para la búsqueda de la sección dorada. 1. Muchas evaluaciones. Hay casos donde el algoritmo de búsqueda de la sección dorada puede ser parte de otros cálculos. Entonces, éste podría ser llamado muchas veces. Por lo tanto, mantener el número de evaluaciones de la función en un mínimo ofrecería dar grandes ventajas en tales casos. FUNCTION Gold (xlow, xhigh, maxit, es, fx) R = (50.5 – 1)/2 xᐉ = xlow; xu = xhigh iter = 1 d = R * (xu – xᐉ) x1 = xᐉ + d; x2 = xu – d f1 = f(x1) f2 = f(x2) IF f1 f2 THEN IF f1 f2 THEN xopt = x1 fx = f1 ELSE xopt = x2 fx = f2 END IF DO d = R*d IF f1 f2 THEN IF f1 f2 THEN xᐉ = x2 x2 = x1 x1 = xᐉ+d f2 = f1 f1 = f(x1) ELSE xu = x1 x1 = x2 x2 = xu–d f1 = f2 f2 = f(x2) END IF iter = iter+1 IF f1 f2 THEN IF f1 f2 THEN xopt = x1 fx = f1 ELSE xopt = x2 fx = f2 END IF IF xopt ≠ 0. THEN ea = (1. –R) *ABS((xu – xᐉ)/xopt) * 100. END IF IF ea ≤ es OR iter ≥ maxit EXIT END DO Gold = xopt END Gold a) Maximización b) Minimización
  • 395. 2. Evaluaciones que toman mucho tiempo. Por razones didácticas, se usan funciones simples en la mayoría de nuestros ejemplos. Usted deberá tener en cuenta que una función puede ser muy compleja y consumir mucho tiempo en su evaluación. Por ejemplo, en una parte posterior de este libro, se describirá cómo se utiliza la opti- mización para estimar los parámetros de un modelo que consiste de un sistema de ecuaciones diferenciales. En tales casos, la “función” comprende la integración del modelo que tomarían mucho tiempo. Cualquier método que minimice tales evalua- ciones resultará provechoso. 13.2 INTERPOLACIÓN CUADRÁTICA La interpolación cuadrática aprovecha la ventaja de que un polinomio de segundo grado con frecuencia proporciona una buena aproximación a la forma de f(x) en las cercanías de un valor óptimo (figura 13.6). Así como existe sólo una línea recta que pasa por dos puntos, hay únicamente una ecuación cuadrática o parábola que pasa por tres puntos. De esta forma, si se tiene tres puntos que contienen un punto óptimo, se ajusta una parábola a los puntos. Después se puede derivar e igualar el resultado a cero, y así obtener una estimación de la x óptima. Es posible demostrar mediante algunas operaciones algebraicas que el resultado es x f x x x f x x x f x x x f x x x f x x x f x x x 3 0 1 2 2 2 1 2 2 0 2 2 0 2 1 2 0 1 2 1 2 0 2 0 1 2 2 2 = − + − + − − + − + − ( )( ) ( )( ) ( )( ) ( )( ) ( )( ) ( )( ) (13.7) donde x0, x1 y x2 son los valores iniciales, y x3 es el valor de x que corresponde al valor máximo del ajuste cuadrático para los valores iniciales. FIGURA 13.6 Descripción gráfica de la interpolación cuadrática. Aproximación cuadrática del máximo Función cuadrática Máximo real Función real f (x) x x0 x1 x3 x2 13.2 INTERPOLACIÓN CUADRÁTICA 371
  • 396. 372 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA EJEMPLO 13.2 Interpolación cuadrática Planteamiento del problema. Use la interpolación cuadrática para aproximar el máximo de f x x x ( ) = − 2 10 2 sen con los valores iniciales x0 = 0, x1 = 1 y x2 = 4. Solución. Se evalúa la función en los tres valores iniciales, x0 = 0 f(x0) = 0 x1 = 1 f(x1) = 1.5829 x2 = 4 f(x2) = –3.1136 y sustituyendo en la ecuación (13.7) se obtiene, x3 2 2 2 2 2 2 0 1 4 1 5829 4 0 3 1136 0 1 2 0 1 4 2 1 5829 4 0 2 3 1136 0 1 1 5055 = − + − + − − − + − + − − = ( ) . ( ) ( . )( ) ( )( ) ( . )( ) ( . )( ) . para la cual el valor de la función es f(1.5055) = 1.7691. Después, se emplea una estrategia similar a la de la búsqueda de la sección dorada para determinar qué punto se descartará. Ya que el valor de la función en el nuevo pun- to es mayor que en el punto intermedio (x1) y el nuevo valor de x está a la derecha del punto intermedio, se descarta el valor inicial inferior (x0). Por lo tanto, para la próxima iteración, x0 = 1 f(x0) = 1.5829 x1 = 1.5055 f(x1) = 1.7691 x2 = 4 f(x2) = –3.1136 los valores se sustituyen en la ecuación (13.7) para obtener x3 2 2 2 2 2 2 1 5829 1 5055 4 1 7691 4 1 3 1136 1 1 5055 2 1 5829 1 5055 4 2 1 7691 4 1 2 3 1136 1 1 5055 = − + − + − − − + − + − . ( . ) . ( ) ( . )( . ) ( . )( . ) ( . )( ) ( . )( – . ) = 1.4903 para el cual el valor de la función es f(1.4903) = 1.7714. El proceso se puede repetir, dando los resultados tabulados abajo: i x0 f(x0) x1 f(x1) x2 f(x2) x3 f(x3) 1 0.0000 0.0000 1.0000 1.5829 4.0000 –3.1136 1.5055 1.7691 2 1.0000 1.5829 1.5055 1.7691 4.0000 –3.1136 1.4903 1.7714 3 1.0000 1.5829 1.4903 1.7714 1.5055 1.7691 1.4256 1.7757 4 1.0000 1.5829 1.4256 1.7757 1.4903 1.7714 1.4266 1.7757 5 1.4256 1.7757 1.4266 1.7757 1.4903 1.7714 1.4275 1.7757
  • 397. Así, con cinco iteraciones, el resultado converge rápidamente al valor verdadero: 1.7757 en x = 1.4276. Debemos mencionar que como en el método de la falsa posición, en la interpolación cuadrática puede ocurrir que sólo se retenga un extremo del intervalo. Así, la conver- gencia puede ser lenta. Como prueba de lo anterior, observe que en nuestro ejemplo, 1.0000 fue un punto extremo en la mayoría de las iteraciones. Este método, así como otros que usan polinomios de tercer grado, se pueden formu- lar como parte de los algoritmos que contienen tanto pruebas de convergencia, como cuidadosas estrategias de selección para los puntos que habrán de retenerse en cada iteración y formas para minimizar la acumulación del error de redondeo. En particular, consulte el método de Brent en Press y colaboradores (1992). 13.3 MÉTODO DE NEWTON Recuerde que el método de Newton-Raphson del capítulo 6 es un método abierto que permite encontrar la raíz x de una función de tal manera que f(x) = 0. El método se re- sume como x x f x f x i i i i + = − ′ 1 ( ) ( ) Se utiliza un método abierto similar para encontrar un valor óptimo de f(x) al defi- nir una nueva función, g(x) = ƒ′(x). Así, como el mismo valor óptimo x* satisface ambas funciones ƒ′(x*) = g(x*) = 0 se emplea lo siguiente x x f x f x i i i i + = − ′ ′′ 1 ( ) ( ) (13.8) como una técnica para encontrar el mínimo o máximo de f(x). Se deberá observar que esta ecuación también se obtiene escribiendo una serie de Taylor de segundo orden para f(x) e igualando la derivada de la serie a cero. El método de Newton es abierto y similar al de Newton-Raphson, pues no requiere de valores iniciales que contengan al óptimo. Además, también tiene la desventaja de que llega a ser divergente. Por último, usualmen- te es una buena idea verificar que la segunda derivada tenga el signo correcto para confirmar que la técnica converge al resultado deseado. EJEMPLO 13.3 Método de Newton Planteamiento del problema. Con el método de Newton encuentre el máximo de f x x x ( ) = − 2 10 2 sen con un valor inicial de x0 = 2.5. 13.3 MÉTODO DE NEWTON 373
  • 398. 374 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA Solución. La primera y segunda derivadas de la función se calculan para obtener ′ = − f x x x ( ) cos 2 5 ′′ = − − f x x ( ) 2 1 5 sen las cuales se sustituyen en la ecuación (13.8) para llegar a x x x x x i i i i i + = − − − 1 2 5 2 1 5 cos / – / sen Al sustituir el valor inicial se obtiene x1 2 5 2 2 5 2 5 5 2 2 5 1 5 0 99508 = − − − − = . cos . . / . / . sen para la cual el valor de la función es 1.57859. La segunda iteración da x1 0 995 2 0 995 0 995 5 2 0 995 1 5 1 46901 = − − − − = . cos . . / . / . sen que tiene como valor de la función 1.77385. El proceso se repite, dando los resultados abajo tabulados: i x f(x) f’(x) f”(x) 0 2.5 0.57194 –2.10229 –1.39694 1 0.99508 1.57859 0.88985 –1.87761 2 1.46901 1.77385 –0.09058 –2.18965 3 1.42764 1.77573 –0.00020 –2.17954 4 1.42755 1.77573 0.00000 –2.17952 Así, después de cuatro iteraciones, el resultado converge en forma rápida al valor verda- dero. Aunque el método de Newton funciona bien en algunos casos, no es práctico en otros donde las derivadas no se pueden calcular fácilmente. En tales casos, hay otros procedimientos que no implican la evaluación de la derivada. Por ejemplo, usando una versión semejante al método de la secante, se pueden desarrollar aproximaciones en diferencias finitas para las evaluaciones de la derivada. Una desventaja importante de este método es que llega a diverger según sea la na- turaleza de la función y la calidad del valor inicial. Así, usualmente se emplea sólo cuando se está cerca del valor óptimo. Las técnicas híbridas que usan métodos cerrados lejos del óptimo y los métodos abiertos cercanos al óptimo intentan aprovechar las fortalezas de ambos procedimientos.
  • 399. Esto concluye nuestro tratamiento de los métodos para encontrar el valor óptimo de funciones en una sola variable. Algunos ejemplos de la ingeniería se presentan en el capítulo 16. Por otra parte, las técnicas descritas aquí son un importante elemento de algunos procedimientos para optimizar funciones multivariables, como se verá en el siguiente capítulo. 13.1 Dada la fórmula f(x) = –x2 + 8x – 12 a) Determine en forma analítica (esto es, por medio de deriva- ción) el valor máximo y el correspondiente de x para esta función. b) Verifique que la ecuación (13.7) produce los mismos resul- tados con base en los valores iniciales de x0 = 0, x1 = 2 y x2 = 6. 13.2 Dada la función f(x) = –1.5x6 – 2x4 + 12x a) Grafique la función. b) Utilice métodos analíticos para probar que la función es cóncava para todos los valores de x. c) Derive la función y después use algún método de localiza- ción de raíces para resolver cuál es el máximo f(x) y el valor correspondiente de x. 13.3 Encuentre el valor de x que maximiza f(x) en el problema 13.2 con el uso de la búsqueda de la sección dorada. Emplee valores iniciales de xl = 0 y xu = 2 y realice tres iteraciones. 13.4 Repita el problema 13.3, pero utilice interpolación cuadrá- tica. Emplee valores iniciales de x0 = 0, x1 = 1 y x2 = 2 y ejecute tres iteraciones. 13.5 Repita el problema 13.3 pero use el método de Newton. Utilice un valor inicial de x0 = 2 y lleve a cabo tres iteraciones. 13.6 Analice las ventajas y desventajas de la búsqueda de la sección dorada, interpolación cuadrática y el método de Newton, para localizar un valor óptimo en una dimensión. 13.7 Emplee los métodos siguientes para encontrar el máximo de f(x) = 4x – 1.8x2 + 1.2x3 – 0.3x4 a) Búsqueda de la sección dorada (xl = –2, xu = 4, es = 1%). b) Interpolación cuadrática (x0 = 1.75, x1 = 2, x2 = 2.5, itera- ciones = 4). c) Método de Newton (x0 = 3, es = 1%). 13.8 Considere la función siguiente: f(x) = –x4 – 2x3 – 8x2 – 5x Use los métodos analítico y gráfico para demostrar que la función tiene un máximo para algún valor de x en el rango –2 ≤ x ≤ 1. 13.9 Emplee los métodos siguientes para encontrar el máximo de la función del problema 13.8: a) Búsqueda de la sección dorada (xl = –2, xu = 1, es = 1%). b) Interpolación cuadrática (x0 = –2, x1 = –1, x2 = 1, iteraciones = 4). c) Método de Newton (x0 = –1, es = 1%). 13.10 Considere la función siguiente: f x x x ( ) = + 2 3 Ejecute 10 iteraciones de interpolación cuadrática para localizar el mínimo. Haga comentarios acerca de la convergencia de sus resultados. (x0 = 0.1, x1 = 0.5, x2 = 5). 13.11 Considere la función que sigue: f(x) = 3 + 6x + 5x2 + 3x3 + 4x4 Localice el mínimo por medio de encontrar la raíz de la derivada de dicha función. Utilice el método de bisección con valores iniciales de xl = –2 y xu = 1. 13.12 Determine el mínimo de la función del problema 13.11 con los métodos siguientes: a) Método de Newton (x0 = –1, es = 1%). b) Método de Newton, pero con el uso de una aproximación en diferencias finitas para las estimaciones de las derivadas: ′ = + − − f x f x x f x x x i i i i i i ( ) ( ) ( ) δ δ δ 2 ′′ = + − − − f x f x x f x f x x x i i i i i i i ( ) ( ) ( ) ( ) δ δ δ 2 2 donde d = fracción de perturbación (= 0.01). Use un valor inicial de x0 = –1 y haga iteraciones hasta que es = 1%. 13.13 Desarrolle un programa con el empleo de un lenguaje de programación o de macros, para implantar el algoritmo de la PROBLEMAS PROBLEMAS 375
  • 400. 376 OPTIMIZACIÓN UNIDIMENSIONAL NO RESTRINGIDA búsqueda de la sección dorada. Diseñe el programa expresamen- te para que localice un máximo. La subrutina debe tener las ca- racterísticas siguientes: • Iterar hasta que el error relativo esté por debajo de un criterio de detención o exceda un número máximo de iteraciones. • Dar los valores óptimos tanto de x como de f(x). • Minimice el número de evaluaciones de la función. Pruebe su programa con el mismo problema del ejemplo 13.1. 13.14 Desarrolle un programa como el que se describe en el problema 13.13, pero haga que ejecute una minimización o una maximización en función de la preferencia del usuario. 13.15 Desarrolle un programa por medio de un lenguaje de programación o de macros, para implantar el algoritmo de la interpolación cuadrática. Diseñe el programa de tal forma que esté expresamente orientado para localizar un máximo. La su- brutina debe tener las características siguientes: • Estar basada en dos valores iniciales, y hacer que el pro- grama genere el tercer valor inicial en el punto medio del intervalo. • Comprobar si los valores iniciales comprenden un máximo. Si no fuera así, la subrutina no debe ejecutar el algoritmo, sino enviar un mensaje de error. • Iterar hasta que el error relativo esté por debajo de un criterio de terminación o exceda un número máximo de iteraciones. • Dar los valores óptimos tanto de x como de f(x). • Minimizar el número de evaluaciones de la función. Pruebe su programa con el mismo problema del ejemplo 13.2. 13.16 Desarrolle un programa por medio de un lenguaje de programación o de macros para implantar el método de Newton. La subrutina debe tener las características siguientes: • Iterar hasta que el error relativo esté por debajo de un criterio de terminación o supere un número máximo de iteraciones. • Obtener los valores óptimos tanto de x como de f(x). Pruebe su programa con el mismo problema del ejemplo 13.3. 13.17 En ciertos puntos atrás de un aeroplano se hacen medicio- nes de la presión. Los datos tienen el mejor ajuste con la curva y = 6 cos x – 1.5 sen x, desde x = 0 hasta 6 s. Utilice cuatro ite- raciones del método de la búsqueda de la sección dorada para encontrar la presión mínima. Elija xl = 2 y xu = 4. 13.18 La trayectoria de una pelota se calcula por medio de la ecuación y x g x y = − + (tan ) cos θ θ 0 0 2 2 0 2 0 2v donde y = altura (m), q0 = ángulo inicial (radianes), v0 = veloci- dad inicial (m/s), g = constante gravitacional = 9.81 m/s2, y y0 = altura inicial (m). Use el método de la búsqueda de la sección dorada para determinar la altura máxima dado que y0 = 1 m, v0 = 25 m/s y q0 = 50º. Haga iteraciones hasta que el error aproxi- mado esté por debajo de es = 1%, con el uso de valores iniciales de xl = 0 y xu = 60 m. 13.19 La deflexión de una trabe uniforme sujeta a una carga con distribución creciente en forma lineal, se calcula con y EIL x L x L x = + w0 5 2 3 4 120 2 (– – ) Dado que L = 600 cm, E = 50000 kN/cm2 , I = 30000 cm4 , y w0 = 2.5 kN/cm, determine el punto de deflexión máximo con los métodos a) gráfico, b) de la búsqueda de la sección dorada has- ta que el error aproximado esté por debajo de es = 1% con valo- res iniciales de xl = 0 y xu = L. 13.20 Desde la superficie de la tierra, se lanza hacia arriba un objeto con masa de 100 kg a una velocidad de 50 m/s. Si el ob- jeto está sujeto a un arrastre lineal (c = 15 kg/s), use el método de la búsqueda de la sección dorada para determinar la altura máxima que alcanza el objeto. Recomendación: repase la sección PT4.1.2. 13.21 La distribución normal es una curva con forma de cam- pana definida por la ecuación y e x = − 2 Utilice el método de la búsqueda de la sección dorada para de- terminar la ubicación del punto de deflexión de esta curva para un valor positivo de x.
  • 401. CAPÍTULO 14 Optimización multidimensional no restringida Este capítulo describe las técnicas para encontrar el mínimo o el máximo de una función en varias variables. Recuerde que en el capítulo 13 nuestra imagen visual de una bús- queda unidimensional fue como una montaña rusa. En el caso de dos dimensiones, la imagen es como de montañas y valles (figura 14.1). Para problemas de más dimensiones, no es posible implementar imágenes. Se ha optado por limitar este capítulo al caso de dos dimensiones. Esto se debe a que las características esenciales de las búsquedas multidimensionales se comunican mejor de forma visual. Las técnicas para la optimización multidimensional no restringida se clasifican de varias formas. Para propósitos del presente análisis, se dividirán dependiendo de si se requiere la evaluación de la derivada. Los procedimientos que no requieren dicha eva- luación se llaman métodos sin gradiente o directos. Aquellos que requieren derivadas se conocen como métodos de gradientes o métodos de descenso (o ascenso). Líneas de f igual a una constante x x y f y a) b) FIGURA 14.1 La forma más fácil de visualizar las búsquedas en dos dimensiones es en el contexto del ascenso de una montaña (maximización) o del descenso a un valle (minimización). a) Mapa topográfico bidimensional (2-D) de la montaña que corresponde a la gráfica tridimensional (3-D) de la montaña en el inciso b).
  • 402. 378 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA 14.1 MÉTODOS DIRECTOS Estos métodos van desde procedimientos muy burdos hasta técnicas más elegantes que intentan aprovechar la naturaleza de la función. Se empezará el análisis con un método burdo. 14.1.1 Búsqueda aleatoria Un simple ejemplo de los métodos burdos es el método de la búsqueda aleatoria. Como su nombre lo indica, dicho método evalúa en forma repetida la función con los valores seleccionados aleatoriamente de la variable independiente. Si el método se lleva a cabo con un número suficiente de muestras, el óptimo eventualmente se localizará. EJEMPLO 14.1 Método de la búsqueda aleatoria Planteamiento del problema. Utilice un generador de números aleatorios para loca- lizar el máximo de f(x, y) = y – x – 2x2 – 2xy – y2 (E14.1.1) en el dominio acotado por x = –2 a 2, y y = 1 a 3. El dominio se muestra en la figura 14.2. Observe que un solo máximo de 1.5 se encuentra en x = –1 y y = 1.5. Solución. Por lo común, los generadores de números aleatorios proporcionan valores entre 0 y 1. Si se designa a tal número como r, la siguiente fórmula se usa para generar valores de x aleatorios en un rango entre xl y xu: x = xl + (xu – xl)r En el presente ejemplo, xl = –2 y xu = 2, y la fórmula es x = –2 + (2 – (–2))r = –2 + 4r FIGURA 14.2 Ecuación (E14.1.1) que muestra el máximo en x = –1 y y = 1.5. 2 1 0 0 0 –10 –20 Máximo –1 –2 1 2 3 y x
  • 403. Esto se prueba al sustituir 0 y 1 para obtener –2 y 2, respectivamente. De manera similar para y, una fórmula para el mismo ejemplo se desarrolla como y = yl + (yu – yl)r = 1 + (3 – 1)r = 1 + 2r El siguiente macrocódigo VBA de Excel utiliza la función número aleatorio Rnd de VBA, para generar un par de valores (x, y) que se sustituyen en la ecuación (E.14.1.1). El valor máximo obtenido en estos ensayos aleatorios se guarda en la variable maxf, y los valores correspondientes de x y y en maxx y maxy, respectivamente. maxf = –1E9 For j = 1 To n x = –2 + 4 * Rnd y = 1 + 2 * Rnd fn = y – x – 2 * x ^ 2 – 2 * x * y – y ^ 2 If fn maxf Then maxf = fn maxx = x maxy = y End If Next j Después de varias iteraciones se obtiene Iteraciones x y f(x, y) 1000 –0.9886 1.4282 1.2462 2000 –1.0040 1.4724 1.2490 3000 –1.0040 1.4724 1.2490 4000 –1.0040 1.4724 1.2490 5000 –1.0040 1.4724 1.2490 6000 –0.9837 1.4936 1.2496 7000 –0.9960 1.5079 1.2498 8000 –0.9960 1.5079 1.2498 9000 –0.9960 1.5079 1.2498 10000 –0.9978 1.5039 1.2500 Los resultados indican que la técnica permite encontrar rápidamente el máximo verdadero. Este simple procedimiento burdo funciona aun en discontinuidades y funciones no diferenciables. Además, siempre encuentra el óptimo global más que el local. Su prin- cipal deficiencia es que como crece el número de variables independientes, la implemen- tación requerida llega a ser costosa. Además, no es eficiente, ya que no toma en cuenta el comportamiento de la función. Los procedimientos siguientes descritos en este capí- tulo sí toman en cuenta el comportamiento de la función, así como los resultados de las iteraciones previas para mejorar la velocidad de convergencia. En consecuencia, aunque la búsqueda aleatoria puede probar ser útil en un contexto de problemas específico, los siguientes métodos tienen una utilidad más general y casi siempre tienen la ventaja de lograr una convergencia más eficiente. 14.1 MÉTODOS DIRECTOS 379
  • 404. 380 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA Debemos hacer notar que se dispone de técnicas de búsqueda más sofisticadas. Éstas constituyen procedimientos heurísticos que fueron desarrollados para resolver problemas no lineales y/o discontinuos, que la optimización clásica usualmente no ma- neja bien. La simulación de recocido, la búsqueda tabú, las redes neuronales artificiales y los algoritmos genéticos son unos pocos ejemplos. El más ampliamente utilizado es el algoritmo genético, en un número considerable de paquetes comerciales. En Holland (1975), iniciador del procedimiento del algoritmo genético, y Davis (1991) y Goldberg (1989) se encuentra un buen repaso de la teoría y la aplicación del método. 14.1.2 Búsquedas univariadas y búsquedas patrón Es muy agradable tener un procedimiento de optimización eficiente que no requiera evaluar las derivadas. El método de búsqueda aleatoria, previamente descrito, no requie- re la evaluación de la derivada, pero no es muy eficiente. En esta sección se describe un procedimiento, el método de búsqueda univariada, que es más eficiente y además no requiere la evaluación de la derivada. La estrategia básica del método de búsqueda univariada consiste en trabajar sólo con una variable a la vez, para mejorar la aproximación, mientras las otras se mantienen constantes. Puesto que únicamente cambia una variable, el problema se reduce a una secuencia de búsquedas en una dimensión, que se resuelven con una diversidad de mé- todos (dentro de ellos, los descritos en el capítulo 13). Realicemos una búsqueda univariada por medio de una gráfica, como se muestra en la figura 14.3. Se comienza en el punto 1, y se mueve a lo largo del eje x con y cons- tante hacia el máximo en el punto 2. Se puede ver que el punto 2 es un máximo, al ob- servar que la trayectoria a lo largo del eje x toca justo una línea de contorno en ese punto. Luego, muévase a lo largo del eje y con x constante hacia el punto 3. Continúa este proceso generándose los puntos 4, 5, 6, etcétera. FIGURA 14.3 Descripción gráfica de cómo se presenta una búsqueda univariada. 6 4 5 3 1 2 y x
  • 405. Aunque se está moviendo en forma gradual hacia el máximo, la búsqueda comien- za a ser menos eficiente al moverse a lo largo de una cresta angosta hacia el máximo. Sin embargo, también observe que las líneas unen puntos alternados tales como 1-3, 3-5 o 2-4; 4-6 que van en la dirección general del máximo. Esas trayectorias presentan una oportunidad para llegar directamente a lo largo de la cresta hacia el máximo. Dichas trayectorias se denominan direcciones patrón. Hay algoritmos formales que capitalizan la idea de las direcciones patrón para en- contrar los valores óptimos de manera eficiente. El más conocido de tales algoritmos es el método de Powell, el cual se basa en la observación (véase la figura 14.4) de que si los puntos 1 y 2 se obtienen por búsquedas en una dimensión en la misma dirección, pero con diferentes puntos de partida, entonces la línea formada por 1 y 2 estará dirigida hacia el máximo. Tales líneas se llaman direcciones conjugadas. En efecto, se puede demostrar que si f(x, y) es una función cuadrática, las búsquedas secuenciales a lo largo de las direcciones conjugadas convergerán exactamente en un número finito de pasos, sin importar el punto de partida. Puesto que una función no lineal a menudo llega a ser razonablemente aproximada por una función cuadrática, los méto- dos basados en direcciones conjugadas son, por lo común, bastante eficientes y de hecho son convergentes en forma cuadrática conforme se aproximan al óptimo. Se implementará en forma gráfica una versión simplificada del método de Powell para encontrar el máximo de f(x, y) = c – (x – a)2 – (y – b)2 donde a, b y c son constantes positivas. Esta ecuación representa contornos circulares en el plano x, y, como se muestra en la figura 14.5. Se inicia la búsqueda en el punto cero con las direcciones iniciales h1 y h2. Observe que h1 y h2 no son necesariamente direcciones conjugadas. Desde cero, se mueve a lo FIGURA 14.4 Direcciones conjugadas. 2 1 y x 14.1 MÉTODOS DIRECTOS 381
  • 406. 382 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA largo de la dirección h1 hasta un máximo que se localiza en el punto 1. Después se bus- ca el punto 1 a lo largo de la dirección h2 para encontrar el punto 2. Luego, se forma una nueva dirección de búsqueda h3 a través de los puntos 0 y 2. Se busca a lo largo de esta dirección hasta que se localice el máximo en el punto 3. Después la búsqueda va del punto tres en la dirección h2 hasta que se localice el máximo en el punto 4. Del punto 4 se llega al punto 5, buscando de nuevo h3. Ahora, observe que ambos puntos, 5 y 3, se ha localizado por búsqueda en la dirección h3, desde dos puntos diferentes. Powell ha demostrado que h4 (formado por los puntos 3 y 5) y h3 son direcciones conjugadas. Así, buscando desde el punto 5 a lo largo de h4, nos llevará directamente al máximo. El método de Powell se puede refinar para volverse más eficiente; pero los algorit- mos formales van más allá del alcance de este texto. Sin embargo, es un método eficien- te que converge en forma cuadrática sin requerir evaluación de la derivada. 14.2 MÉTODOS CON GRADIENTE Como su nombre lo indica, los métodos con gradiente utilizan en forma explícita infor- mación de la derivada para generar algoritmos eficientes que localicen el óptimo. Antes de describir los procedimientos específicos, primero se repasarán algunos conceptos y operaciones matemáticos clave. 14.2.1 Gradientes y hessianos Recuerde del cálculo que la primera derivada de una función unidimensional proporcio- na la pendiente de la recta tangente a la función que se analiza. Desde el punto de vista de la optimización, ésta es una información útil. Por ejemplo, si la pendiente es positiva, FIGURA 14.5 Método de Powell. 2 3 0 1 4 5 h3 h2 h1 h2 h2 h3 h4 y x
  • 407. nos indica que al incrementar el valor de la variable independiente nos conducirá a un valor más alto de la función que se está analizando. Del cálculo, también recuerde que la primera derivada puede indicarnos cuándo se ha encontrado un valor óptimo, puesto que éste es el punto donde la derivada toma el valor de cero. Además, el signo de la segunda derivada puede indicarnos si se ha alcan- zado un mínimo (positivo en la segunda derivada) o un máximo (negativo en la segunda derivada). Esas ideas fueron útiles en los algoritmos de búsqueda en una dimensión que se estudiaron en el capítulo anterior. No obstante, para entender por completo las búsquedas multidimensionales, se debe primero entender cómo se expresan la primera y la segun- da derivada en un contexto multidimensional. El gradiente. Suponga que se tiene una función en dos dimensiones f(x, y). Un ejem- plo podría ser su altura sobre una montaña como una función de su posición. Suponga que usted está en un lugar específico sobre la montaña (a, b) y quiere conocer la pen- diente en una dirección arbitraria. Una forma de definir la dirección es a lo largo de un nuevo eje h que forma un ángulo q con el eje x (figura 14.6). La elevación a lo largo de un nuevo eje puede entenderse como una nueva función g(h). Si usted define su posición como el origen de este eje (es decir, h = 0), la pendiente en esta dirección podría desig- narse como g′(0). Esta pendiente, que se llama derivada direccional, se puede calcular a partir de las derivadas parciales a lo largo de los ejes x y y mediante ′ = ∂ ∂ ∂ ∂ g f x f y ( ) 0 cos + sen θ θ (14.1) donde las derivadas parciales son evaluadas en x = a y y = b. Suponiendo que su objetivo es obtener la mayor elevación con el siguiente paso, ahora la pregunta lógica sería: ¿En qué dirección está el mayor paso de ascenso? La FIGURA 14.6 El gradiente direccional se define a lo largo de un eje h que forma un ángulo q con el eje x. x = a y = b h = 0 h ␪ y x 14.2 MÉTODOS CON GRADIENTE 383
  • 408. 384 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA respuesta a esta pregunta es proporcionada mediante lo que matemáticamente se conoce como el gradiente, el cual se define así: ∇ = ∂ ∂ + ∂ ∂ f f x f y i j (14.2) Este vector también se conoce como “nabla f ”, el cual se relaciona con la derivada di- reccional de f(x, y) en el punto x = a y y = b. La notación vectorial ofrece un medio conciso para generalizar el gradiente a n dimensiones, ∇ƒ = ∂ƒ ∂ ∂ƒ ∂ ⋅ ⋅ ⋅ ∂ƒ ∂ ⎧ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎪ ⎪ ⎫ ⎬ ⎪ ⎪ ⎪ ⎪ ⎪ ⎭ ⎪ ⎪ ⎪ ⎪ ⎪ ( ) ( ) ( ) ( ) x x x x x x xn 1 2 ¿Cómo se usa el gradiente? Para el problema de subir la montaña, si lo que interesa es ganar elevación tan rápidamente como sea posible, el gradiente nos indica, de mane- ra local, qué dirección tomar y cuánto ganaremos al hacerlo. Observe, sin embargo, que dicha estrategia ¡no necesariamente nos lleva en una trayectoria directa a la cima! Más tarde, en este capítulo, se analizarán estas ideas con mayor profundidad. EJEMPLO 14.2 Utilización del gradiente para evaluar la trayectoria de máxima pendiente Planteamiento del problema. Con el gradiente evalúe la dirección de máxima pen- diente para la función f(x, y) = xy2 en el punto (2, 2). Se considera que la x positiva está dirigida hacia el este y la y positiva hacia el norte. Solución. Primero, la elevación se determina así f(4, 2) = 2(2)2 = 8 Ahora, se evalúan las derivadas parciales, ∂ƒ ∂ = = = ∂ƒ ∂ = = = x y y xy 2 2 2 4 2 2 2 2 8 ( )( )
  • 409. las cuales se usan para determinar el gradiente como ∇f = 4i + 8j Este vector puede bosquejarse en un mapa topográfico de la función, como en la figura 14.7. Esto inmediatamente nos indica que la dirección que debe tomarse es θ = ⎛ ⎝ ⎞ ⎠ = ° tan radianes (= 63.4 ) –1 8 4 1 107 . respecto al eje x. La pendiente en esta dirección, que es la magnitud de ∇f, se calcula así 4 8 8 944 2 2 + = . Así, durante el primer paso, inicialmente se ha ganado 8.944 unidades de aumento de elevación por unidad de distancia recorrida a lo largo de esta trayectoria con la mayor pendiente. Observe que la ecuación (14.1) da el mismo resultado, g′(0) = 4 cos(1.107) + 8 sen(1.107) = 8.944 Observe que para cualquier otra dirección, digamos q = 1.107/2 = 0.5235, g′(0) = 4 cos (0.5235) + 8 sen (0.5235) = 7.608, que es menor. Conforme se mueve hacia adelante, cambiarán tanto la dirección como la magnitud de la trayectoria de mayor pendiente. Estos cambios se pueden cuantificar a cada paso mediante el gradiente y la dirección del ascenso se modificará de acuerdo con ello. FIGURA 14.7 La flecha sigue la dirección del ascenso de mayor pendiente calculado con el gradiente. 0 0 1 2 3 4 1 2 3 4 y x 8 24 40 14.2 MÉTODOS CON GRADIENTE 385
  • 410. 386 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA Se puede obtener una mejor comprensión al inspeccionar la figura 14.7. Como se indica, la dirección de ascenso con mayor pendiente es perpendicular, u ortogonal, al contorno en la elevación en la coordenada (2, 2). Ésta es una propiedad del gradiente. Además de definir la trayectoria de mayor pendiente, también se utiliza la primera derivada para determinar si se ha alcanzado un óptimo. Como en el caso para una función de una dimensión, si las derivadas parciales con respecto a x y y son cero, se ha alcan- zado el óptimo en dos dimensiones. El hessiano. En problemas de una dimensión, tanto la primera como la segunda deri- vada ofrecen información valiosa en la búsqueda del óptimo. La primera derivada a) proporciona una trayectoria de máxima inclinación de la función y b) indica que se ha alcanzado el óptimo. Una vez en el óptimo, la segunda derivada indicará si es un máximo [f″(x) negativo] o un mínimo [f″(x) positivo]. En los párrafos anteriores, se ilustró cómo el gradiente proporciona la mejor trayectoria en problemas multidimensio- nales. Ahora, se examinará cómo se usa la segunda derivada en este contexto. Puede esperarse que si las segundas derivadas parciales respecto de x y y son nega- tivas ambas, entonces se ha alcanzado un máximo. La figura 14.8 muestra una función en la que esto no es cierto. El punto (a, b) de esta gráfica parece ser un mínimo cuando se observa a lo largo ya sea de la dimensión x o de la y. En ambos casos, las segundas derivadas parciales son positivas. Sin embargo, si la función se observa a lo largo de la FIGURA 14.8 Un punto silla (x = a y y = b). Observe que al ser vista la curva a lo largo de las direcciones x y y, parece que la función pasa por un mínimo (la segunda derivada es positiva); mientras que al verse a lo largo del eje x = y, es cóncava hacia abajo (la segunda derivada es negativa). f (x, y) (a, b) x y y = x
  • 411. línea y = x, puede verse que se presenta un máximo en el mismo punto. Éste se conoce como punto silla y, claramente, no se presentan ni un máximo ni un mínimo en ese punto. Ya sea que ocurra un máximo o un mínimo, esto involucra no sólo a las primeras derivadas parciales con respecto a x y y, sino también a la segunda derivada parcial respecto a x y y. Suponiendo que las derivadas parciales sean continuas en y cerca del punto que se habrá de evaluar, se puede calcular la siguiente cantidad: ⏐ ⏐= 2 Η ∂ ∂ ∂ ∂ ∂ ∂ ∂ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ f x f y f x y 2 2 2 2 2 – (14.3) Pueden presentarse tres casos: • Si |H| 0 y ∂2 ƒ/∂x2 0, entonces ƒ(x, y) tiene un mínimo local. • Si |H| 0 y ∂2 ƒ/∂x2 0, entonces ƒ(x, y) tiene un máximo local. • Si |H| 0, entonces ƒ(x, y) tiene un punto silla. La cantidad |H| es igual al determinante de una matriz formada con las segundas derivadas,1 H x x y y x y = ∂ ƒ ∂ ∂ ƒ ∂ ∂ ∂ ƒ ∂ ∂ ∂ ƒ ∂ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ 2 2 2 2 2 2 (14.4) donde a esta matriz se le conoce formalmente como la hessiana de f. Además de proporcionar un medio para discriminar si una función multidimensio- nal ha alcanzado el óptimo, el hessiano tiene otros usos en optimización (por ejemplo, en la forma multidimensional del método de Newton). En particular, permite búsquedas que incluyen curvatura de segundo orden para obtener mejores resultados. Aproximaciones por diferencias finitas. Se debe mencionar que en los casos donde es difícil o inconveniente calcular analíticamente tanto el gradiente como el determi- nante hessiano, éstos se pueden evaluar numéricamente. En la mayoría de los casos se emplea el método que se presentó en la sección 6.3.3 para el método de la secante mo- dificado. Es decir, las variables independientes se modifican ligeramente para generar las derivadas parciales requeridas. Por ejemplo, si se adopta el procedimiento de dife- rencias centrales, éstas se calculan así ∂ƒ ∂ = ƒ + ƒ − x x x y x x y x ( , ) – ( , ) δ δ δ 2 (14.5) ∂ƒ ∂ = ƒ + ƒ y x y y x y y y ( , ) – ( , – ) δ δ δ 2 (14.6) 14.2 MÉTODOS CON GRADIENTE 387 1 Observe que ∂2 f/(∂x∂y) = ∂2 f/(∂y ∂x).
  • 412. 388 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA ∂ ƒ ∂ = ƒ + ƒ + ƒ 2 2 2 2 x x x y x y x x y x ( , ) – ( , ) ( – , ) δ δ δ (14.7) ∂ ƒ ∂ = ƒ + ƒ + ƒ 2 2 2 2 y x y y x y x y y y ( , ) – ( , ) ( , – ) δ δ δ (14.8) ∂ ƒ ∂ ∂ = ƒ + + ƒ + ƒ + + ƒ 2 4 x y x x y y x x y y x x y y x x y y x y ( , ) – ( , – ) – ( – , ) ( – , – ) δ δ δ δ δ δ δ δ δ δ (14.9) donde d es un valor fraccional muy pequeño. Observe que los métodos empleados en paquetes de software comerciales también usan diferencias hacia adelante. Además, son usualmente más complicados que las aproximaciones enlistadas en las ecuaciones (14.5) a la (14.9). Por ejemplo, la biblioteca IMSL basa la perturbación en el épsilon de la máquina. Dennis y Schnabel (1996) dan más detalles sobre este método. Sin importar cómo se implemente la aproximación, la cuestión importante es que se pueda tener la opción de evaluar el gradiente y/o el hessiano en forma analítica. Esto algunas veces puede resultar una tarea ardua; pero el comportamiento del algoritmo puede ser benéfico para que el esfuerzo valga la pena. Las derivadas de forma cerrada serán exactas; pero lo más importante es que se reduce el número de evaluaciones de la función. Este último detalle tiene un impacto significativo en el tiempo de ejecución. Por otro lado, usted practicará con frecuencia la opción de calcular estas cantidades internamente mediante procedimientos numéricos. En muchos casos, el comportamien- to será el adecuado y se evitará el problema de numerosas derivaciones parciales. Tal podría ser el caso de los optimizadores utilizados en ciertas hojas de cálculo y paquetes de software matemático (por ejemplo, Excel). En dichos casos, quizá no se le dé la op- ción de introducir un gradiente y un hessiano derivados en forma analítica. Sin embargo, para problemas de tamaño pequeño o moderado esto no representa un gran inconveniente. 14.2.2 Método de máxima inclinación Una estrategia obvia para subir una colina sería determinar la pendiente máxima en la posición inicial y después comenzar a caminar en esa dirección. Pero claramente surge otro problema casi de inmediato. A menos que usted realmente tenga suerte y empiece sobre una cuesta que apunte directamente a la cima, tan pronto como se mueva su ca- mino diverge en la dirección de ascenso con máxima inclinación. Al darse cuenta de este hecho, usted podría adoptar la siguiente estrategia. Avance una distancia corta a lo largo de la dirección del gradiente. Luego deténgase, reevalúe el gradiente y camine otra distancia corta. Mediante la repetición de este proceso podrá llegar a la punta de la colina. Aunque tal estrategia parece ser superficialmente buena, no es muy práctica. En particular, la evaluación continua del gradiente demanda mucho tiempo en términos de cálculo. Se prefiere un método que consista en moverse por un camino fijo, a lo largo
  • 413. del gradiente inicial hasta que ƒ(x, y) deje de aumentar; es decir, tienda a nivelarse en su dirección de viaje. Este punto se convierte en el punto inicial donde se reevalúa ∇f y se sigue una nueva dirección. El proceso se repite hasta que se alcance la cima. Este procedimiento se conoce como método de máxima inclinación.2 Es la más directa de las técnicas de búsqueda con gradiente. La idea básica detrás del procedimiento se des- cribe en la figura 14.9. Comenzaremos en un punto inicial (x0, y0) etiquetado como “0” en la figura. En este punto, se determina la dirección de ascenso con máxima inclinación; es decir, el gra- diente. Entonces se busca a lo largo de la dirección del gradiente, h0, hasta que se en- cuentra un máximo, que se marca como “1” en la figura. Después el proceso se repite. Así, el problema se divide en dos partes: 1. se determina la “mejor” dirección para la búsqueda y 2. se determina “el mejor valor” a lo largo de esa dirección de búsqueda. Como se verá, la efectividad de los diversos algoritmos descritos en las siguientes pági- nas depende de qué tan hábiles seamos en ambas partes. Por ahora, el método del ascenso con máxima inclinación usa el gradiente como su elección para la “mejor” dirección. Se ha mostrado ya cómo se evalúa el gradiente en el ejemplo 14.1. Ahora, antes de examinar cómo se construye el algoritmo para locali- zar el máximo a lo largo de la dirección de máxima inclinación, se debe hacer una pausa para explorar el modo de transformar una función de x y y en una función de h a lo largo de la dirección del gradiente. Comenzando en x0 y y0 las coordenadas de cualquier punto en la dirección del gra- diente se expresan como FIGURA 14.9 Descripción gráfica del método de máxima inclinación. 2 1 0 h0 h2 h1 y x 2 Debido a nuestro énfasis sobre maximización, aquí se utiliza la terminología de ascenso de máxima inclina- ción. El mismo enfoque se puede utilizar también para la minimización; en este caso se usará la terminología de descenso de máxima inclinación. 14.2 MÉTODOS CON GRADIENTE 389
  • 414. 390 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA x x f x h = + ∂ ∂ 0 (14.10) y y f y h = + ∂ ∂ 0 (14.11) donde h es la distancia a lo largo del eje h. Por ejemplo, suponga que x0 = 1 y y0 = 2 y ∇f = 3i + 4j, como se muestra en la figura 14.10. Las coordenadas de cualquier punto a lo largo del eje h están dadas por x = 1 + 3h (14.12) y = 2 + 4h (14.13) El siguiente ejemplo ilustra la forma en que se emplean tales transformaciones para convertir una función bidimensional de x y y en una función unidimensional de h. EJEMPLO 14.3 Desarrollo de una función 1-D a lo largo de la dirección del gradiente Planteamiento del problema. Suponga que se tiene la siguiente función en dos di- mensiones: ƒ(x, y) = 2xy + 2x – x2 – 2y2 Desarrolle una versión unidimensional de esta ecuación a lo largo de la dirección del gradiente en el punto donde x = –1 y y = 1. Solución. Las derivadas parciales se evalúan en (–1, 1), ∂ƒ ∂ = + = + − = ∂ƒ ∂ = = = x y x y x y 2 2 2 2 1 2 2 1 6 2 4 2 1 4 1 6 – ( ) – ( ) – (– ) – ( ) – 10 y x 6 2 7 4 1 ⵜf = 3i + 4j h = 2 h = 1 h = 0 FIGURA 14.10 Relación entre una dirección arbitraria h y las coordenadas x y y.
  • 415. Por lo tanto, el vector gradiente es ∇f = 6i – 6j Para encontrar el máximo, se busca en la dirección del gradiente; es decir, a lo largo de un eje h que corre en la dirección de este vector. La función se expresa a lo largo de este eje como ƒ + ∂ƒ ∂ + ∂ ∂ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = ƒ + = + + − + + x x h y f y h h h h h h h h 0 0 2 2 1 6 1 6 2 1 6 1 6 2 1 6 1 6 2 1 6 , (– , – ) (– )( – ) ( ) – (– ) – ( – ) donde las derivadas parciales se evalúan en x = –1 y y = 1. Al combinar términos, se obtiene una función unidimensional g(h) que transforma f(x, y) a lo largo del eje h, g(h) = –180h2 + 72h – 7 Ahora que se ha obtenido una función a lo largo de la trayectoria de ascenso de máxima inclinación, es posible explorar cómo contestar la segunda pregunta. Esto es, ¿qué tan lejos se llega a lo largo de este camino? Un procedimiento sería moverse a lo largo de este camino hasta encontrar el máximo de la función. Identificaremos la loca- lización de este máximo como h*. Éste es el valor del paso que maximiza g (y, por lo tanto, ƒ) en la dirección del gradiente. Este problema es equivalente a encontrar el máxi- mo de una función de una sola variable h. Lo cual se realiza mediante diferentes técni- cas de búsqueda unidimensional como las analizadas en el capítulo 13. Así, se pasa de encontrar el óptimo de una función de dos dimensiones a realizar una búsqueda unidi- mensional a lo largo de la dirección del gradiente. Este método se llama ascenso de máxima inclinación cuando se utiliza un tamaño de paso arbitrario h. Si se encuentra que un valor de un solo paso h* nos lleva directa- mente al máximo a lo largo de la dirección del gradiente, el método se llama ascenso optimal de máxima inclinación. EJEMPLO 14.4 Ascenso optimal de máxima inclinación Planteamiento del problema. Maximice la siguiente función: ƒ(x, y) = 2xy + 2x – x2 – 2y2 usando los valores iniciales, x = –1 y y = 1. Solución. Debido a que esta función es muy simple, se obtiene primero una solución analítica. Para hacerlo, se evalúan las derivadas parciales ∂ƒ ∂ = + = ∂ƒ ∂ = = x y x y x y 2 2 2 0 2 4 0 – – 14.2 MÉTODOS CON GRADIENTE 391
  • 416. 392 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA De este par de ecuaciones se puede encontrar el valor óptimo, en x = 2 y y = 1. Las se- gundas derivadas parciales también se determinan y evalúan en el óptimo, ∂ ƒ ∂ = ∂ ƒ ∂ = ∂ ƒ ∂ ∂ = ∂ ƒ ∂ ∂ = 2 2 2 2 2 2 2 4 2 x y x y y x – – y el determinante de la matriz hessiana se calcula [ecuación (14.3)], ⏐H⏐ = –2(–4) – 22 = 4 Por lo tanto, debido a que ⏐H⏐ 0 y ∂2 f/∂x2 0, el valor de la función ƒ(2, 1) es un máximo. Ahora se usará el método del ascenso de máxima inclinación. Recuerde que al final del ejemplo 14.3 ya se habían realizado los pasos iniciales del problema al generar g(h) = –180h2 + 72h – 7 Ahora, ya que ésta es una simple parábola, se puede localizar, de manera directa, el máximo (es decir, h = h*) resolviendo el problema, g′(h*) = 0 –360h* + 72 = 0 h* = 0.2 Esto significa que si se viaja a lo largo del eje h, g(h) alcanza un valor mínimo cuando h = h* = 0.2. Este resultado se sustituye en las ecuaciones (14.10) y (14.11) para obtener las coordenadas (x, y) correspondientes a este punto, x = –1 + 6(0.2) = 0.2 y = 1 – 6(0.2) = –0.2 Este paso se describe en la figura 14.11 conforme el movimiento va del punto 0 al 1. El segundo paso se implementa tan sólo al repetir el procedimiento. Primero, las derivadas parciales se evalúan en el nuevo punto inicial (0.2, –0.2) para obtener ∂ƒ ∂ = + = ∂ƒ ∂ = = x y 2 0 2 2 2 0 2 1 2 2 0 2 4 0 2 1 2 (– . ) – ( . ) . ( . ) – (– . ) . Por lo tanto, el vector gradiente es ∇f = 1.2i + 1.2j
  • 417. Esto significa que la dirección de máxima inclinación está ahora dirigida hacia arriba y hacia la derecha en un ángulo de 45º con el eje x (véase la figura 14.11). Las coordenadas a lo largo de este nuevo eje h se expresan ahora como x = 0.2 + 1.2h y = –0.2 + 1.2h Al sustituir estos valores en la función se obtiene ƒ(0.2 + 1.2h, –0.2 + 1.2h) = g(h) = –1.44h2 + 2.88h + 0.2 El paso h* que nos lleva al máximo a lo largo de la dirección marcada ahora se calcula directamente como g′(h*) = –2.88h* + 2.88 = 0 h* = 1 Este resultado se sustituye en las ecuaciones (14.10) y (14.11) para obtener las coordena- das (x, y) correspondientes a este nuevo punto, x = 0.2 + 1.2(1) = 1.4 y = –0.2 + 1.2(1) = 1 Como se describe en la figura 14.11, nos movemos a las nuevas coordenadas, marcadas como punto 2 en la gráfica, y al hacer esto nos acercamos al máximo. El procedimiento se puede repetir y se obtiene un resultado final que converge a la solución analítica, x = 2 y y = 1. Es posible demostrar que el método del descenso de máxima inclinación es lineal- mente convergente. Además, tiende a moverse de manera muy lenta, a lo largo de cres- tas largas y angostas. Esto porque el nuevo gradiente en cada punto máximo será FIGURA 14.11 El método del ascenso optimal de máxima inclinación. 2 2 1 0 Máximo 0 – 2 – 1 0 2 1 3 y x 4 14.2 MÉTODOS CON GRADIENTE 393
  • 418. 394 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA perpendicular a la dirección original. Así, la técnica da muchos pasos pequeños cruzan- do la ruta directa hacia la cima. Por lo tanto, aunque es confiable, existen otros métodos que convergen mucho más rápido, particularmente en la vecindad de un valor óptimo. En el resto de la sección se examinan esos métodos. 14.2.3 Métodos avanzados del gradiente Método de gradientes conjugados (Fletcher-Reeves). En la sección 14.1.2, se ha visto cómo en el método de Powell las direcciones conjugadas mejoran mucho la efi- ciencia de la búsqueda univariada. De manera similar, se puede también mejorar el as- censo de máxima inclinación linealmente convergente usando gradientes conjugados. En efecto, se puede demostrar que un método de optimización, que usa gradientes con- jugados para definir la dirección de búsqueda, es cuadráticamente convergente. Esto también asegura que el método optimizará una función cuadrática exactamente en un número finito de pasos sin importar el punto de inicio. Puesto que la mayoría de las funciones que tienen buen comportamiento llegan a aproximarse en forma razonable bien mediante una función cuadrática en la vecindad de un óptimo, los métodos de convergencia cuadrática a menudo resultan muy eficientes cerca de un valor óptimo. Se ha visto cómo, empezando con dos direcciones de búsqueda arbitrarias, el méto- do de Powell produce nuevas direcciones de búsqueda conjugadas. Este método es cua- dráticamente convergente y no requiere la información del gradiente. Por otro lado, si la evaluación de las derivadas es práctica, se pueden buscar algoritmos que combinen las ideas del descenso de máxima inclinación con las direcciones conjugadas, para lograr un comportamiento inicial más sólido y de convergencia rápida conforme la técnica conduz- ca hacia el óptimo. El algoritmo del gradiente conjugado de Fletcher-Reeves modifica el método de ascenso de máxima inclinación al imponer la condición de que sucesivas direcciones de búsqueda del gradiente sean mutuamente conjugadas. La prueba y el al- goritmo están más allá del alcance del texto, pero se describen en Rao (1996). Método de Newton. El método de Newton para una sola variable (recuerde la sección 13.3) se puede extender a los casos multivariados. Escriba una serie de Taylor de segun- do orden para f(x) cerca de x = xi, ƒ = ƒ + ∇ƒ − + − − ( ) ( ) ( )( ) ( ) ( ) x x x x x x x x x i T i i i T i i H 1 2 donde Hi es la matriz hessiana. En el mínimo, ∂ƒ ∂ = = ( ) , , , x xj j n 0 1 2 para … Así, ∇f = ∇f(xi) + Hi(x – xi) = 0 Si H es no singular, xi+l = xi – Hi –1 ∇f (14.14)
  • 419. la cual, se puede demostrar, converge en forma cuadrática cerca del óptimo. Este método, de nuevo, se comporta mejor que el método del ascenso de máxima inclinación (véase la figura 14.12). Sin embargo, observe que este método requiere tanto del cálculo de las segundas derivadas como de la inversión matricial, en cada iteración. Por lo que el méto- do no es muy útil en la práctica para funciones con gran número de variables. Además, el método de Newton quizá no converja si el punto inicial no está cerca del óptimo. Método de Marquardt. Se sabe que el método del ascenso de máxima inclinación aumenta el valor de la función, aun si el punto inicial está lejos del óptimo. Por otro lado, ya se describió el método de Newton, que converge con rapidez cerca del máximo. El método de Marquardt usa el método del descenso de máxima inclinación cuando x está lejos de x*, y el método de Newton cuando x está cerca de un óptimo. Esto se puede lograr al modificar la diagonal del hessiano en la ecuación (14.14), H ~ i = Hi + ai I donde ai es una constante positiva e I es la matriz identidad. Al inicio del procedimien- to, se supone que ai es grande y ˜ – H I i 1 1 1 ≈ α la cual reduce la ecuación (14.14) al método del ascenso de máxima inclinación. Con- forme continúan las iteraciones, ai se aproxima a cero y el método se convierte en el de Newton. Así, el método de Marquardt ofrece lo mejor de los procedimientos: comienza en forma confiable a partir de valores iniciales pobres y luego acelera en forma rápida FIGURA 14.12 Cuando el punto inicial esta cerca del punto óptimo, seguir el gradiente puede resultar ineficiente. Los métodos de Newton intentan la búsqueda a lo largo de una trayectoria directa hacia el óptimo (línea continua). y x 14.2 MÉTODOS CON GRADIENTE 395
  • 420. 396 OPTIMIZACIÓN MULTIDIMENSIONAL NO RESTRINGIDA cuando se aproxima al óptimo. Por desgracia, el método también requiere la evaluación del hessiano y la inversión matricial en cada paso. Debe observarse que el método de Marquardt es, ante todo, útil para problemas no lineales de mínimos cuadrados. Por ejemplo, la biblioteca IMSL contiene una subrutina con este propósito. Métodos de cuasi-Newton. Los métodos cuasi-Newton, o métodos de métrica va- riable, buscan estimar el camino directo hacia el óptimo en forma similar al método de Newton. Sin embargo, observe que la matriz hessiana en la ecuación (14.14) se compone de las segundas derivadas de f que varían en cada paso. Los métodos cuasi-Newton in- tentan evitar estas dificultades al aproximar H con otra matriz A, sólo las primeras de- rivadas parciales de f. El procedimiento consiste en comenzar con una aproximación inicial de H–1 y actualizarla y mejorarla en cada iteración. Estos métodos se llaman de cuasi-Newton porque no usan el hessiano verdadero, sino más bien una aproximación. Así, se tienen dos aproximaciones simultáneas: 1. la aproximación original de la serie de Taylor y 2. la aproximación del hessiano. Hay dos métodos principales de este tipo: los algoritmos de Davidon-Fletcher-Powell (DFP) y de Broyden-Fletcher-Goldfarb-Shanno (BFGS). Éstos son similares excepto en detalles concernientes a cómo manejan los errores de redondeo y su convergencia. BFGS es, por lo general, reconocido como superior en la mayoría de los casos. Rao (1996) pro- porciona detalles y declaraciones formales sobre ambos algoritmos, el DFP y el BFGS. 14.1 Repita el ejemplo 14.2 para la función siguiente, en el punto (0.8, 1.2). f(x, y) = 2xy + 1.5y – 1.25x2 – 2y2 + 5 14.2 Encuentre la derivada direccional de f(x, y) = x2 + 2y2 Si x = 2, y y = 2, en la dirección de h = 2i + 3j. 14.3 Encuentre el vector gradiente y la matriz Hessiana para cada una de las funciones siguientes: a) ƒ(x, y) = 3xy2 + 2exy b) ƒ(x, y, z) = 2x2 + y2 + z2 c) ƒ(x, y) = ln(x2 + 3xy + 2y2 ) 14.4 Dada f(x, y) = 2.25xy + 1.75y – 1.5x2 – 2y2 Construya y resuelva un sistema de ecuaciones algebraicas li- neales que maximice f(x). Observe que esto se logra por medio de igualar a cero las derivadas parciales de f con respecto tan- to de x como de y. 14.5 a) Comience con un valor inicial de x = 1 y y = 1, y realice dos aplicaciones del método de ascenso de máxima inclinación para f(x, y), como en el problema 14.4. PROBLEMAS b) Haga una gráfica de los resultados del inciso a), en la que se muestre la trayectoria de la búsqueda. 14.6 Encuentre el valor mínimo de ƒ(x, y) = (x – 3)2 + (y – 2)2 comience con x = 1 y y = 1, utilice el método de descenso de máxima inclinación con un criterio de detención de es = 1%. Explique sus resultados. 14.7 Efectúe una iteración del método de ascenso de máxima inclinación para localizar el máximo de f(x, y) = 4x + 2y + x2 – 2x4 + 2xy – 3y2 con los valores iniciales de x = 0 y y = 0. Emplee bisección para encontrar el tamaño óptimo de paso en la dirección de búsqueda del gradiente. 14.8 Realice una iteración del método de descenso de máxima inclinación del gradiente óptimo, para localizar el mínimo de f(x, y) = –8x + x2 + 12y + 4y2 – 2xy utilice valores iniciales de x = 0 y y = 0. 14.9 Con un lenguaje de programación o de macros, desarrolle un programa para implantar el método de búsqueda aleatoria. Diseñe el subprograma de modo que esté diseñado en forma expresa para localizar un máximo. Pruebe el programa con f(x, y) del problema 14.7. Utilice un rango de –2 a 2 tanto para x como para y.
  • 421. PROBLEMAS 397 14.10 La búsqueda por malla es otro procedimiento burdo para optimizar. En la figura P14.10 se ilustra la versión para dos di- mensiones. Las dimensiones x y y se dividen en incrementos a fin de formar una malla. Después, se evalúa la función en cada nodo de la malla. Entre más densa sea la malla más probable será la localización del óptimo. Con un lenguaje de programación o de macros, desarrolle un programa para implantar el método de búsqueda por malla. Diseñe el programa expresamente para que localice un máximo. Pruébelo con el mismo problema del ejemplo 14.1. 14.11 Desarrolle una ecuación unidimensional en la dirección del gradiente de presión en el punto (4, 2). La función de presión es f(x, y) = 6x2 y – 9y2 – 8x2 14.12 Una función de temperatura es f(x, y) = 2x3 y2 – 7xy + x2 + 3y Desarrolle una función unidimensional en la dirección del gra- diente de temperatura en el punto (1, 1). Figura P14.10 La búsqueda por malla. 2 1 0 –5 –10 –15 –20 –25 0 0 Máximo – 1 – 2 1 2 3 y x
  • 422. CAPÍTULO 15 Optimización restringida Este capítulo aborda problemas de optimización en los cuales entran en juego las res- tricciones. Primero, se analizarán problemas donde la función objetivo y las restriccio- nes son lineales. Para tales casos, hay métodos especiales que aprovechan la linealidad de las funciones, llamados métodos de programación lineal. Los algoritmos resultantes resuelven con gran eficiencia problemas muy grandes con miles de variables y restric- ciones. Dichos métodos se utilizan en una gran variedad de problemas en ingeniería y en administración. Después, se verá en forma breve el problema más general de optimización restrin- gida no lineal. Finalmente, se proporcionará una visión general de cómo se emplean los paquetes de software y las bibliotecas en la optimización. 15.1 PROGRAMACIÓN LINEAL La programación lineal (o PL, por simplicidad) es un método de optimización que se ocupa del cumplimiento de un determinado objetivo, como maximizar las utilidades o minimizar el costo, en presencia de restricciones como recursos limitados. El término lineal denota que las funciones matemáticas que representan el objetivo y las restriccio- nes son lineales. El término programación no significa “programación en computadora”; más bien denota “programar” o “fijar una agenda” (Revelle y colaboradores, 1997). 15.1.1 Forma estándar El problema básico de la programación lineal consiste en dos partes principales: la función objetivo y un conjunto de restricciones. En un problema de maximización, la función objetivo, por lo general, se expresa como Maximizar Z = c1 x1 + c2 x2 + · · · + cn xn (15.1) donde cj = la contribución de cada unidad de la j-ésima actividad realizada y xj = mag- nitud de la j-ésima actividad. Así, el valor de la función objetivo, Z, es la contribución total debida al número total de actividades, n. Las restricciones se representan, en forma general, como ai1 x1 + ai2 x2 + · · · + ain xn ≤ bi (15.2) donde aij = cantidad del i-ésimo recurso que se consume por cada unidad de la j-ésima actividad, y bi = cantidad del i-ésimo recurso que está disponible. Es decir, los recursos son limitados.
  • 423. El segundo tipo general de restricción, especifica que todas las actividades deben tener un valor positivo: xi 0 (15.3) En el presente contexto, lo anterior expresa la noción realista de que, en algunos proble- mas, la actividad negativa es físicamente imposible (por ejemplo, no se pueden producir bienes negativos). Juntas, la función objetivo y las restricciones, especifican el problema de progra- mación lineal. Éstas indican que se trata de maximizar la contribución de varias activi- dades, bajo la restricción de que en estas actividades se utilizan cantidades finitas de recursos. Antes de mostrar cómo se puede obtener este resultado, primero se desarro- llará un ejemplo. EJEMPLO 15.1 Planteamiento del problema de la PL Planteamiento del problema. Se desarrolla el siguiente problema del área de la in- geniería química o petrolera. Aunque, éste, es relevante para todas las áreas de la inge- niería relacionadas con la generación de productos con recursos limitados. Suponga que una planta procesadora de gas recibe cada semana una cantidad fija de materia prima. Esta última se procesa para dar dos tipos de gas: calidad regular y prémium. Estas clases de gas son de gran demanda (es decir, se tiene garantizada su venta) y dan diferentes utilidades a la compañía. Sin embargo, su producción involucra restricciones de tiempo y de almacenamiento. Por ejemplo, no se pueden producir las dos clases a la vez, y las instalaciones están disponibles solamente 80 horas por semana. Además, exis- te un límite de almacenamiento para cada uno de los productos. Todos estos factores se enlistan abajo (observe que una tonelada métrica, o ton, es igual a 1 000 kg): Producto Recurso Regular Prémium Disponibilidad del recurso Materia prima 7 m3 /ton 11 m3 /ton 77 m3 /semana Tiempo de producción 10 hr/ton 8 hr/ton 80 hr/semana Almacenamiento 9 ton 6 ton Aprovechamiento 150/ton 175/ton Desarrolle una formulación de programación lineal para maximizar las utilidades de esta operación. Solución. El ingeniero que opera esta planta debe decidir la cantidad a producir de cada tipo de gas para maximizar las utilidades. Si las cantidades producidas cada sema- na de gas regular y prémium se designan como x1 y x2 , respectivamente, la ganancia total se calcula mediante Ganancia total = 150x1 + 175x2 o se escribe como una función objetivo en programación lineal: Maximizar Z = 150x1 + l75x2 15.1 PROGRAMACIÓN LINEAL 399
  • 424. 400 OPTIMIZACIÓN RESTRINGIDA Las restricciones se desarrollan en una forma similar. Por ejemplo, el total de gas crudo (materia prima) utilizado se calcula como: Total de gas utilizado = 7x1 + 11x2 Este total no puede exceder el abastecimiento disponible de 77 m3 /semana, así que la restricción se representa como 7x1 + 11x2 77 Las restricciones restantes se desarrollan en una forma similar: la formulación completa resultante de PL está dada por Maximizar Z = 150x1 + 175x2 (maximizar la ganancia) Sujeta a 7x1 + 11x2 77 (restricciones de material) 10x1 + 8x2 80 (restricción de tiempo) x1 9 (restricción de almacenaje de gas “regular”) x2 6 (restricción de almacenaje de gas “prémium”) x1 , x2 0 (restricciones positivas) Observe que el conjunto de ecuaciones anterior constituye la formulación completa de PL. Las explicaciones en los paréntesis de la derecha se han incluido para aclarar el significado de cada expresión. 15.1.2 Solución gráfica Debido a que las soluciones gráficas están limitadas a dos o tres dimensiones, tienen una utilidad práctica limitada. Sin embargo, son muy útiles para demostrar algunos concep- tos básicos de las técnicas algebraicas generales, utilizadas para resolver problemas multidimensiones en la computadora. En un problema bidimensional, como el del ejemplo 15.1, el espacio solución se define como un plano con x1 medida a lo largo de la abscisa; y x2 , a lo largo de la orde- nada. Como las restricciones son lineales, se trazan sobre este plano como líneas rectas. Si el problema de PL se formuló adecuadamente (es decir, si tiene una solución), estas líneas restrictivas describen una región, llamada el espacio de solución factible, que abarca todas las posibles combinaciones de x1 y x2 , las cuales obedecen las restricciones y, por lo tanto, representan soluciones factibles. La función objetivo de un valor particu- lar de Z se puede trazar como otra línea recta y sobreponerse en este espacio. El valor de Z, entonces, se ajusta hasta que esté en el valor máximo, y toque aún el espacio fac- tible. Este valor de Z representa la solución óptima. Los valores correspondientes de x1 y x2 , donde Z toca el espacio de solución factible, representan los valores óptimos de las actividades. El siguiente ejemplo deberá ayudar a aclarar el procedimiento. EJEMPLO 15.2 Solución gráfica Planteamiento del problema. Desarrolle una solución gráfica para el problema del procesamiento de gas del ejemplo 15.1:
  • 425. Maximizar Z = 150 x1 + 175 x2 sujeta a 7x1 + 11x2 77 (1) 10x1 + 8x2 80 (2) x1 9 (3) x2 6 (4) x1 0 (5) x2 0 (6) Se numeraron las restricciones para identificarlas en la siguiente solución gráfica. Solución. Primero, se trazan las restricciones sobre el espacio solución. Por ejemplo, se reformula la primera restricción como una línea al reemplazar la desigualdad por un signo igual, y se despeja x2 : x2 = – 7 11 x1 + 7 Así, como en la figura 15.1a, los valores posibles de x1 y x2 que obedecen dicha restric- ción se hallan por debajo de esta línea (en la gráfica, la dirección se indica con la pe- queña flecha). Las otras restricciones se evalúan en forma similar, se sobreponen en la figura 15.1a. Observe cómo éstas encierran una región donde todas se satisfacen. Éste es el espacio solución factible (el área ABCDE en la gráfica). Además de definir el espacio factible, la figura 15.1a también ofrece una mejor comprensión. En particular, se percibe que la restricción 3 (almacenamiento de gas re- gular) es “redundante”. Es decir, el espacio solución factible no resulta afectado si fuese suprimida. Después, se agrega la función objetivo a la gráfica. Para hacerlo, se debe escoger un valor de Z. Por ejemplo, para Z = 0, la función objetivo es ahora 0 = 150x1 + 175x2 o, despejando x2 ,se obtiene la línea recta x2 = – 150 175 x1 Como se muestra en la figura 15.1b, ésta representa una línea punteada que interseca el origen. Ahora, debido a que estamos interesados en maximizar Z, ésta se aumenta a, digamos, 600, y la función objetivo es x2 = 600 175 150 175 − x1 Así, al incrementar el valor de la función objetivo, la línea se aleja del origen. Como la línea todavía cae dentro del espacio solución, nuestro resultado es aún factible. No obs- tante, por la misma razón, todavía hay espacio para mejorarlo. Por lo tanto, Z continúa 15.1 PROGRAMACIÓN LINEAL 401
  • 426. 402 OPTIMIZACIÓN RESTRINGIDA aumentando hasta que un incremento adicional lleve la función objetivo más allá de la región factible. Como se muestra en la figura 15.1b, el valor máximo de Z corresponde aproximadamente a 1 400. En este punto, x1 y x2 son, de manera aproximada, iguales a 4.9 y 3.9, respectivamente. Así, la solución gráfica indica que si se producen estas can- tidades de gas regular y prémium, se alcanzará una máxima utilidad de aproximada- mente 1 400. Además de determinar los valores óptimos, el procedimiento gráfico ofrece una mejor comprensión del problema. Esto se aprecia al sustituir de nuevo las soluciones en las ecuaciones restrictivas: 7(4.9) + 11(3.9) ≅ 77 10(4.9) + 8(3.9) ≅ 80 4.9 9 3.9 6 En consecuencia, como se ve claramente en la gráfica, producir la cantidad óptima de cada producto nos lleva directamente al punto donde se satisfacen las restricciones de los recursos (1) y del tiempo (2). Tales restricciones se dice que son obligatorias. Además, la gráfica también hace evidente que ninguna de las restricciones de almacenamiento [(3) ni (4)] actúan como una limitante. Tales restricciones se conocen como no obliga- torias. Esto nos lleva a la conclusión práctica de que, en este caso, se puede aumentar las utilidades, ya sea con un incremento en el abastecimiento de recursos (el gas crudo) b) 0 8 4 x1 x2 8 A B C D E Z ⫽ 0 Z ⫽ 600 Z ⫽ 1 400 a) 0 8 4 4 x1 Redundante 4 x2 8 A F B C D E 3 6 5 1 2 FIGURA 15.1 Solución gráfica de un problema de programación lineal. a) Las restricciones definen un espacio solución factible. b) La función objetivo se incrementa hasta que alcance el valor máximo que cumpla con todas las restricciones. Gráficamente, se mueve hacia arriba y a la derecha, hasta que toca el espacio factible en un solo punto óptimo.
  • 427. o en tiempo de producción. Además, esto indica que el aumento del almacenamiento podría no tener impacto sobre las utilidades. El resultado obtenido en el ejemplo anterior es uno de los cuatro posibles resultados que, por lo general, se obtienen en un problema de programación lineal. Éstos son: 1. Solución única. Como en el ejemplo, la función objetivo máxima interseca un solo punto. 2. Soluciones alternativas. Suponga que los coeficientes de la función objetivo del ejemplo fueran paralelos precisamente a una de las restricciones. En nuestro ejemplo, una forma en la cual esto podría ocurrir sería que las utilidades se modificaran a $140/ton y $220/ton. Entonces, en lugar de un solo punto, el problema podría tener un número infinito de óptimos correspondientes a un segmento de línea (véase fi- gura 15.2a). 3. Solución no factible. Como en la figura 15.2b, es posible que el problema esté formu- lado de tal manera que no haya una solución factible. Esto puede deberse a que se trata de un problema sin solución o a errores en la formulación del problema. Lo último ocurre si el problema está sobrerrestringido, y ninguna solución satisface todas las restricciones. 4. Problemas no acotados. Como en la figura 15.2c, esto usualmente significa que el problema está subrestringido y, por lo tanto, tiene límites abiertos. Como en el caso de la solución no factible, esto a menudo ocurre debido a errores cometidos duran- te la especificación del problema. Ahora supongamos que nuestro problema tiene una solución única. El procedimien- to gráfico podría sugerir una estrategia numérica para dar con el máximo. Observando la figura 15.1, deberá quedar claro que siempre se presenta el óptimo en uno de los pun- tos esquina, donde se presentan dos restricciones. Tales puntos se conocen de manera b) 0 x1 x2 a) 0 x1 x2 c) 0 x1 x2 Z FIGURA 15.2 Además de una sola solución óptima (por ejemplo, la figura 15.1b), existen otros tres resultados posibles en un problema de programación lineal: a) óptima alternativa, b) solución no factible y c) un resultado no acotado. 15.1 PROGRAMACIÓN LINEAL 403
  • 428. 404 OPTIMIZACIÓN RESTRINGIDA formal como puntos extremos. Así, del número infinito de posibilidades en el espacio de decisión, al enfocarse en los puntos extremos, se reducen claramente las opciones posibles. Además, es posible reconocer que no todo punto extremo es factible; es decir, sa- tisface todas las restricciones. Por ejemplo, observe que el punto F en la figura 15.1a es un punto extremo; pero no es factible. Limitándonos a puntos extremos factibles, se reduce todavía más el campo factible. Por último, una vez que se han identificado todos los puntos extremos factibles, el que ofrezca el mejor valor de la función objetivo representará la solución óptima. Se podría encontrar esta solución óptima mediante la exhaustiva (e ineficiente) evaluación del valor de la función objetivo en cada punto extremo factible. En la siguiente sección se analiza el método simplex, que ofrece una mejor estrategia para trazar un rumbo selec- tivo, a través de una secuencia de puntos extremos factibles, para llegar al óptimo de una manera extremadamente eficiente. 15.1.3 El método simplex El método simplex se basa en la suposición de que la solución óptima estará en un pun- to extremo. Así, el procedimiento debe ser capaz de discriminar si durante la solución del problema se presentará un punto extremo. Para esto, las ecuaciones con restricciones se reformulan como igualdades, introduciendo las llamadas variables de holgura. Variables de holgura. Como lo indica su nombre, una variable de holgura mide cuán- to de un recurso restringido está disponible; es decir, cuánta “holgura” está disponible. Por ejemplo, recuerde el recurso restringido que se utilizó en los ejemplos 15.1 y 15.2: 7x1 + 11x2 77 Se define una variable de holgura S1 como la cantidad de gas crudo que no se usa para un nivel de producción específico (x1 x2 ). Si esta cantidad se suma al lado izquierdo de la restricción, esto vuelve exacta a la relación: 7x1 + 11x2 + S1 = 77 Ahora vemos qué nos dice la variable de holgura. Si es positiva, significa que se tiene algo de “holgura” en esta restricción. Es decir, se cuenta con un excedente de re- curso que no se está utilizando por completo. Si es negativa, nos indica que hemos so- brepasado la restricción. Finalmente, si es cero, denota que la restricción se satisface con precisión. Es decir, hemos utilizado todo el recurso disponible. Puesto que ésta es exac- tamente la condición donde las líneas de restricción se intersecan, la variable de holgu- ra ofrece un medio para detectar los puntos extremos. Una variable de holgura diferente se desarrolla para cada ecuación restringida, lo cual resulta en lo que se conoce como la versión aumentada completamente, Maximizar Z = 150x1 + 175x2 sujeta a 7x1 + 11x2 + S1 = 77 (15.4a) 10x1 + 8x2 + S2 = 80 (15.4b)
  • 429. x1 + S3 = 9 (15.4c) x2 + S4 = 6 (15.4d) x1 , x2 , S1 , S2 , S3 , S4 0 Advierta cómo se han establecido las cuatro ecuaciones, de manera que las incóg- nitas quedan alineadas en columnas. Se hizo así para resaltar que ahora se trata de un sistema de ecuaciones algebraicas lineales (recuerde la parte tres). En la siguiente sección se mostrará cómo se emplean dichas ecuaciones para determinar los puntos extremos en forma algebraica. Solución algebraica. A diferencia de la parte tres, donde se tenían n ecuaciones con n incógnitas, nuestro sistema del ejemplo [ecuaciones (15.4)] está subespecificado; es decir, tiene más incógnitas que ecuaciones. En términos generales, hay n variables es- tructurales (las incógnitas originales), m variables de holgura o excedentes (una por restricción), y n + m variables en total (estructurales más excedentes). En el problema de la producción de gas se tienen 2 variables estructurales, 4 variables de holgura y 6 variables en total. Así, el problema consiste en resolver 4 ecuaciones con 6 incógnitas. La diferencia entre el número de incógnitas y el de ecuaciones (igual a 2 en nuestro problema) está directamente relacionada con la forma en que se distingue un punto extremo factible. Específicamente, cada punto factible tiene 2 de las 6 variables iguala- das a cero. Por ejemplo, los cinco puntos en las esquinas del área ABCDE tienen los siguientes valores cero: Esta observación nos lleva a concluir que los puntos extremos se determinan a partir de la forma estándar igualando dos de las variables a cero. En nuestro ejemplo, esto reduce el problema a resolver 4 ecuaciones con 4 incógnitas. Por ejemplo, para el punto E, si x1 = S4 = 0, la forma estándar se reduce a 11x2 + S1 = 77 8x2 + S2 = 80 + S3 = 9 x2 = 6 de donde se obtiene x2 = 6, S1 = 11, S2 = 32 y S3 = 9. Junto con x1 = S4 = 0, estos valores definen el punto E. Generalizando, una solución básica de m ecuaciones lineales con n incógnitas se obtiene al igualar a cero las variables n – m y resolver las m ecuaciones para las m in- cógnitas restantes. Las variables igualadas a cero se conocen formalmente como varia- bles no básicas; mientras que a las m variables restantes se les llama variables básicas. Punto extremo Variables cero A x1 , x2 B x2 , S2 C S1 , S2 D S1 , S4 E x1 , S4 15.1 PROGRAMACIÓN LINEAL 405
  • 430. 406 OPTIMIZACIÓN RESTRINGIDA Si todas las variables básicas son no negativas, al resultado se le llama una solución factible básica. El óptimo será una de éstas. Ahora, un procedimiento directo para determinar la solución óptima será calcular todas las soluciones básicas, determinar cuáles de ellas son factibles, y de éstas, cuál tiene el valor mayor de Z. Sin embargo, éste no es un procedimiento recomendable por dos razones. Primero, aun para problemas de tamaños moderado, se necesita resolver una gran cantidad de ecuaciones. Para m ecuaciones con n incógnitas, se tendrán que resolver Cn m = n m n m ! !( )! − ecuaciones simultáneas. Por ejemplo, si hay 10 ecuaciones (m = 10) con 16 incógnitas (n = 16), ¡se tendrían 8008 [= 16!/(10!6!)] sistemas de ecuaciones de 10 × 10 para re- solver! Segundo, quizás una porción significativa de éstas no sea factible. Por ejemplo, en el problema actual de los C4 6 = 15 puntos extremos, sólo 5 son factibles. Claramente, si se pudiese evitar resolver todos estos sistemas innecesarios, se tendría un algoritmo más eficiente. Uno de estos procedimientos se describe a continuación. Implementación del método simplex. El método simplex evita las ineficiencias descritas en la sección anterior. Esto se hace al comenzar con una solución factible bá- sica. Luego se mueve a través de una secuencia de otras soluciones factibles básicas que mejoran sucesivamente el valor de la función objetivo. En forma eventual, se alcanza el valor óptimo y se termina el método. Se ilustrará el procedimiento con el problema de procesamiento de gas, de los ejemplos 15.1 y 15.2. El primer paso consiste en empezar en una solución factible bási- ca (es decir, en un punto esquina extremo del espacio factible). Para casos como los nuestros, un punto de inicio obvio podría ser el punto A; esto es, x1 = x2 = 0. Las 6 ecua- ciones originales en 4 incógnitas se convierten en S1 = 77 S2 = 80 S3 = 9 S4 = 6 Así, los valores iniciales de las variables básicas se dan automáticamente siendo iguales a los lados derecho de las restricciones. Antes de proceder al siguiente paso, la información inicial se puede resumir en un adecuado formato tabular. Como se muestra a continuación, la tabla proporciona un resumen de la información clave que constituye el problema de la programación lineal. Básica Z x1 x2 S1 S2 S3 S4 Solución Intersección Z 1 –150 –175 0 0 0 0 0 S1 0 7 11 1 0 0 0 77 11 S2 0 10 8 0 1 0 0 80 8 S3 0 1 0 0 0 1 0 9 9 S4 0 0 1 0 0 0 1 6 ∞
  • 431. Observe que para propósitos de la tabla, la función objetivo se expresa como Z – 150x1 – 175x2 – 0S1 – 0S2 – 0S3 – 0S4 = 0 (15.5) El siguiente paso consiste en moverse a una nueva solución factible básica que nos lleve a mejorar la función objetivo. Esto se consigue incrementando una variable actual no básica (en este punto, x1 o x2 ) por arriba de cero para que Z aumente. Recuerde que, en el ejemplo presente, los puntos extremos deben tener 2 valores cero. Por lo tanto, una de las variables básicas actuales (S1 , S2 , S3 o S4 ) también deben igualarse a cero. Para resumir este paso importante: una de las variables no básicas actuales debe hacerse básica (no cero). Esta variable se llama variable de entrada. En el proceso, una de las variables básicas actuales se vuelve no básica (cero). Esta variable se llama va- riable de salida. Ahora, desarrollaremos un procedimiento matemático para seleccionar las variables de entrada y de salida. A causa de la convención de cómo escribir la función objetivo [ecuación (15.5)], la variable de entrada puede ser cualquier variable de la función ob- jetivo que tenga un coeficiente negativo (ya que esto hará a Z más grande). La variable con el valor negativo más grande se elige de manera convencional porque usualmente nos lleva al incremento mayor en Z. En nuestro caso, x2 será la variable entrante puesto que su coeficiente, –175, es más negativo que el coeficiente de x1 : –150. Aquí se puede consultar la solución gráfica para mejor comprensión. Se comienza en el punto inicial A, como se muestra en la figura 15.3. Considerando su coeficiente, se escogerá x2 como entrada. No obstante, para abreviar en este ejemplo, seleccionamos x1 puesto que en la gráfica se observa que nos llevará más rápido al máximo. 0 8 4 4 x1 4 1 x2 8 2 A F B C D E 3 FIGURA 15.3 Ilustración gráfica de cómo se mueve en forma sucesiva el método simplex a través de soluciones básicas factibles, para llegar al óptimo de manera eficiente. 15.1 PROGRAMACIÓN LINEAL 407
  • 432. 408 OPTIMIZACIÓN RESTRINGIDA Después, se debe elegir la variable de salida entre las variables básicas actuales (S1 , S2 , S3 o S4 ). Se observa gráficamente que hay dos posibilidades. Moviéndonos al punto B se tendrá S2 igual a cero; mientras que al movernos al punto F tendremos S1 igual a cero. Sin embargo, en la gráfica también queda claro que F no es posible, ya que queda fuera del espacio solución factible. Así, decide moverse de A a B. ¿Cómo se detecta el mismo resultado en forma matemática? Una manera es calcu- lar los valores en los que las líneas de restricción intersecan el eje o la línea que corres- ponde a la variable saliente (en nuestro caso, el eje x1 ). Es posible calcular este valor como la razón del lado derecho de la restricción (la columna “Solución” de la tabla) entre el coeficiente correspondiente de x1 . Por ejemplo, para la primera variable de hol- gura restrictiva S1 , el resultado es Intersección = 77 7 = 11 Las intersecciones restantes se pueden calcular y enlistar como la última columna de la tabla. Debido a que 8 es la menor intersección positiva, significa que la segunda línea de restricción se alcanzará primero conforme se incremente x1 . Por lo tanto, S2 será la variable de entrada. De esta manera, nos hemos movido al punto B (x2 = S2 = 0), y la nueva solución básica es ahora 7x1 + S1 = 77 10x1 = 80 x1 + S3 = 9 S4 = 6 La solución de este sistema de ecuaciones define efectivamente los valores de las varia- bles básicas en el punto B: x1 = 8, S1 = 21, S3 = 1 y S4 = 6. Se utiliza la tabla para realizar los mismos cálculos empleando el método de Gauss- Jordan. Recuerde que la estrategia básica de este método implica convertir el elemento pivote en 1, y después eliminar los coeficientes en la misma columna arriba y abajo del elemento pivote (recuerde la sección 9.7). En este ejemplo, el renglón pivote es S2 (la variable de entrada) y el elemento pivo- te es 10 (el coeficiente de la variable de salida, x1 ). Al dividir el renglón entre 10 y re- emplazar S2 por x1 se tiene Básica Z x1 x2 S1 S2 S3 S4 Solución Intersección Z 1 –150 –175 0 0 0 0 0 S1 0 7 11 1 0 0 0 77 x1 0 1 0.8 0 0.1 0 0 8 S3 0 1 0 0 0 1 0 9 S4 0 0 1 0 0 0 1 6
  • 433. Después, se eliminan los coeficientes de x1 en los otros renglones. Por ejemplo, para el renglón de la función objetivo, el renglón pivote se multiplica por –150 y el resultado se resta del primer renglón para obtener Z x1 x2 S1 S2 S3 S4 Solución 1 –150 –175 0 0 0 0 0 –0 –(–150) –(–120) –0 –(–15) 0 0 –(–1200) 1 0 –55 0 15 0 0 1200 Es posible realizar operaciones similares en los renglones restantes para obtener la nueva tabla, Básica Z x1 x2 S1 S2 S3 S4 Solución Intersección Z 1 0 –55 0 15 0 0 1200 S1 0 0 5.4 1 –0.7 0 0 21 3.889 x1 0 1 0.8 0 0.1 0 0 8 10 S3 0 0 –0.8 0 –0.1 1 0 1 –1.25 S4 0 0 1 0 0 0 1 6 6 Así la nueva tabla resume toda la información del punto B. Esto incluye el hecho de que el movimiento ha aumentado la función objetivo a Z = 1200. Esta tabla se utiliza después para representar el próximo y, en este caso, último paso. Sólo una variable más, x2 , tiene un valor negativo en la función objetivo, y se elige, por lo tanto, como la variable de salida. De acuerdo con los valores de la intersección (ahora calculados como la columna solución sobre los coeficientes de la columna de x2 ), la primera restricción tiene el valor positivo más pequeño y, por lo tanto, se selecciona S1 como la variable de entrada. Así, el método simplex nos mueve del punto B al C en la figura 15.3. Por último, la eliminación de Gauss-Jordan se utiliza para resolver las ecua- ciones simultáneas. El resultado es la tabla final, Básica Z x1 x2 S1 S2 S3 S4 Solución Z 1 0 0 10.1852 7.8704 0 0 1413.889 x2 0 0 1 0.1852 –0.1296 0 0 3.889 x1 0 1 0 –0.1481 0.2037 0 0 4.889 S3 0 0 0 0.1481 –0.2037 1 0 4.111 S4 0 0 0 –0.1852 0.1296 0 1 2.111 Se sabe que éste es el resultado final porque no quedan coeficientes negativos en la fila de la función objetivo. La solución final se tabula como x1 = 3.889 y x2 = 4.889, que dan una función objetivo máxima Z = 1413.889. Además, como S3 y S4 están todavía en la base, sabemos que la solución está limitada por la primera y la segunda restricciones. 15.2 OPTIMIZACIÓN RESTRINGIDA NO LINEAL Existen varios procedimientos para los problemas de optimización no lineal con la presencia de restricciones. Generalmente, dichos procedimientos se dividen en directos 15.2 OPTIMIZACIÓN RESTRINGIDA NO LINEAL 409
  • 434. 410 OPTIMIZACIÓN RESTRINGIDA e indirectos (Rao, 1996). Los procedimientos indirectos típicos usan las llamadas fun- ciones de penalización. Éstas consideran expresiones adicionales para hacer que la función objetivo sea menos óptima conforme la solución se aproxima a una restricción. Así, la solución no será aceptada por violar las restricciones. Aunque tales métodos llegan a ser útiles en algunos problemas, se vuelven difíciles cuando el problema tiene muchas restricciones. El método de búsqueda del gradiente reducido generalizado, o GRG, es uno de los métodos directos más populares (para detalles, véase Fylstra et al., 1998; Lasdon et al., 1978; Lasdon y Smith, 1992). Éste es, de hecho, el método no lineal usado en el Solver de Excel. Este método primero “reduce” a un problema de optimización no restringido. Lo hace resolviendo en un conjunto de ecuaciones no lineales las variables básicas en tér- minos de variables no básicas. Después, se resuelve el problema no restringido utilizan- do procedimientos similares a los que se describen en el capítulo 14. Se escoge primero una dirección de búsqueda a lo largo de la cual se busca mejorar la función objetivo. La selección obvia es un procedimiento cuasi-Newton (BFGS) que, como se describió en el capítulo 14, requiere el almacenamiento de una aproximación de la matriz hessiana. Este procedimiento funciona muy bien en la mayoría de los casos. El procedimiento del gradiente conjugado también está disponible en Excel como una alternativa para pro- blemas grandes. El Solver de Excel tiene la excelente característica de que, en forma automática, cambia al método del gradiente conjugado, dependiendo de la capacidad de almacenamiento. Una vez establecida la dirección de búsqueda, se lleva a cabo una búsqueda unidimensional a lo largo de esa dirección, mediante un procedimiento de tamaño de paso variable. 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE Los paquetes y bibliotecas de software tienen grandes capacidades para la optimización. En esta sección, se dará una introducción a algunos de los más útiles. 15.3.1 Programación lineal en Excel Existe una variedad de paquetes de software especialmente diseñados para la progra- mación lineal. Sin embargo, como su disponibilidad es amplia, este análisis se concen- trará en la hoja de cálculo de Excel. Ésta usa la opción Solver que se estudió, previamente en el capítulo 7, para localizar raíces. La manera en la cual se usa Solver para programación lineal es similar a las aplica- ciones hechas con anterioridad, en el sentido de cómo se introducen los datos en las celdas de la hoja de cálculo. La estrategia básica consiste en ubicar una celda que será optimizada, como una función de las variaciones de las otras celdas sobre la misma hoja de cálculo. El siguiente ejemplo ilustra cómo realizar esto con el problema del procesa- miento de gas. EJEMPLO 15.3 Uso del Solver de Excel para un problema de programación lineal Planteamiento del problema. Utilice Excel para resolver el problema del procesa- miento de gas que examinamos en este capítulo.
  • 435. Solución. Una hoja de cálculo de Excel para calcular los valores pertinentes en el pro- blema del procesamiento de gas se muestra en la figura 15.4. Las celdas no sombreadas son las que contienen datos numéricos y etiquetados. Las celdas sombreadas contienen las cantidades que se calculan basadas en las otras celdas. Reconozca que la celda que va a ser maximizada es la D12, la cual contiene la utilidad total. Las celdas que cambian son B4:C4, donde se tienen las cantidades producidas de gas regular y prémium. Una vez que se crea la hoja de cálculo, se selecciona Solver del menú Tools (Herra- mientas). En este momento se despliega una ventana de diálogo solicitándole la infor- mación pertinente. Las celdas del cuadro de diálogo de Solver se llenan así FIGURA 15.4 Hoja de cálculo en Excel para usar el Solver con la programación lineal. 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 411 Parámetros de Solver Celda objetivo: Valor de la celda objetivo: Máximo Mínimo Valores de: Cambiando las celdas: Sujetas a las siguientes restricciones: Resolver… Cerrar Estimar Opciones… Agregar… Cambiar… Restablecer todo Eliminar Ayuda $D$12 0 $B$4:$C$4 $B$4 = 0 $C$4 = 0 $D$6 = $E$6 $D$7 = $E$7 $D$8 = $E$8 $D$9 = $E$9 A B C D E 1 Problema para el procesamiento de gas 2 3 Regular Prémium Total Disponible 4 Producido 0 0 5 6 Materia prima 7 11 0 77 7 Tiempo 10 8 0 80 8 Almacen. de gas regular 0 9 9 Almacen. de gas prémium 0 6 10 11 Ganancia por unidad 150 175 12 Ganancia 0 0 0 =B6*B4+C6*C4 =B7*B4+C7*C4 =B4 =C4 =B4*B11 =C4*C11 =B12+C12
  • 436. 412 OPTIMIZACIÓN RESTRINGIDA Las restricciones se agregan una por una al seleccionar el botón “Agregar”. Esto abrirá un cuadro de diálogo que se ve así Entonces, la restricción donde el total de materia prima (celda D6) debe ser menor o igual que el abastecimiento disponible (E6) se agrega como se muestra. Después de agregar cada una de las restricciones, puede seleccionarse el botón agregar. Cuando se haya introducido las cuatro restricciones, seleccionamos el botón Aceptar para regresar a la ventana de diálogo del Solver. Ahora, antes de la ejecución, se deberá seleccionar el botón “Opciones…” del Sol- ver y escoger el cuadro rotulado como “Assume linear model” (Suponer modelo linear). Esto hará que Excel emplee una versión del algoritmo simplex (en lugar del Solver no lineal más general que normalmente usa) que acelera su aplicación. Después de seleccionar esta opción, regrese el menú Solver. Cuando seleccione el botón aceptar, se abrirá un cuadro de diálogo con un reporte sobre el éxito de la opera- ción. En el caso actual, el Solver obtiene la solución correcta (figura 15.5). FIGURA 15.5 Hoja de cálculo de Excel con la solución al problema de programación lineal. Además de obtener la solución, Solver también ofrece algunos reportes en resumen útiles. Éstos se explorarán en las aplicaciones a la ingeniería que se describen en la sección 16.2. Agregar restricciones Celdas referencia: Restricciones: $D$6 = =$E$6 Aceptar Cancelar Agregar Ayuda A B C D E 1 Problema para el procesamiento de gas 2 3 Regular Prémium Total Disponible 4 Producido 4.888889 3.888889 5 6 Materia prima 7 11 77 77 7 Tiempo 10 8 80 80 8 Almacen. de gas regular 4.888889 9 9 Almacen. de gas prémium 3.888889 6 10 11 Ganancia por unidad 150 175 12 Ganancia 733.3333 680.5556 1413.889
  • 437. 15.3.2 Excel para la optimización no lineal La manera de usar Solver para la optimización no lineal es similar a las aplicaciones hechas con anterioridad en el sentido de cómo los datos se introducen en las celdas de la hoja de cálculo. Una vez más, la estrategia básica es tener una sola celda a optimizar, como una función de las variaciones en las otras celdas sobre la misma hoja de cálculo. El siguiente ejemplo ilustra cómo hacer esto con el problema del paracaidista que plan- teamos en la introducción de esta parte del libro (recuerde el ejemplo PT4.1). EJEMPLO 15.4 Uso del Solver de Excel para la optimización restringida no lineal Planteamiento del problema. Recuerde que en el ejemplo PT4.1 se desarrolló una optimización restringida no lineal para minimizar el costo de la caída de un paracaídas en un campo de refugiados. Los parámetros de este problema son Parámetro Símbolo Valor Unidades Masa total Mt 2000 kg Aceleración de la gravedad g 9.8 m/s2 Coeficiente de costo (constante) c0 200 $ Coeficiente de costo (longitud) c1 56 $/m Coeficiente de costo (área) c2 0.1 $/m2 Velocidad crítica de impacto vc 20 m/s Efecto del área sobre el arrastre kc 3 kg/(s·m2 ) Altura inicial de caída z0 500 m Sustituyendo estos valores en las ecuaciones (PT4.11) a (PT4.19) se obtiene Minimizar C = n(200 + 56l + 0.1A2 ) sujeta a v ≤ 20 n ≥ 1 donde n es un entero y todas las otras variables son reales. Además, las siguientes can- tidades se definen como A = 2pr2 l = 2 r c = 3A m = M n t (15.6) t = raíz 500 9 8 9 8 1 2 2 − + − ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ − . . ( ) ( / ) m c t m c e c m t (15.7) v = 9 8 . m c (1 – e–(c/m)t ) 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 413
  • 438. 414 OPTIMIZACIÓN RESTRINGIDA Utilice Excel para resolver este problema con las variables de diseño r y n que minimi- cen el costo C. Solución. Antes de llevar este problema a Excel, se debe enfrentar primero el proble- ma de determinar la raíz en la formulación anterior [ecuación (15.7)]. Un método podría ser desarrollar un macro para implementar un método de localización de raíces, tal como el de la bisección o de la secante. (Se ilustrará cómo realizar esto en el próximo capítu- lo, en la sección 16.3.) Aunque, hay un procedimiento más fácil mediante la siguiente solución de la ecua- ción (15.7) que es la iteración de punto fijo, t m c e c m i c m ti + − = + − ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 1 2 2 500 9 8 1 9 8 . ( ) . ( / ) (15.8) Así, t se ajusta hasta que se satisfaga la ecuación (15.8). Se puede mostrar que para el rango de los parámetros usados en este problema, la fórmula siempre converge. Ahora, ¿cómo se puede resolver esta ecuación en una hoja de cálculo? Como se muestra abajo, se fijan dos celdas para que tengan un valor de t y el lado derecho de la ecuación (15.8) [es decir, f(t)]. Se puede teclear la ecuación (15.8) en la celda B21 de tal forma que tome el valor del tiempo en la celda B20 y los valores de los otros parámetros se asignan en otras celdas en cualquier otro lugar de la hoja (véase a continuación cómo se construye toda la hoja). Después colóquese en la celda B20 y lleve su valor a la celda B21. Una vez que se introduce esta fórmula, se desplegará en forma inmediata el mensa- je de error: “No se pueden resolver referencias circulares”, ya que B20 depende de B21 y viceversa. Ahora, escoja del menú herramientas/Opciones y seleccione calculation (cálculos). Del cuadro de diálogo “cálculos”, escoja “iteración” y presione “aceptar”. En forma inmediata la hoja de cálculo iterará estas celdas y el resultado aparecerá como B21 =(z0+9.8*m^2/c_^2*(1–EXP(–(c_/m*t)))*c_/(9.8*m) A B C D E F G 19 Raíz localización: 20 t 0 21 f(t) 0.480856 A B 19 Raíz localización: 20 t 10.2551 21 f(t) 10.25595 = − + − ( ) ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ − z m c m c e c m c m t 0 9 8 9 8 1 9 8 2 2 . . . ( / )
  • 439. Así, las celdas convergerán a la raíz. Si se quiere tener más precisión, sólo presione la tecla F9 para que se realicen más iteraciones (por default son 100 iteraciones, que es posible modificar si así se desea). En la figura 15.6 se muestra cómo implementar una hoja de cálculo en Excel para calcular los valores pertinentes. Las celdas no sombreadas son las que contienen los datos numéricos y las leyendas. Las celdas sombreadas contienen cantidades que se calculan basadas en las otras celdas. Por ejemplo, la masa en B17 se calculó con la ecua- ción (15.6) con base en los valores de Mt (B4) y n (E5). Observe también que algunas celdas son redundantes. Por ejemplo, la celda E11 se refiere a la celda E5. Esta repetición en la celda E11 es para que la estructura de las restricciones sea evidente en la hoja. Finalmente, note que la celda que habrá de minimizarse es E15, que contiene el costo total. Las celdas que cambian son E4:E5, en las cuales se tiene el radio y el número de paracaídas. FIGURA 15.6 Hoja de cálculo en Excel que muestra la solución del problema de optimización no lineal del paracaídas. 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 415 A B C D E F G 1 Problema de optimización del paracaídas 2 3 Parámetros: Variables de diseño: 4 Mt 2000 r 1 5 g 9.8 n 1 6 cost1 200 7 cost2 56 Restricciones: 8 cost3 0.1 9 vc 20 variable tipo límite 10 kc 3 v 95.8786 = 20 11 z0 500 n 1 = 1 12 13 Valores calculados: Función objetivo: 14 A 6.283185 15 l 1.414214 Costo 283.1438 16 c 18.84956 17 m 2000 18 19 Raíz localización: 20 t 10.26439 21 f(t) 10.26439
  • 440. 416 OPTIMIZACIÓN RESTRINGIDA Una vez que se ha creado la hoja de cálculo, se elige la solución Solver del menú herramientas. En esta etapa se desplegará un cuadro de diálogo, solicitándole la infor- mación pertinente. Las celdas en el cuadro de diálogo de Solver se llenan así Se deben agregar las restricciones una por una al seleccionar el botón “agregar”. Esto abrirá un cuadro de diálogo que se ve así Como se muestra, la restricción de que la velocidad de impacto presente (celda E10) debe ser menor o igual que la velocidad requerida (G10) puede agregarse como se muestra. Después de agregar cada restricción se puede seleccionar el botón “agregar”. Observe que la flecha hacia abajo le permite elegir entre varios tipos de restricciones (=, =, = y entero). Así, es posible forzar el número del paracaídas (E5) para que sea un entero. Una vez introducidas las tres restricciones, se selecciona el botón “aceptar” para regresar al cuadro de diálogo de Solver. Después de seleccionar esta opción vuelva al menú de Solver. Cuando seleccione el botón “aceptar” se abrirá un cuadro de diálogo con un reporte sobre el éxito de la operación. En el caso presente, el Solver obtiene la solución correcta como se indica en la figura 15.7. Solver Parameters Set Target Cell: $E$15 Equal To: Max Min Value of: 0 By Changing Cells: $E$4:$E$5 Subject to the Constraints: $E$10 = $G$10 $E$11 = $G$11 n = integer Solve Close Options Reset All Help Guess Add Change Delete Agregar restricciones Celdas referencia: Restricciones: $E$10 = =$G$10 Aceptar Cancelar Agregar Ayuda
  • 441. De esta forma, se determina que el costo mínimo es $4377.26 si se divide la carga en seis paquetes con un radio del paracaídas de 2.944 m. Además de obtener la solución, el Solver también proporciona algunos reportes en resumen útiles. Éstos se explorarán en las aplicaciones a la ingeniería que se describirán en la sección 16.2. 15.3.3 MATLAB Como se resume en la tabla 15.1, MATLAB tiene varias funciones interconstruidas para optimización. Los siguientes dos ejemplos ilustran cómo utilizarlas. FIGURA 15.7 Hoja de cálculo en Excel con la solución del problema de optimización no lineal referente al paracaídas. TABLA 15.1 Funciones de MATLAB para optimización. Función Descripción fminbnd Minimiza una función de una variable con restricciones fminsearch Minimiza una función de varias variables 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 417 A B C D E F G 1 Problema de optimización del paracaídas 2 3 Parámetros: Variables de diseño: 4 Mt 2000 r 2.943652 5 g 9.8 n 6 6 cost1 200 7 cost2 56 Restricciones: 8 cost3 0.1 9 vc 20 variable tipo límite 10 kc 3 v 20 = 20 11 z0 500 n 6 = 1 12 13 Valores calculados: Función objetivo: 14 A 54.44435 15 l 4.162953 Costo 4377.264 16 c 163.333 17 m 333.3333 18 19 Raíz localización: 20 t 27.04077 21 f(t) 27.04077
  • 442. 418 OPTIMIZACIÓN RESTRINGIDA EJEMPLO 15.5 Uso de MATLAB para la optimización unidimensional Planteamiento del problema. Utilice la función fminbnd de MATLAB para encontrar el máximo de f x x x ( ) = − 2 2 2 sen en el intervalo xl = 0 y xu = 4. Recuerde que en el capítulo 13 empleamos varios métodos para resolver este problema para x = 1.7757 y f(x) = 1.4276. Solución. Primero, necesitamos crear un archivo M para la función. function f=fx(x) f = –(2*sin(x)–x^2/10) Como lo que nos interesa es la maximización, introducimos el negativo de la función. A continuación llamamos a la función fminbnd con x=fminbnd(‘fx’,0,4) El resultado es f = –1.7757 x = 1.4275 Observe que se pueden incluir más argumentos. Una adición útil es establecer op- ciones de optimización, tales como tolerancia de error o máximo de iteraciones. Esto se hace con la función optimset, que se utilizó previamente en el ejemplo 7.6 y que tiene el formato general optimset(‘param1 ’,value1 ,’param2 ’,value2 ,...) donde parami es un parámetro que especifica el tipo de opción y valuei es el valor asig- nado a esa opción. En el ejemplo si se quiere establecer la tolerancia de 1 × 10–2 , optimset(‘TolX’,le–2) De esta manera la solución del presente problema con una tolerancia de 1 × 10–2 se ge- nera con fminbnd(‘fx’,0,4,optimset(‘TolX’,le–2)) cuyo resultado es f = –1.7757 ans = 1.4270
  • 443. Un conjunto completo de parámetros se encuentra llamando a “Help” (Ayuda) Help optimset EJEMPLO 15.6 Uso de MATLAB para optimización multidimensional Planteamiento del problema. Con la función fminsearch de MATLAB encuentre el máximo de f(x, y) = 2xy + 2x – x2 – 2y2 Utilice como valores iniciales x = –1 y y = 1. Recuerde que en el capítulo 14 se utilizaron varios métodos para resolver este problema para x = 2 y y = 1 con f(x, y) = –2. Solución. Primero debemos crear un archivo M para retener la función: function f=fxy(x) f = –(2*x(1)*x(2)+2*x(1)–x(1)^2–2*x(2)^2) Puesto que nos interesa la maximización, introducimos el negativo de la función. Después llamamos la función fminsearch con x=fminsearch(‘fxy’,[–1,1]) El resultado es f = –2.0000 x = 1.9999 1.0000 Igual que con fminbnd, se pueden agregar argumentos en orden para especificar parámetros adicionales en el proceso de optimización. Por ejemplo, la función optimset se utiliza para limitar el número máximo de iteraciones x=fminsearch(‘fxy’,[–1,1],optimset(‘MaxIter’,2)) obteniéndose como resultado f = 7.0025 Exiting: Maximum number of iterations has been exceeded – increase MaxIter option. Current function value: 7.000000 x = –1 1 Debido a que hemos fijado límites muy estrictos a las iteraciones, la optimización ter- mina bien antes de que se alcance el máximo. 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 419
  • 444. 420 OPTIMIZACIÓN RESTRINGIDA TABLA 15.2 Rutinas IMSL para optimización. Categoría Rutina Capacidad Minimización no restringida Función univariada UVMIF Usando sólo valores de la función UVMID Utilizando valores de la función y de la primera derivada UVMGS Función no suave Función multivariada UMINF Usando gradiente por diferencias finitas UMING Empleando gradiente analítico UMIDH Usando hessiano en diferencias finitas UMIAH Utilizando hessiano analítico UMCGF Usando gradiente conjugado con el gradiente en diferencias finitas UMCGG Empleando gradiente conjugado con gradiente analítico UMPOL Función no suave Mínimos cuadrados no lineales UNLSF Empleando jacobiano en diferencias finitas UNLSJ Utilizando jacobiano analítico Minimización con cotas simples BCONF Usando gradiente en diferencias finitas BCONG Utilizando gradiente analítico BCODH Empleando hessiano en diferencias finitas BCOAH Usando hessiano analítico BCPOL Función no suave BCLSF Mínimos cuadrados no lineales usando jacobiano en diferencias finitas BCLSJ Mínimos cuadrados no lineales utilizando jacobiano analítico Minimización restringida lineal DLPRS Programación lineal densa QPROG Programación cuadrática LCONF Función objetivo general con gradiente en diferencias finitas LCONG Función objetivo general con gradiente analítico Minimización restringida no lineal NCONF Utilizando gradiente en diferencias finitas NCONG Usando gradiente analítico Rutinas de servicio CDGRD Gradiente en diferencias centrales FDGRD Gradiente en diferencias hacia adelante FDHES Hessiano en diferencias hacia adelante GDHES Hessiano en diferencias hacia adelante con gradiente analítico FDJAC Jacobiano en diferencias hacia adelante CHGRD Verificación del gradiente proporcionado por el usuario CHHES Verificación del hessiano dado por el usuario CHJAC Verificación del jacobiano proporcionado por el usuario GGUES Puntos de inicio generados
  • 445. 15.3.4 IMSL IMSL tiene varias subrutinas en Fortran para optimización (tabla 15.2). El presente análisis se concentrará en la rutina UVMID. Esta rutina localiza el punto mínimo de una función suave en una sola variable, mediante evaluaciones de la función y de las primeras derivadas. UVMID es implementado por la siguiente instrucción CALL: CALL UVMID (F, G, XGUESS, ERREL, GTOL, MAXFN, A, B, X, FX, GX) donde F = FUNCIÓN suministrada por el usuario para calcular el valor de la función que va a minimizarse. La forma es F(X), donde X = punto donde se evalúa la fun- ción. (Entrada). X no deberá ser modificada por F. F = valor de la función calculado en el punto X. (Salida) G = FUNCIÓN suministrada por el usuario para calcular la derivada de la función, donde G = valor de la función calculado en el punto X. (Salida) F y G se deben declarar como EXTERNAL en el programa de llamado. XGUESS = Un valor inicial del punto mínimo de F. (Entrada) ERREL = Exactitud relativa requerida del valor final de X. (Entrada) GTOL = Tolerancia de la derivada usada para decidir si el punto actual es un míni- mo. (Entrada) MAXFN = Número máximo permitido de evaluaciones de la función. (Entrada) A = Punto extremo inferior del intervalo en el cual se localizará el máximo. (Entrada) B = Punto extremo superior del intervalo en el cual se localizará el máximo. (Entrada) FX = Valor de la función en X. (Salida) GX = Valor de la derivada en X. (Salida) EJEMPLO 15.7 Uso de IMSL para localizar un solo óptimo Planteamiento del problema. Use UVMID para determinar el máximo de la función unidimensional resuelta en el capítulo 13 (recuerde los ejemplos del 13.1 al 13.3). f(x) = 2 sen x – x2 10 Solución. Un ejemplo de un programa principal en Fortran 90 y de una función usan- do UVMIF para resolver este problema se escribe así: PROGRAM Oned USE mimsl IMPLICIT NONE INTEGER::maxfn=50 REAL::xguess=0.,errel=1.E-6,gtol=1.E-6,a=–2.,b=2. REAL::x,f,g,fx,gx EXTERNAL f,g CALL UVMID(f,g,xguess,errrel,gtol,maxfn,a,b,x,fx,gx) PRINT *,x,fx,gx END PROGRAM 15.3 OPTIMIZACIÓN CON BIBLIOTECAS Y PAQUETES DE SOFTWARE 421
  • 446. 422 OPTIMIZACIÓN RESTRINGIDA FUNCTION f(x) IMPLICIT NONE REAL::x,f f=–(2.*SIN(X) – x**2/10.) END FUNCTION FUNCTION g(x) IMPLICIT NONE REAL::x,g g=–(2.*COS(x) – 2.*x/10.) END FUNCTION Observe que como la rutina está dada para minimización, se introduce el negativo de la función. Un ejemplo de corrida es 1.427334 –1.775726 –4.739729E-04 15.1 Una compañía fabrica dos tipos de productos, A y B. Éstos se fabrican durante una semana laboral de 40 horas para enviarse al final de la semana. Se requieren 20 kg y 5 kg de materia prima por kilogramo de producto, respectivamente, y la compañía tiene acceso a 9500 kg de materia prima por semana. Sólo se puede crear un producto a la vez, con tiempos de producción para cada uno de ellos de 0.04 y 0.12 horas, respectivamente. La planta sólo puede almace- nar550kgentotaldeproductosporsemana.Porúltimo,lacompañía obtiene utilidades de $45 y $20 por cada unidad de A y B, respecti- vamente. Cada unidad de producto equivale a un kilogramo. a) Plantee el problema de programación lineal para maximizar la utilidad. b) Resuelva en forma gráfica el problema de programación lineal. c) Solucione el problema de programación lineal con el método simplex. d) Resuelva el problema con algún paquete de software. e) Evalúe cuál de las opciones siguientes elevaría las utilidades al máximo: incrementar la materia prima, el almacenamien- to, o el tiempo de producción. 15.2 Suponga que para el ejemplo 15.1, la planta de procesa- miento de gas decide producir un tercer grado de producto con las características siguientes: Supremo Gas crudo 15 m3 /ton Tiempo de producción 12 hr/ton Almacenamiento 5 ton Utilidad $250/ton Además, suponga que se ha descubierto una nueva fuente de gas crudo, lo que duplicó el total disponible a 154 m3 /semana. a) Plantee el problema de programación lineal para maximizar la utilidad. b) Resuelva el problema de programación lineal con el método simplex. c) Solucione el problema con un paquete de software. d) Evalúe cuál de las opciones siguientes aumentaría las utili- dades al máximo: incrementar la materia prima, el almace- namiento, o el tiempo de producción. 15.3 Considere el problema de programación lineal siguiente: Maximizar f(x, y) = 1.75x + 1.25y sujeta a: 1.2x + 2.25y 14 x + 1.1y 8 2.5x + y 9 x 0 y 0 Obtenga la solución: a) En forma gráfica. b) Usando el método simplex. c) Utilizando un paquete o biblioteca de software apropiados (por ejemplo, Excel, MATLAB, IMSL). 15.4 Considere el problema de programación lineal que sigue: Maximizar f(x, y) = 6x + 8y sujeta a 5x + 2y 40 6x + 6y 60 2x + 4y 32 x + 2y 500 PROBLEMAS
  • 447. x 0 y 0 Obtenga la solución: a) En forma gráfica. b) Usando el método simplex. c) Utilizando un paquete o biblioteca de software apropiados (por ejemplo, Excel, MATLAB o IMSL). 15.5 Emplee un paquete o biblioteca de software (por ejemplo, Excel, MATLAB o IMSL) para resolver el problema siguiente de optimización no lineal restringido: Maximizar f(x, y) = 1.2x + 2y – y3 sujeta a 2x + y 2 x 0 y 0 15.6 Utilice un paquete o biblioteca de software (por ejemplo, Excel, MATLAB o IMSL) para resolver el siguiente problema de optimización no lineal restringido: Maximizar f(x, y) = 15x + 15y sujeta a x2 + y2 1 x + 2y 2.1 x 0 y 0 15.7 Considere el problema siguiente de optimización no lineal restringido: Minimizar f(x y) = (x – 3)2 + (y – 3)2 sujeta a x + 2y = 4 a) Utilice el enfoque gráfico para estimar la solución. b) Emplee un paquete o biblioteca de software (como Excel) para obtener una estimación más exacta. 15.8 Use un paquete o biblioteca de software para determinar el máximo de f(x, y) = 2.25xy + 1.75y – 1.5x2 – 2y2 15.9 Emplee un paquete o biblioteca de software para determi- nar el máximo de f(x, y) = 4x + 2y + x2 – 2x4 + 2xy – 3y2 15.10 Dada la función siguiente, f(x, y) = –8x + x2 + 12y + 4y2 + 2xy use un paquete o biblioteca de software para determinar el mínimo: a) En forma gráfica. b) Numéricamente. c) Sustituya el resultado del inciso b) en la función a fin de determinar el valor mínimo de f(x, y). d) Determine el Hessiano y su determinante, y sustituya el resul- tado del inciso b) para verificar que se detectó un mínimo. 15.11 Se le pide a usted que diseñe un silo cónico cubierto para almacenar 50 m3 de desechos líquidos. Suponga que los costos de excavación son de $100/m3 , los de cubrimiento lateral son de $50/ m2 , y los de la cubierta son de $25/m2 . Determine las dimensiones del silo que minimizan el costo a) si la pendiente lateral no está restringida, y b) la pendiente lateral debe ser menor de 45º. 15.12 Una compañía automotriz tiene dos versiones del mismo modelo de auto para vender, un cupé de dos puertas y otro de tamaño grande de cuatro puertas. a) Encuentre gráficamente cuántos autos de cada diseño deben producirse a fin de maximizar la utilidad, y diga de cuánto es esta ganancia. b) Con Excel, resuelva el mismo problema. Dos Cuatro puertas puertas Disponibilidad Utilidad $13000/auto $15000/auto Tiempo de producción 17.5 h/auto 21 h/auto 8000 h/año Almacenamiento 400 autos 350 autos Demanda del consumidor 680/auto 500/auto 240000 autos 15.13 Og es el líder de la tribu de cavernícolas Calm Waters, que está sorprendentemente avanzada en matemáticas, aunque con mucho atraso tecnológico. Él debe decidir acerca del núme- ro de mazos y hachas de piedra que deben producirse para la batalla próxima contra la tribu vecina de los Peaceful Sunset. La experiencia le ha enseñado que un mazo es bueno para gene- rar en promedio 0.45 muertes y 0.65 heridas, en tanto que un ha- cha produce 0.70 muertes y 0.35 heridas. La producción de un mazo requiere 5.1 libras de piedra y 2.1 horas-hombre de traba- jo, mientras que para un hacha se necesitan 3.2 libras de piedra y 4.3 horas-hombre de trabajo. La tribu de Og dispone de 240 libras de piedra para la producción de armas, y de un total de 200 horas-hombre de trabajo, antes de que pase el tiempo espe- rado para esta batalla (la cual, Og está seguro, pondrá fin para siempre a la guerra). Al cuantificar el daño que se inflige al enemigo, Og valora una muerte tanto como dos heridas, y desea producir la mezcla de armas que maximice el daño. a) Formule la situación como un problema de programación lineal. Asegúrese de definir las variables de decisión. b) Represente este problema en forma gráfica, y asegúrese de identificar todos los puntos de esquina factibles, así como los no factibles. c) Resuelva el problema de forma gráfica. d) Solucione el problema con el uso de una computadora. PROBLEMAS 423
  • 448. CAPÍTULO 16 Estudio de casos: optimización El propósito de este capítulo es utilizar los métodos numéricos analizados en los capí- tulos 13 al 15 para resolver problemas prácticos de ingeniería que involucren optimiza- ción. Estos problemas son importantes, ya que a los ingenieros con frecuencia les pide que den la “mejor” solución a un problema. Como muchos de estos casos implican sis- temas complicados e interacciones, entonces los métodos numéricos y las computadoras son necesarios para desarrollar soluciones óptimas. Las siguientes aplicaciones son típicas de aquellas que se encuentran en forma ru- tinaria durante los estudios superiores y de graduados. Además, son representativas de problemas con los que se enfrentará el ingeniero profesionalmente. Los problemas se toman de las áreas de la ingeniería siguientes: química/bioingeniería, civil/ambiental, eléctrica y mecánica/aeronáutica. La primera aplicación, tomada de la ingeniería química/bioingeniería, tiene que ver con el uso de la optimización restringida no lineal para el diseño óptimo de un tan- que cilíndrico. Se usa el Solver de Excel para encontrar la solución. Después, se utiliza la programación lineal para resolver un problema de la ingenie- ría civil/ambiental: minimizar el costo del tratamiento de aguas residuales para cumplir con los objetivos de calidad del agua en un río. En este ejemplo, se expone la noción de los precios indefinidos y su uso para mostrar la sensibilidad de una solución en progra- mación lineal. La tercera aplicación, tomada de la ingeniería eléctrica, implica maximizar la po- tencia a través de un potenciómetro en un circuito eléctrico. La solución involucra opti- mización no restringida unidimensional. Además de resolver el problema, se muestra cómo el lenguaje macro de Visual Basic permite el acceso al algoritmo de búsqueda de la sección dorada, dentro del contexto del ambiente Excel. Por último, en la cuarta aplicación, tomada de la ingeniería mecánica/aeronáutica, se busca determinar los desplazamientos de la pierna al pedalear en una bicicleta de montaña, minimizando la ecuación bidimensional de energía potencial. 16.1 DISEÑO DE UN TANQUE CON EL MENOR COSTO (INGENIERÍA QUÍMICA/BIOINGENIERÍA) Antecedentes. Los ingenieros químicos (así como otros especialistas tales como los ingenieros mecánicos y civiles) con frecuencia se enfrentan al problema general del diseño de recipientes que transporten líquidos o gases. Suponga que se le pide determi- nar las dimensiones de un tanque cilíndrico pequeño para el transporte de desechos tóxicos que se van a trasladar en un camión. Su objetivo general será minimizar el cos-
  • 449. to del tanque. Sin embargo, además del costo, usted debe asegurar que pueda contener la cantidad requerida de líquido y que no exceda las dimensiones de la caja del camión. Debido a que el tanque transportará desechos tóxicos, se requiere que éste sea de un espesor determinado, dentro de ciertos reglamentos. Un esquema del tanque y de la caja se muestra en la figura 16.1. Como se observa, el tanque es un cilindro con dos placas soldadas en cada extremo. El costo del tanque tiene dos componentes: 1. gastos del material, que están basados en el peso, y 2. gastos de soldadura que se basan en la longitud a soldar. Note que esto último consiste en soldar tanto la junta interior como la junta exterior donde las placas se unen con el cilindro. Los datos necesarios para el problema se resumen en la tabla 16.1. Solución. El objetivo aquí es construir un tanque a un costo mínimo. El costo está relacionado con las variables de diseño (longitud y diámetro), ya que tienen efecto sobre la masa del tanque y las longitudes a soldar. Además, el problema tiene restricciones, pues el tanque debe 1. caber en la caja del camión y 2. tener capacidad para el volumen requerido de material. El costo se obtiene de los costos del material del tanque y de la soldadura. Por lo tanto, la función objetivo se formula como una minimización C = cmm + cw艎w (16.1) TABLA 16.1 Parámetros para determinar las dimensiones óptimas de un tanque cilíndrico para transporte de desechos tóxicos. Parámetro Símbolo Valor Unidades Volumen requerido Vo 0.8 m3 Espesor t 3 cm Densidad r 8000 kg/m3 Longitud de la caja Lmáx 2 m Ancho de la caja Dmáx 1 m Costo del material cm 4.5 $/kg Costo de soldadura cw 20 $/m Lmáx Dmáx t L D t FIGURA 16.1 Parámetros para determinar las dimensiones óptimas de un tanque cilíndrico. 16.1 DISEÑO DE UN TANQUE CON EL MENOR COSTO 425
  • 450. 426 ESTUDIO DE CASOS: OPTIMIZACIÓN donde C = costo ($), m = masa (kg), 艎w = longitud a soldar (m), cm y cw = factores de costo por masa ($/kg) y longitud de soldadura ($/m), respectivamente. Después, se relacionan la masa y la longitud de soldadura con las dimensiones del tambor. Primero, se calcula la masa como el volumen del material por su densidad. El volumen del material usado para construir las paredes laterales (es decir, el cilindro) se calcula así: V L D t D cilindro = + ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ π 2 2 2 2 – Para cada placa circular en los extremos, V D t t placa = + ⎛ ⎝ ⎞ ⎠ π 2 2 Así, la masa se calcula mediante m L D t D D t t = + ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ + + ⎛ ⎝ ⎞ ⎠ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ ρ π π 2 2 2 2 2 2 2 – (16.2) donde r = densidad (kg/m3 ). La longitud de soldadura para unir cada placa es igual a la circunferencia interior y exterior del cilindro. Para las dos placas, la longitud total de soldadura será w = + ⎛ ⎝ ⎞ ⎠ + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ = + 2 2 2 2 2 4 π π π D t D D t ( ) (16.3) Dados los valores para D y L (recuerde que el espesor t es fijado por un reglamento), las ecuaciones (16.1), (16.2) y (16.3) ofrecen un medio para calcular el costo. También ob- serve que cuando las ecuaciones (16.2) y (16.3) se sustituyen en la ecuación (16.1), la función objetivo que se obtiene es no lineal. Después, se formulan las restricciones. Primero, se debe calcular el volumen que el tanque terminado puede contener, V D L = π 2 4 Este valor debe ser igual al volumen deseado. Así, una restricción es πD L Vo 2 4 = donde Vo es el volumen deseado (m3 ). Las restricciones restantes tienen que ver con que el tanque se ajuste a las dimen- siones de la caja del camión, L Lmáx D Dmáx
  • 451. El problema ahora está especificado. Con la sustitución de los valores de la tabla 16.1, se resume como Maximizar C = 4.5m + 20艎w sujeto a πD L L D 2 4 0 8 1 = ≤ ≤ . 2 donde m L D D D = + ⎛ ⎝ ⎞ ⎠ ⎛ ⎝ ⎞ ⎠ ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ + + ⎛ ⎝ ⎞ ⎠ ⎧ ⎨ ⎪ ⎩ ⎪ ⎫ ⎬ ⎪ ⎭ ⎪ 8 000 2 0 03 2 2 2 0 03 0 03 2 2 2 π π . – . . y 艎w = 4p (D + 0.03) El problema ahora se puede resolver de diferentes formas. Sin embargo, el método más simple para un problema de esta magnitud consiste en utilizar una herramienta como el Solver de Excel. La hoja de cálculo para realizar esto se muestra en la figura 16.2. En el caso mostrado, se introducen los límites superiores para D y L. En este caso, el volumen es mayor que el requerido (1.57 0.8). FIGURA 16.2 Hoja de cálculo de Excel lista para evaluar el costo de un tanque sujeto a restricciones de volumen y tamaño. 16.1 DISEÑO DE UN TANQUE CON EL MENOR COSTO 427 A B C D E F G 1 Diseño del tanque óptimo 2 3 Parámetros: Variables de diseño: 4 V0 0.8 D 1 5 t 0.03 L 2 6 rho 8000 7 Lmáx 2 Restricciones: 8 Dmáx 1 D 1 = 1 9 cm 4.5 L 2 = 2 10 cw 20 Vol 1.570796 = 0.8 11 12 Valores calculados: Función objetivo: 13 m 1976.791 C 9154.425 14 Iw 12.94336 15 16 Vcoraza 0.19415 17 Vtapas 0.052948
  • 452. 428 ESTUDIO DE CASOS: OPTIMIZACIÓN Una vez creada la hoja de cálculo, la selección Solver se elije del menú Tools (Herra- mientas). Aquí aparecerá una ventana de diálogo que le solicitará la información perti- nente. Las celdas correspondientes para el cuadro de diálogo Solver se pueden llenar así Al seleccionar el botón Resolver, un cuadro de diálogo se abrirá mostrando un re- porte sobre el éxito de la operación. En el presente caso, Solver obtiene la solución co- rrecta, la cual se muestra en la figura 16.3. Observe que el diámetro óptimo es casi el valor de la restricción de 1 m. Así, si aumentara la capacidad requerida del tanque, podría quitarse esta restricción y el problema se reduciría a una búsqueda unidimensional para la longitud. FIGURA 16.3 Resultados de la minimización. El precio se reduce de $9154 a $5723, debido al menor volumen con dimensiones D = 0.98 m y L = 1.05 m. A B C D E F G 1 Diseño del tanque óptimo 2 3 Parámetros: Variables de diseño 4 V0 0.8 D 0.98351 5 t 0.03 L 1.053033 6 rho 8000 7 Lmáx 2 Restricciones 8 Dmáx 1 D 0.98351 = 1 9 cm 4.5 L 1.053033 = 2 10 cw 20 Vol 0.799999 = 0.8 11 12 Valores calculados: Función objetivo: 13 m 1215.206 C 5723.149 14 Iw 12.73614 15 16 Vcoraza 0.100587 17 Vtapas 0.051314 Parámetros de Solver Celda objetivo: Valor de la celda objetivo: Máximo Mínimo Valores de: Cambiando las celdas: Sujetas a las siguientes restricciones: Resolver… Cerrar Estimar Opciones… Agregar… Cambiar… Restablecer todo Eliminar Ayuda $E$13 $E$4:$E$5 $E$10 = $G$10 $E$8 = $G$8 $E$9 = $G$9 0
  • 453. 16.2 MÍNIMO COSTO PARA EL TRATAMIENTO DE AGUAS RESIDUALES (INGENIERÍA CIVIL/AMBIENTAL) Antecedentes. Las descargas de aguas residuales de las grandes ciudades son, con frecuencia, la causa principal de la contaminación en un río. La figura 16.4 presenta el tipo de sistema que un ingeniero ambiental podría enfrentar. Varias ciudades están lo- calizadas en las orillas de un río y sus afluentes. Cada una genera contaminación a una razón de carga P en unidades de miligramos por día (mg/d). La carga contaminante está sujeta al tratamiento de desechos que resultan de una remoción fraccional x. Así, la cantidad descargada al río es el exceso no removido por el tratamiento, Wi = (1 – xi)Pi (16.4) donde Wi = descarga de desechos de la i-ésima ciudad. Cuando las descargas de desechos entran en la corriente, se mezclan con los conta- minantes de las fuentes corriente arriba. Si se supone un mezclado completo en el punto de descarga, la concentración resultante en el punto de descarga se calcula con un simple balance de masa, c W Q c Q i i u u i = + (16.5) donde Qu = flujo (L/d), cu = concentración (mg/L) en el río corriente arriba de la des- carga, y Qi = flujo abajo del punto de descarga (L/d). Después de que se establece la concentración en el punto de mezclado, los procesos de descomposición químicos y biológicos pueden eliminar algo de contaminación, con- forme fluye corriente abajo. En el presente caso, se supone que esta eliminación puede representarse por un simple factor de reducción R. Suponiendoquelasfuentesdeagua(esdecir,lasciudades1y2enelríomostradoantes) están libres de contaminantes, las concentraciones en los cuatro nodos se calculan así: (16.6) FIGURA 16.4 Cuatro plantas de tratamiento de aguas residuales que descargan contaminantes a un sistema de ríos. Los segmentos del río entre las ciudades están marcados con números dentro de un círculo. 4 P1 3 2 P4 P2 P3 W1 W2 W3 W4 34 23 13 45 WWTP2 1 WWTP1 WWTP4 WWTP3 c x P Q c x P Q c R Q c R Q c x P Q c R Q c x P Q 1 1 1 13 2 2 2 23 3 13 13 1 23 23 2 3 3 34 4 34 34 3 4 4 45 1 1 1 1 = = = + + = + ( – ) ( – ) ( – ) ( – ) 16.2 MÍNIMO COSTO PARA EL TRATAMIENTO DE AGUAS RESIDUALES 429
  • 454. 430 ESTUDIO DE CASOS: OPTIMIZACIÓN Después, se observa que el tratamiento de aguas tiene un costo diferente, di ($1000/ mg eliminado), en cada una de las instalaciones. Así, el costo total de tratamiento (sobre una base diaria) se calcula como Z = d1P1x1 + d2P2x2 + d3P3x3 + d4P4x4 (16.7) donde Z es el costo total diario del tratamiento ($1000/d). La pieza final en la “decisión” son las regulaciones ambientales. Para proteger los usos benéficos del río (por ejemplo, paseos en bote, pesca, uso como balneario), las regulaciones indican que la concentración del río no debe exceder un estándar de calidad cs en el agua. En la tabla 16.2 se resumen los parámetros para el sistema de ríos de la figura 16.4. Observe que hay una diferencia en los costos de tratamiento entre las ciudades corrien- te arriba (1 y 2) y corriente abajo (3 y 4), debido a la naturaleza obsoleta de las plantas corriente abajo. La concentración se calcula con la ecuación (16.6) y el resultado se presenta en la columna sombreada, para el caso en que no se implementó tratamiento de residuos (es decir, donde todas las x = 0). Observe que el estándar de 20 mg/L se viola en todos los puntos de mezclado. Utilice la programación lineal para determinar los niveles de tratamiento que satis- facen los estándares de calidad del agua a un costo mínimo. También evalúe el impacto al hacer el estándar más restringido debajo de la ciudad 3. Es decir, realice el mismo ejerci- cio; pero ahora con los estándares para los segmentos 3-4 y 4-5 disminuidos a 10 mg/L. Solución. Todos los factores antes mencionados se combinan en el siguiente problema de programación lineal: Minimizar Z = d1P1x1 + d2P2x2 + d3P3x3 + d4P4x4 (16.8) sujeto a las siguientes restricciones ( – ) ( – ) ( – ) 1 1 1 1 1 13 1 2 2 23 2 13 13 1 23 23 2 3 3 34 3 x P Q c x P Q c R Q c R Q c x P Q c s s s ≤ ≤ + + ≤ (16.9) TABLA 16.2 Parámetros para las cuatro plantas de tratamiento de aguas residuales que descargan contaminantes a un sistema de ríos, junto con las concentraciones resultantes (ci) para tratamiento cero. También se dan el flujo, el factor de remoción y los estándares para los segmentos del río. Ciudad Pi (mg/d) di ($10–6 /mg) ci (mg/L) Segmento Q (L/d) R cs (mg/L) 1 1.00 × 109 2 100 1–3 1.00 × 107 0.5 20 2 2.00 × 109 2 40 2–3 5.00 × 107 0.35 20 3 4.00 × 109 4 47.3 3–4 1.10 × 108 0.6 20 4 2.50 × 109 4 22.5 4–5 2.50 × 108 20
  • 455. ( – ) , , , 1 0 1 34 34 3 4 4 45 4 1 2 3 4 R Q c x P Q c x x x x s + ≤ ≤ ≤ (16.10) De esta forma, la función objetivo es para minimizar el costo del tratamiento [ecua- ción (16.8)] sujeto a la restricción de los estándares de calidad del agua que se deben satisfacer en todas las partes del sistema [ecuación (16.9)]. Además, el tratamiento no debe ser negativo o mayor que el 100% de remoción [ecuación (16.10)]. El problema se resuelve utilizando diversos paquetes. Para esta aplicación se uti- liza la hoja de cálculo Excel. Como se observa en la figura 16.5, los datos junto con los cálculos de la concentración se pueden introducir fácilmente en las celdas de la hoja de cálculo. Una vez que se crea la hoja de cálculo, se elige la selección Solver del menú Tools (Herramientas). En este punto, se desplegará una ventana de diálogo, solicitándole la información pertinente. Las celdas correspondientes para el cuadro de diálogo se podrían llenar así Observe que no se muestran todas las restricciones, ya que el cuadro de diálogo desplie- ga sólo seis restricciones a la vez. Cuando se selecciona el botón Resolver, se abre un cuadro de diálogo con un repor- te sobre el éxito de la operación. En el presente caso, Solver obtiene la solución correc- ta, la cual se muestra en la figura 16.6. Antes de aceptar la solución (al seleccionar el botón OK (aceptar) en el cuadro reporte del Solver), observe que se hayan generado 3 reportes: Respuesta, Sensibilidad y Límites. Seleccione el reporte Sensibilidad y después presione el botón OK para aceptar la solución. Solver generará automáticamente un re- porte de Sensibilidad, como el de la figura 16.7. Ahora examinemos la solución (figura 16.6). Observe que el estándar será satisfecho en todos los puntos de mezclado. De hecho, la concentración en la ciudad 4 en realidad será menor que el estándar (16.28 mg/L), a pesar de que no se requerirá tratamiento para la ciudad 4. 16.2 MÍNIMO COSTO PARA EL TRATAMIENTO DE AGUAS RESIDUALES 431 Parámetros de Solver Celda objetivo: Valor de la celda objetivo: Máximo Mínimo Valores de: Cambiando las celdas: Sujetas a las siguientes restricciones: Resolver… Cerrar Estimar Opciones… Agregar… Cambiar… Restablecer todo Eliminar Ayuda $H$9 0 $C$4:$C$7 $C$7 =1 $C$7 =0 $F$4 =$G$4 $F$5 =$G$5 $F$6 =$G$6 $F$7 =$G$7
  • 456. 432 ESTUDIO DE CASOS: OPTIMIZACIÓN FIGURA 16.5 Hoja de cálculo de Excel lista para evaluar el costo del tratamiento de aguas en un sistema de ríos regulado. La columna F contiene el cálculo de la concentración de acuerdo con la ecuación (16.6). Las celdas F4 y H4 están resaltadas para mostrar las fórmulas usadas para calcular c1 y el costo del tratamiento para la ciudad 1. Además, se resalta la celda H9 que muestra la fórmula para el costo total que es el que hay que minimizar [ecuación (16.8)]. FIGURA 16.6 Resultados de la minimización. Los estándares de calidad del agua se satisfacen a un costo de $12600/día. Observe que a pesar del hecho de que no se requiere tratamiento para la ciudad 4, la concentración en su punto de mezclado excede el estándar. A B C D E F G H 1 Costo mínimo del tratamiento de aguas residuales 2 No tratada Tratamiento Descarga Costo unit. Concent. Estándar Costo de 3 Ciudad P x W d en el río de CA tratamiento 4 1 1.00E+09 0 1.00E+09 2.00E-06 100.00 20.00 0.00 5 2 2.00E+09 0 2.00E+09 2.00E-06 40.00 20.00 0.00 6 3 4.00E+09 0 4.00E+09 4.00E-06 47.27 20.00 0.00 7 4 2.50E+09 0 2.50E+09 4.00E-06 22.48 20.00 0.00 8 Flujo en Remoción 9 Segmento el río en el río Total 0.00 10 1-3 1.00E+07 0.5 11 2-3 5.00E+07 0.35 12 3-4 1.10E+08 0.6 13 4-5 2.50E+08 =D4/B10 =$B$4*$C$4*$E$4 =SUM(B4:H7) A B C D E F G H 1 Costo mínimo del tratamiento de aguas residuales 2 No tratada Tratamiento Descarga Costo unit. Concent. Estándar Costo del 3 Ciudad P x W d en el río de CA tratamiento 4 1 1.00E+09 0.8 2.00E+08 2.00E-06 20.00 20.00 1600.00 5 2 2.00E+09 0.5 1.00E+09 2.00E-06 20.00 20.00 2000.00 6 3 4.00E+09 0.5625 1.75 E+09 4.00E-06 20.00 20.00 9000.00 7 4 2.50E+09 0 2.50E+09 4.00E-06 15.28 20.00 0.00 8 Flujo en Remoción 9 Segmento el río en el río Total 12600.00 10 1-3 1.00E+07 0.5 11 2-3 5.00E+07 0.35 12 3-4 1.10E+08 0.6 13 4-5 2.50E+08
  • 457. Como un ejercicio final, se pueden disminuir los estándares de 3-4 y 4-5 para tener 10 mg/L. Antes de hacerlo, se examina el reporte de Sensibilidad. En el caso presente, la columna clave de la figura 16.7 es la de los multiplicadores de Lagrange (el precio anticipado). El precio anticipado es un valor que expresa la sensibilidad de la función objetivo (en nuestro caso, el costo) a una unidad de cambio de una de las restricciones (estándares de calidad-agua). Por lo tanto, representa el costo adicional en que se incu- rrirá al hacer más restrictivos los estándares. En nuestro ejemplo, es interesante que el precio anticipado mayor, –$440/∆cs3, se da para uno de los cambios de estándar (es decir, corriente abajo desde la ciudad 3) que se están contemplando. Lo anterior advier- te que nuestra modificación será costosa. Esto se confirma cuando se vuelve a ejecutar el Solver con los nuevos estándares (es decir, se disminuye el valor en las celdas G6 y G7 a 10). Como se muestra en la tabla 16.3, elresultadoesqueelcostodeltratamientoaumentóde$12600/díaa$19640/día.Además, al reducir el estándar de concentraciones para las llegadas inferiores significará que la ciudad 4 debe comenzar a tratar sus desechos, y que la ciudad 3 debe actualizar su trata- miento. Note también que no se afecta el tratamiento en las ciudades corriente arriba. 16.3 MÁXIMA TRANSFERENCIA DE POTENCIA EN UN CIRCUITO (INGENIERÍA ELÉCTRICA) Antecedentes. El circuito de resistencias simple que se presenta en la figura 16.8 contiene tres resistores fijos y uno ajustable. Los resistores ajustables se llaman potenció- metros. Los valores de los parámetros son V = 80 V, R1 = 8 Ω, R2 = 12 Ω y R3 = 10 Ω. a) Encuentre el valor de la resistencia ajustable Ra que maximiza la transferencia de potencia a través de las terminales 1 y 2. b) Realice un análisis de sensibilidad para determinar cómo varían la máxima potencia y el valor correspondiente del potencióme- tro (Ra) conforme V varía en un rango de 45 a 105 V. Solución. A partir de las leyes de Kirchhoff es posible obtener una expresión para la potencia del circuito: P R VR R R R R R R R R R R a a a a a ( ) ( ) = + + + + ⎡ ⎣ ⎢ ⎤ ⎦ ⎥ 3 1 2 3 3 3 2 2 (16.11) TABLA 16.3 Comparación de dos escenarios que muestran el impacto de diferentes regulaciones sobre los costos de tratamiento. Escenario 1: Todas las cs = 20 Escenario 2: Corriente abajo cs = 10 Ciudad x c Ciudad x c 1 0.8 20 1 0.8 20 2 0.5 20 2 0.5 20 3 0.5625 20 3 0.8375 10 4 0 15.28 4 0.264 10 Costo = $12600 Costo = $19640 16.3 MÁXIMA TRANSFERENCIA DE POTENCIA EN UN CIRCUITO 433
  • 458. 434 ESTUDIO DE CASOS: OPTIMIZACIÓN FIGURA 16.7 Reporte de la sensibilidad en una hoja de cálculo para evaluar el costo del tratamiento de residuos en un sistema de ríos regulado. R3 1 2 V ⫹ ⫺ R2 R1 Ra FIGURA 16.8 Un circuito de resistencias con un resistor ajustable, o potenciómetro. 50 100 40 0 0 Ra P(Ra) 20 Potencia máxima FIGURA 16.9 Una gráfica de transferencia de potencia a través de las terminales 1-2 de la figura 16.8, como una función de la resistencia del potenciómetro Ra. Microsoft Excel 9.0 Sensitivity Report Worksheet: [Sec1602.xls]Sheet1 Report Created: 12/4/00 5:58:55 PM Adjustable Cells Final Reduced Cell Name Value Gradient $C$4 x 0.8 0 $C$5 x 0.5 0 $C$6 x 0.562500001 0 $C$7 x 0 10000 Constraints Final Lagrange Cell Name Value Multiplier $F$4 conc 20.00 -440.00 $F$5 conc 20.00 0.00 $F$6 conc 20.00 -30.00 $F$7 conc 15.28 0.00
  • 459. Sustituyendo los valores de los parámetros se obtiene la gráfica mostrada en la figura 16.9. Observe que la máxima transferencia de potencia se presenta con una resistencia de aproximadamente 16 Ω. Resolveremos este problema de dos formas con la hoja de cálculo Excel. Primero, se emplean prueba y error y la opción Solver. Después, se desarrollará un programa macro en Visual BASIC, para realizar un análisis de sensibilidad. a) En la figura 16.10 se muestra una hoja de cálculo de Excel para implementar la ecuación (16.11). Como se indica, la ecuación (16.11) se introduce en la celda B9. Enton- ces el valor de Ra (celda B8) se varía en forma de prueba y error hasta que se obtenga un residuo mínimo. En este ejemplo, el resultado es una potencia de 30.03 W con un valor en el potenciómetro de Ra = 16.44 Ω. Un procedimiento mejor consiste en utilizar la opción Solver del menú Tools (He- rramientas) de la hoja de cálculo. Se desplegará una ventana de diálogo solicitándole la información pertinente. Las celdas correspondientes para el cuadro de diálogo Solver se llenarán así Ubique la celda destino: B9 Igual a ● máx ❍ mín ❍ igual a 0 Por cambio de celdas B8 Cuando se selecciona el botón OK (aceptar), se despliega un cuadro de diálogo con un reporte sobre el éxito de la operación. En el caso actual, Solver obtiene la misma solución correcta que se presenta en la figura 16.10. b) Ahora, aunque el procedimiento anterior es excelente para una sola evaluación, no es conveniente para los casos donde se emplean múltiples optimizaciones. Tal podría ser el caso en la segunda parte de esta aplicación, en la cual estamos interesados en FIGURA 16.10 Determinación en Excel de la máxima potencia a través de un potenciómetro mediante el uso de prueba y error. 16.3 MÁXIMA TRANSFERENCIA DE POTENCIA EN UN CIRCUITO 435 B9 = =(V*Res3*Ra/(Res1*(Ra+Res2+Res3)+Res3*Ra+Res3*Res2))^2/Ra 1 2 3 4 5 6 7 8 9 10 Máxima transferencia de potencia V 80 Res1 8 Res2 12 Res3 10 Ra 16.444444 P(Ra) 30.03003 A B C D E F G H
  • 460. 436 ESTUDIO DE CASOS: OPTIMIZACIÓN determinar de qué modo la máxima potencia varía con diferentes valores de voltaje. En efecto, se podría llamar muchas veces el Solver con los diferentes valores de los pará- metros; pero esto resultaría ineficiente. Sería preferible desarrollar una función macro que encuentre el óptimo. Tal función se muestra en la figura 16.11. Advierta su similitud con el seudocódigo de la búsqueda de la sección dorada que se presentó en la figura 13.5. Además, observe que una función se debe definir también para calcular la potencia de acuerdo con la ecuación (16.11). En la figura 16.12 se muestra una hoja de cálculo Excel que utiliza este macro para evaluar la sensibilidad de la solución al voltaje. Se tiene una columna de valores que cubre los valores de los voltajes (es decir, de 45 a 105 V). En la celda B9 se tiene una función macro que referencia el valor adyacente de V (los 45 voltios en A9). Además, se dan también los otros parámetros en el argumento de la función. Advierta que, mientras la referencia a V es relativa, las referencias a los valores iniciales superior e inferior y a las resistencias son absolutas (es decir, incluyen el signo $). Esto se hizo de tal forma que cuando la fórmula se copie abajo, las referencias absolutas queden fijas; mientras que la referencia relativa corresponda al voltaje en el mismo renglón. Una estrategia similar se usa para introducir la ecuación (16.11) en la celda C9. Cuando se copian las fórmulas hacia abajo, el resultado es como el que se presenta en la figura 16.12. La máxima potencia se puede graficar para visualizar el impacto de las variaciones de voltaje. En la figura 16.13 se observa que la potencia aumenta con el voltaje. Los resultados de los valores correspondientes en el potenciómetro (Ra) son más interesantes. La hoja de cálculo indica que para un mismo valor, 16.44 Ω, da una máxi- ma potencia. Tal resultado podría ser difícil de intuir basándose en una inspección de la ecuación (16.11). 16.4 DISEÑO DE UNA BICICLETA DE MONTAÑA (INGENIERÍA MECÁNICA/AERONÁUTICA) Antecedentes. Por su trabajo en la industria de la construcción, los ingenieros civiles se asocian comúnmente con el diseño estructural. Sin embargo, otras especialidades de la ingeniería también deben tratar con el impacto de fuerzas sobre los dispositivos que diseñan. En particular, los ingenieros mecánicos y aeronáuticos deben evaluar tanto la respuesta estática como la dinámica, en una amplia clase de vehículos que van desde automóviles hasta vehículos espaciales. El interés reciente en bicicletas de competencia y recreativas ha propiciado que los ingenieros tengan que dirigir sus habilidades hacia el diseño y prueba de bicicletas de montaña (figura 16.14a). Suponga que se necesita predecir los desplazamientos horizon- tal y vertical en un sistema de frenos de una bicicleta como respuesta a una fuerza. Considere que las fuerzas que usted debe analizar se pueden simplificar, como se ilustra en la figura 16.14b. Le interesa probar la respuesta de la armadura cuando se ejerce una fuerza en cualquier dirección designada por el ángulo q. Los parámetros para el problema son E = módulo de Young = 2 × 1011 Pa, A = área de sección transversal = 0.0001 m2 , w = ancho = 0.44 m, ᐍ = longitud = 0.56 m y h =
  • 461. Option Explicit Function Golden(xlow, xhigh, R1, R2, R3, V) Dim iter As Integer, maxit As Integer, ea As Double, es As Double Dim fx As Double, xL As Double, xU As Double, d As Double, x1 as Double Dim x2 As Double, f1 As Double, f2 As Double, xopt As Double Const R As Double = (5 ^ 0.5 – 1) / 2 maxit = 50 es = 0.001 xL = xlow xU = xhigh iter = 1 d = R * (xU – xL) x1 = xL + d x2 = xU – d f1 = f(x1, R1, R2, R3, V) f2 = f(x2, R1, R2, R3, V) If f1 f2 Then xopt = x1 fx = f1 Else xopt = x2 fx = f2 End If Do d = R * d If f1 f2 Then xL = x2 x2 = x1 x1 = xL + d f2 = f1 f1 = f(x1, R1, R2, R3, V) Else xU = x1 x1 = x2 x2 = xU – d f1 = f2 f2 = f(x2, R1, R2, R3, V) End If iter = iter + 1 If f1 f2 Then xopt = x1 fx =f1 Else xopt = x2 fx = f2 End If If xopt 0 Then ea = (1 – R) * Abs((xU – xL) / xopt) * 100 If ea = es Or iter = maxit Then Exit Do Loop Golden = xopt End Function Function f(Ra, R1, R2, R3, V) f = (V * R3 * Ra / (R1 * (Ra + R2 + R3) + R3 * Ra + R3 * R2)) ^ 2 / Ra End Function FIGURA 16.11 Macro para Excel escrito en Visual BASIC que determina un máximo con la búsqueda de la sección dorada. 16.4 DISEÑO DE UNA BICICLETA DE MONTAÑA 437
  • 462. 438 ESTUDIO DE CASOS: OPTIMIZACIÓN 45 105 40 60 0 P (W) 75 20 Ra (⍀) V (V) FIGURA 16.13 Resultados del análisis de sensibilidad del efecto de las variaciones de voltaje sobre la máxima potencia. A B C D 1 Máxima transferencia de potencia 2 3 R1 8 4 R2 12 5 R3 10 6 Rmín 0.1 7 Rmáx 100 8 V Ra P(Ra) 9 45 16.44444 9.501689 10 60 16.44444 16.89189 11 75 16.44444 26.39358 12 90 16.44444 38.00676 13 105 16.44444 51.73142 = (A9*$B$5*B9/($B$3*(B9+$B$4+$B$5)+$B$5*B9+$B$3*$B$4))^2/B9 Llama a la función macro hecha en Visual BASIC = Golden($B$6,$B$7,$B$3,$B$4,$B$5,A9) Cálculo de la potencia FIGURA 16.12 Hoja de cálculo de Excel para implementar un análisis de sensibilidad de la máxima potencia con variaciones de voltaje. Esta rutina accesa el programa macro para la búsqueda de la sección dorada de la figura 16.11.
  • 463. altura = 0.5 m. Se pueden resolver los desplazamientos en x y y al determinar los valores que den una energía potencial mínima. Determine los desplazamientos para una fuerza de 10000 N y una dirección q desde 0°(horizontal) hasta 90°(vertical). Solución. Este problema se puede plantear al desarrollar la siguiente ecuación para la energía potencial del sistema de frenado, V x y EA x EA h y Fx F y ( , ) – = ⎛ ⎝ ⎞ ⎠ + ⎛ ⎝ ⎞ ⎠ w 2 2 2 2 2 cos – sen θ θ (16.12) Resolver para un ángulo en particular es sencillo. Por ejemplo, para q = 30°, los valores de los parámetros dados se pueden sustituir en la ecuación (16.12) y obtener V(x, y) = 5512026x2 + 28471210y2 – 5000x – 8660y El mínimo de esta función se determina de diferentes maneras. Por ejemplo, mediante el Solver de Excel, la energía potencial mínima es –3.62 con deflexiones de x = 0.000786 y y = 0.0000878 m. En efecto, es posible ejecutar el Solver de Excel en forma repetida para diferentes valores de q con el propósito de verificar cómo se modifica la solución conforme el ángulo cambia. En forma alterna, se puede escribir un macro como se hizo en la sección 16.3, de tal manera que se puedan implementar optimizaciones múltiples en forma si- multánea. Queda claro que, para este caso, debería implementarse un algoritmo de búsqueda multidimensional. Una tercera forma de resolver el problema sería mediante el uso de un lenguaje de programación como Fortran 90, junto con una biblioteca de soft- ware para métodos numéricos como el IMSL. En cualquiera de los casos, los resultados se muestran en la figura 16.15. Como se esperaba (figura 16.15a), la deflexión x es máxima cuando la carga está dirigida en la dirección x (q = 0°) y la deflexión y tiene un máximo cuando la carga está dirigida en la dirección y (q = 90°). Sin embargo, observe que la deflexión x es mucho más pronun- ciada que en la dirección y. Esto se ilustra también en la figura 16.15b, donde la energía potencial es mayor para ángulos menores. Ambos resultados se deben a la geometría del marco de la bicicleta. Si w fuera mayor, las deflexiones serían más uniformes. a) x F y h ᐉ w ␪ b) FIGURA 16.14 a) Una bicicleta de montaña junto con b) un diagrama de cuerpo libre para una parte del marco. 16.4 DISEÑO DE UNA BICICLETA DE MONTAÑA 439
  • 464. 440 ESTUDIO DE CASOS: OPTIMIZACIÓN Ingeniería química/bioingeniería 16.1 Diseñe el contenedor cilíndrico óptimo (figura P16.1) de tal forma que abra por un extremo y tenga paredes de espesor despreciable. El contenedor va a almacenar 0.2 m3 . Realice el diseño de tal forma que el área del fondo y de sus lados sean mínimos. 16.2 Diseñe el contenedor cónico óptimo (figura P16.2) de tal forma que tenga una tapa y paredes de espesor despreciable. El contenedor va a almacenar 0.5 m3 . Realice el diseño de modo que tanto su tapa como sus lados sean minimizados. 16.3 La razón de crecimiento de una levadura que produce un antibiótico es una función de la concentración del alimento c, g c c c c = + + + 2 4 0 8 0 2 2 3 . . Como se ilustra en la figura P16.3, el crecimiento parte de cero a muy bajas concentraciones debido a la limitación de la comida. También parte de cero en altas concentraciones debido a los efectos de toxicidad. Encuentre el valor de c para el cual el cre- cimiento es un máximo. 16.4 Una planta química elabora sus tres productos principales en una semana. Cada uno de estos productos requiere cierta cantidad de materia prima química y de diferentes tiempos de 0 a) b) 30 60 90 x z 0.0000 0.0005 0.0010 m y V (N • m) 0 ⫺2 ⫺4 ⫺6 ␪ FIGURA 16.15 a) El impacto de diferentes ángulos sobre las deflexiones (observe que Z es la resultante de las componentes x y y) y b) la energía potencial de una parte del marco de la bicicleta de montaña sujeta a una fuerza constante. PROBLEMAS producción, obteniéndose diferentes utilidades. La información necesaria se resume en la tabla P16.4. Observe que hay suficiente espacio en la bodega de la planta para almacenar un total de 450 kg/semana. a) Establezca un problema de programación lineal para maxi- mizar las utilidades. b) Resuelva el problema de programación lineal con el método simplex. h r Abierto Figura P16.1 Un contenedor cilíndrico sin tapa.
  • 465. c) Resuelva el problema con un paquete de software. d) Evalúe cuál de las siguientes opciones aumentará más las utilidades: incrementar la materia prima, el tiempo de pro- ducción o el almacenaje. 16.5 Recientemente los ingenieros químicos se han interesado en el área conocida como minimización de desechos. Ésta con- sidera la operación de una planta química de modo tal que se minimicen los impactos sobre el ambiente. Suponga que una refinería desarrolla un producto, Z1, hecho de dos materias primas X y Y. La producción de 1 tonelada métrica del producto requie- re 1 tonelada de X y 2.5 toneladas de Y y produce 1 tonelada de un líquido de desecho, W. Los ingenieros tienen tres alternativas para los desechos: • Producir una tonelada de un producto secundario, Z2, al agregar una tonelada más de X por cada tonelada de W. • Producir una tonelada de otro producto secundario, Z3, al agregar 1 tonelada más de Y por cada tonelada de W. • Tratar los desechos de tal forma que su descarga sea permi- sible. Los productos dan utilidades de $2000, –$75 y $250/tonelada de Z1, Z2 y Z3, respectivamente. Observe que al producir Z2, de hecho, se obtiene una pérdida. El costo del proceso de tratamien- to es de $300/tonelada. Además, la compañía tiene un límite de 7500 y 12500 toneladas de X y Y, respectivamente, durante el periodo de producción. Determine qué cantidad de productos y desechos se deben producir para maximizar las utilidades. 16.6 Hay que separar una mezcla de benceno y tolueno en un reactor flash. ¿Aqué temperatura deberá operarse el reactor para obtener la mayor pureza de tolueno en la fase líquida (maximizar xT)? La presión en el reactor es de 800 mm Hg. Las unidades en la ecuación de Antoine son mm Hg y °C para presión y tempe- ratura, respectivamente. x P x P P P T P T B T B T B T sat sat sat sat + = = + = + log ( ) . – log ( ) . – 10 10 6 905 1211 221 6 953 1 344 219 16.7 A se convertirá en B en un reactor con agitación. El pro- ducto B y la sustancia sin reaccionarAse purifican en una unidad de separación. La sustancia A que no entró en la reacción se re- cicla al reactor. Un ingeniero de procesos ha encontrado que el costo inicial del sistema es una función de la conversión, xA. Encuentre la conversión que dará el sistema de menor costo. C es una constante de proporcionalidad. h r Tapa 5 10 0.4 0 0 c (mg/L) g (d⫺1 ) 0.2 Figura P16.2 Un contenedor cónico con tapa. Figura P16.3 La razón de crecimiento de una levadura que produce un antibiótico contra la concentración de alimento. Tabla P16.4 Disponibilidad Producto 1 Producto 2 Producto 3 de fuentes Materia prima química 6 kg/kg 4 kg/kg 12 kg/kg 2500 kg Tiempo de producción 0.05 hr/kg 0.1 hr/kg 0.2 hr/kg 55 hr/semana Utilidad $30/kg $30/kg $35/kg PROBLEMAS 441
  • 466. 442 ESTUDIO DE CASOS: OPTIMIZACIÓN Costo = ( – ) . . C x x A A 1 1 6 1 2 0 6 0 6 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ⎡ ⎣ ⎢ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ 16.8 En el problema 16.7 se utiliza sólo un reactor. Si se usan dos reactores en serie, cambia la ecuación que rige el sistema. Encuentre las conversiones en ambos reactores (xA1 y xA2), de forma que se minimicen los costos totales del sistema. Costo = C x x x x x A A A A A ( – ) – ( – . 1 2 1 2 0 6 1 2 1 1 1 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ x x x A A 2 2 0 6 2 0 6 5 1 ) . . ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟ + ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎤ ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ 16.9 En la reacción: 2A + B ⇔ C el equilibrio se expresa como: K C A B C A C B C = = [ ] [ ] [ ] [ ] [ – ] [ – ] 2 0 2 0 2 Si K = 2 M–1 , se puede modificar la concentración inicial de A (A0). La concentración inicial de B se fija por el proceso, B0 = 100. A cuesta $1/M y C se vende a $10/M. ¿Cuál será la concen- tración inicial óptima de A que habrá de usarse de manera que se maximicen las utilidades? 16.10 Una planta química necesita 106 L/día de una solución. Se tienen tres fuentes con diferentes tasas de precios y suminis- tros. Cada fuente tiene también concentraciones diferentes de una impureza que no debe rebasar cierto nivel, para evitar inter- ferencias con las sustancias químicas. Los datos de las tres fuentes se resumen en la tabla siguiente. Determine la cantidad de cada fuente que satisfaga los requerimientos al menor costo. Fuente 1 Fuente 2 Fuente 3 Requerimiento Costo ($/L) 0.50 1.00 1.20 minimizar Suministro (105 L/día) 20 10 5 ≥10 Concentración (mg/L) 135 100 75 ≤100 16.11 Usted tiene que diseñar un canal triangular abierto para transportar una corriente de desechos desde una planta química hasta un depósito de estabilización de desechos (figura P16.11). La velocidad media aumenta con el radio hidráulico, Rh = A/p, donde A es el área de la sección transversal y P es igual al pe- rímetro mojado. Como la razón de flujo máximo corresponde a la velocidad máxima, el diseño óptimo tratará de minimizar el perímetro mojado. Determine las dimensiones que minimicen el perímetro mojado para un área dada de la sección transversal. 16.12 Un ingeniero agrícola tiene que diseñar un canal trape- zoidal abierto para transportar el agua para irrigación (figura P16.12). Determine las dimensiones óptimas para minimizar el perímetro mojado en un área de sección transversal de 50 m2 . ¿Las dimensiones están dentro de las medidas estándar? 16.13 Calcule las dimensiones óptimas para un tanque cilíndri- co térmico diseñado para contener 10m3 de fluido. Los extremos y laterales cuestan $200/m2 y $100/m2 , respectivamente.Además, se aplica un recubrimiento a toda el área del tanque, la cual cuesta $50/m2 . Ingeniería civil/ambiental 16.14 Si se optimiza la ecuación siguiente se obtiene un mode- lo de elemento finito para una viga volada sujeta a cargas y momentos (figura P16.14) f(x, y) = 5x2 – 5xy + 2.5y2 – x – 1.5y donde x = desplazamiento final, y y = momento final. Calcule los valores de x y y que minimizan f(x, y). 16.15 Suponga usted que se le pide diseñar una columna que soporte una carga de compresión P, como se muestra en la fi- gura P16.15a. La columna tiene una sección transversal en forma de tubo de pared delgada, como se aprecia en la figura P16.15b. w d ␪ ␪ w d ␪ ␪ Figura P16.11 Figura P16.12
  • 467. Las variables de diseño son el diámetro medio del tubo d y el espesor de la pared t. El costo del tubo se calcula por medio de la ecuación Costo = f(t, d) = c1W + c2d donde c1 = 4 y c2 = 2 son los factores de costo y W = peso del tubo, W = p dt Hr donde r = densidad del material del tubo = 0.0025 kg/cm3 . La columna debe dar apoyo a la carga bajo un esfuerzo de compre- sión sin flexionarse. Por tanto, Esfuerzo real (s) ≤ esfuerzo máximo de compresión = sy = 550 kg/cm2 Esfuerzo real ≤ esfuerzo de flexión El esfuerzo real está dado por σ π = = P A P dt Se puede demostrar que el esfuerzo de flexión es σ π b EI H dt = 2 donde E = módulo de elasticidad e I = segundo momento del área de la sección transversal. Con cálculo se muestra que I dt d t = + π 8 2 2 ( ) Por último, los diámetros de los tubos disponibles se encuentran entre d1 y d2, y el espesor está entre t1 y t2. Desarrolle y resuel- va este problema con la determinación de los valores de d y t que minimizan el costo. Obsérvese que H = 275 cm, P = 2000kg, E = 900000 kg/cm2 , d1 = 1 cm, d2 = 10 cm, t1 = 0.1 cm y t2 = 1cm. 16.16 El modelo Streeter-Phelps se utiliza para calcular la con- centración de oxígeno disuelto en un río aguas abajo del punto de descarga de un drenaje (véase la figura P16.16), o o k L k k k e e S k e s d o d s a k t k k t b a k t a d s a = + + – – ( – ) – ( – ) – –( ) – 1 (P. 16.16) donde o = concentración del oxígeno disuelto [mg/L], os = con- centración de saturación del oxígeno [mg/L], t = tiempo de trave- sía [d], Lo = concentración de la demanda bioquímica de oxígeno (DOB) en el punto de mezcla [mg/L], kd = razón de descomposi- ción de DOB [d–1 ], ks = razón de asentamiento de DBO [d–1 ], ka = razón de oxigenación [d–1 ], y Sb = demanda de oxígeno sedimen- tario [mg/L/d]. Como se indica en la figura P16.16, la ecuación (P16.16) produce un “decaimiento” de oxígeno que alcanza un nivel mí- nimo crítico oc para cierto tiempo de travesía tc abajo del punto de descarga. Este punto se denomina “crítico” porque represen- ta la ubicación en que la biota (flora y fauna) que depende del oxígeno (como los peces) estaría sujeta a la amenaza máxima. x y Figura P16.14 Viga volada. Figura P16.15 a) Una columna que soporta una carga de compresión P. b) La columna tiene una sección transversal en forma de tubo de pared delgada. a) H P b) d t Figura P16.16 Un “decaimiento” de oxígeno disuelto debajo del punto de descarga de un drenaje hacia un río. 15 20 8 12 0 0 t (d) 5 4 10 o (mg/L) o os tc oc PROBLEMAS 443
  • 468. 444 ESTUDIO DE CASOS: OPTIMIZACIÓN Determine el tiempo de travesía y la concentración críticos, dados los valores siguientes: os = 10 mg/L kd = 0.2 d–1 ka = 0.8 d–1 ks = 0.06 d–1 Lo = 50 mg/L Sb = 1 mg/L/d 16.17 La distribución bidimensional de la concentración de cierto contaminante en un canal está descrita por la ecuación c(x, y) = 7.7 + 0.15x + 0.22y – 0.05x2 –0.016y2 – 0.007xy Determine la ubicación exacta de la concentración máxima dada la función, si se sabe que se encuentra entre los límites de –10 ≤ x ≤ 10 y 0 ≤ y ≤ 20. 16.18 El flujo Q [m3 /s] en un canal abierto se pronostica con la ecuación de Manning (recuerde la sección 8.2) Q n A R S c = 1 2 3 1 2 / / donde n = coeficiente de rugosidad de Manning (número adi- mensional que se usa para parametrizar la fricción en el canal), Ac = área de la sección transversal del canal (m2 ), S = pendiente del canal (adimensional, metros en vertical por metros en hori- zontal), y R = radio hidráulico (m), el cual está relacionado con otros parámetros más por R = Ac /P, donde P = perímetro mojado (m). Como su nombre lo dice, el perímetro mojado es la longitud de los lados y fondo del canal que están bajo el agua. Por ejem- plo, para un canal rectangular, se define como P = B + 2H, donde H = profundidad (m). Suponga que se utiliza esta fórmula para diseñar un canal recubierto (observe que los granjeros usan cana- les recubiertos para minimizar las pérdidas por fugas). a) Dados los parámetros n = 0.03, S = 0.0004, y Q = 1 m3 /s, determine los valores de B y H que minimizan el perímetro mojado. Observe que dicho cálculo minimizaría el costo si los costos del recubrimiento fueran mucho mayores que los de excavación. b) Vuelva a resolver el inciso a), pero incluya el costo de ex- cavación. Para hacer esto minimice la siguiente función de costo, C = c1Ac + c2P donde c1 es un factor de costo para la excavación = $100/m2 , y c2 es un factor de costo del recubrimiento de $50/m. c) Analice las implicaciones de los resultados. 16.19 Una viga cilíndrica soporta una carga de compresión de P = 3 000 kN. Para impedir que la viga se flexione (doble), la carga debe ser menor que la crítica, P EI L c = π2 2 donde E = módulo de Young = 200 × 109 N/m2 , I = pr4 /4 (mo- mento de inercia del área para una viga cilíndrica de radio r), y L es la longitud de la viga. Si el volumen de la viga V no puede exceder de 0.075 m3 , encuentre la altura más grande L que pue- de utilizarse, así como el radio correspondiente. 16.20 El río Splash tiene una tasa de flujo de 2 × 106 m3 /d, de los cuales puede derivarse hasta el 70% hacia dos canales por los que fluye a través de Splish County. Estos canales se usan para el transporte, irrigación y generación de energía eléctrica, y los últimos dos usos son fuentes de ingresos. El uso para el trans- porte requiere una tasa de flujo derivado mínimo de 0.3 × 106 m3 /d para el Canal 1 y 0.2 × 106 m3 /d para el Canal 2. Por razo- nes políticas se decidió que la diferencia absoluta entre las tasas de flujo en los dos canales no excediera de 40% del flujo total de- rivado hacia los canales. El Organismo de Administración del Agua de Splish County, también ha limitado los costos de man- tenimiento para el sistema de canales a no más de $1.8 × 106 por año. Los costos anuales de mantenimiento se estiman con base en la tasa de flujo diario. Los costos por año para el Canal 1 se estiman multiplicando $1.1 por los m3 /d de flujo; mientras que para el Canal 2 el factor de multiplicación es de $1.4 por m3 /d. El ingreso por la generación de energía eléctrica también se es- tima con base en la tasa de flujo diario. Para el Canal 1 ésta es de $4.0 por m3 /d, mientras que para el Canal 2 es de $3.0 por m3 /d. El ingreso anual por la irrigación también se estima con base en la tasa de flujo diario, pero primero deben corregirse las tasas de flujo por las pérdidas de agua en los canales antes de que se distribuya para irrigar. Esta pérdida es de 30% en el Canal 1 y de 20% en el Canal 2. En ambos canales el ingreso es de $3.2 por m3 /d. Determine los flujos en los canales que harían máxima la utilidad. 16.21 Determine las áreas de la sección transversal de una viga que dan como resultado el peso mínimo para la trabe que se es- tudió en la sección 12.2 (véase la figura 12.4). Los esfuerzos de torsión (flexión) crítica y tensión máxima de los miembros de compresión y tensión son de 10 ksi y 20 ksi, respectivamente. La trabe va a construirse con acero (densidad = 3.5 lb/pie-pulg2 ). Observe que la longitud del miembro horizontal (2) es de 50 pies. Asimismo, recuerde que el esfuerzo en cada miembro es igual a la fuerza dividida entre el área de la sección transversal. Plantee el problema como un problema de programación lineal. Obten- ga la solución en forma gráfica y con la herramienta Solver de Excel. Ingeniería eléctrica 16.22 Alrededor de un conductor en forma de anillo de radio a, se encuentra una carga total Q distribuida uniformemente.Auna distancia x del centro del anillo (véase la figura P16.22) se loca- liza una carga q. La fuerza que el anillo ejerce sobre la carga está dada por la ecuación
  • 469. F e qQx x a = + 1 4 0 2 2 3 2 π ( ) / donde e0 = 8.85 × 10–12 C2 /(N m2 ), q = Q = 2 × 10–5 C, y a = 0.9m. Determine la distancia x donde la fuerza es máxima. 16.23 Un sistema consiste en dos plantas de energía que deben distribuir cargas por una red de transmisión. Los costos de gene- rar la energía en las plantas 1 y 2 están dados por F1 = 2p1 + 2 F2 = 10p2 donde p1 y p2 = energía producida en cada una de las plantas. Las pérdidas de energía debidas a la transmisión L están dadas por L1 = 0.2p1 + 0.1p2 L2 = 0.2p1 + 0.5p2 La demanda total de energía es de 30 y p1 no debe exceder de 42. Determine la generación de energía necesaria para satisfacer las demandas con el costo mínimo, con el empleo de una rutina de optimización como las que tienen, por ejemplo, Excel, software MATLAB e IMSL. 16.24 El momento de torsión transmitido a un motor de induc- ción es función del deslizamiento entre la rotación del campo del estator y la velocidad del rotor s, donde el deslizamiento se de- fine como s n n n R = – donde n = revoluciones por segundo de rotación de la velocidad del estator, y nR = velocidad del rotor. Pueden usarse las leyes de Kirchhoff para demostrar que el momento de torsión (expresado en forma adimensional) y el deslizamiento están relacionados por la ecuación T s s s s s = + 15 1 4 3 4 2 2 ( – ) ( – )( – ) La figura P16.24 muestra esta función. Emplee un método nu- mérico para determinar el deslizamiento con el que ocurre el momento de torsión máximo. 16.25 a) Un fabricante de equipo de cómputo produce escáneres e impresoras. Los recursos necesarios para producirlos así como las utilidades correspondientes son los que siguen Equipo Capital Mano de obra Utilidad ($/unidad) (hrs/unidad) ($/unidad) Escáner 300 20 500 Impresora 400 10 400 Si cada día se dispone de $127000 de capital y 4270 horas de mano de obra, ¿qué cantidad de cada equipo debe producirse a diario a fin de maximizar la utilidad? b) Repita el problema, pero ahora suponga que la utilidad por cada impresora vendida Pp depende del número de impre- soras producidas Xp, como en Pp = 400 – Xp 16.26 Un fabricante proporciona microcircuitos especializados. Durante los próximos tres meses, sus ventas, costos y tiempo disponible son los que siguen Mes 1 Mes 2 Mes 3 Circuitos requeridos 1 000 2 500 2 200 Costo del tiempo normal ($/circuito) 100 100 120 Costo del tiempo extra ($/circuito) 110 120 130 Tiempo de operación regular (hrs) 2 400 2 400 2 400 Tiempo extra (hrs) 720 720 720 Al principio del primer mes no existen circuitos almacenados. Toma 1.5 horas del tiempo de producción fabricar un circuito y Figura P16.24 Momento de torsión transmitido a un inductor como función del deslizamiento. S T 4 8 10 3 4 0 0 2 2 6 1 PROBLEMAS 445 x a Q q Figura P16.22
  • 470. 446 ESTUDIO DE CASOS: OPTIMIZACIÓN cuesta $5 almacenarlo de un mes al siguiente. Determine un programa de producción que satisfaga los requerimientos de la demanda, sin que exceda las restricciones de tiempo de produc- ción mensual, y minimice el costo. Observe que al final de los 3 meses no debe haber circuitos almacenados. Ingeniería mecánica/aerospacial 16.27 El arrastre total de un aeroplano se estima por medio de D V W V = + ⎛ ⎝ ⎞ ⎠ 0 01 0 95 2 2 . . σ σ fricción elevación donde D = arrastre, s = razón de la densidad del aire entre la altitud de vuelo y el nivel del mar, W = peso y V = velocidad. Como se observa en la figura P16.27, los dos factores que con- tribuyen al arrastre resultan afectados en forma distinta conforme la velocidad aumenta. Mientras que el arrastre por fricción se incrementa con la velocidad, el arrastre debido a la elevación disminuye. La combinación de los dos factores lleva a un arras- tre mínimo. a) Si s = 0.6 y W = 16000, determine el arrastre mínimo y la velocidad a la que ocurre. b) Además, realice un análisis de sensibilidad para determinar cómo varía este óptimo en respuesta a un rango de W = 12000 a 20000 con s = 0.6. 16.28 Los baleros de rodamiento están expuestos a fallar por la fatiga ocasionada por cargas grandes de contacto F (véase la figura P16.28). Puede demostrarse que el problema de encon- trar la ubicación del esfuerzo máximo a lo largo del eje x es equivalente a maximizar la función f x x x x x ( ) . – – . = + + + ⎛ ⎝ ⎞ ⎠ + 0 4 1 1 1 0 4 1 2 2 2 Encuentre el valor de x que maximiza a f(x). 16.29 Una compañía aerospacial desarrolla un aditivo nuevo para el combustible de aeronaves comerciales. El aditivo está compuesto de tres ingredientes: X, Y y Z. Para el rendimiento mayor, la cantidad total de aditivo debe ser al menos de 6 mL/L de combustible. Por razones de seguridad, la suma de los ingre- dientes X y Y altamente flamables, no debe exceder los 2.5 mL/ L.Además, la cantidad del ingrediente X siempre debe ser mayor o igual a la de Y, y la de Z debe ser mayor que la mitad de la de Y. Si el costo por mL para los ingredientes X, Y y Z es de 0.05, 0.025 y 0.15, respectivamente, determine la mezcla de costo mínimo para un litro de combustible. 16.30 Una empresa manufacturera produce cuatro tipos de partes automotrices. Cada una de ellas primero se fabrica y lue- go se le dan los acabados. Las horas de trabajador requeridas y la utilidad para cada parte son las siguientes Parte A B C D Tiempo de fabricación (hr/100 unidades) 2.5 1.5 2.75 2 Tiempo de acabados (hr/100 unidades) 3.5 3 3 2 Utilidad ($/100 unidades) 375 275 475 325 Las capacidades de los talleres de fabricación y acabados para el mes siguiente son de 640 y 960 horas, respectivamente. De- termine qué cantidad de cada parte debe producirse a fin de maximizar la utilidad. 400 800 1 200 10 000 20 000 Total Mínimo Lift Fricción 0 0 V D Figura P16.27 Gráfica de arrastre versus la velocidad de un aeroplano. F F x Figura P16.28 Baleros de rodamiento.
  • 471. EPÍLOGO: PARTE CUATRO Los epílogos de las otras partes de este libro contienen un análisis y un resumen tabular de las ventajas y desventajas de los diferentes métodos, así como las fórmulas y relacio- nes importantes. La mayoría de los métodos de esta parte son complicados y, en conse- cuencia, no se pueden resumir en fórmulas simples y tablas. Por lo tanto, aquí nos desviaremos un poco para ofrecer el siguiente análisis escrito de las alternativas y las referencias adicionales. PT4.4 ALTERNATIVAS En el capítulo 13 se trató de la búsqueda del valor óptimo de una función con una sola variable no restringida. El método de búsqueda de la sección dorada es un método ce- rrado que requiere de un intervalo que contenga un solo valor óptimo conocido. Tiene la ventaja de minimizar las evaluaciones de la función, y ser siempre convergente. La interpolación cuadrática funciona mejor cuando se implementa como un método cerra- do, aunque también se puede programar como un método abierto. Sin embargo, en tales casos, puede diverger. Tanto el método de búsqueda de la sección dorada como el de interpolación cuadrática no requieren evaluaciones de la derivada. Así, ambos son apro- piados cuando el intervalo puede definirse fácilmente y las evaluaciones de la función son demasiadas. El método de Newton es un método abierto que no requiere que esté dentro de un intervalo óptimo. Puede implementarse en una representación de forma cerrada, cuando la primera y segunda derivadas se determinan en forma analítica. También se implemen- ta en una forma similar el método de la secante al representar las derivadas en diferen- cias finitas. Aunque el método de Newton converge rápidamente cerca del óptimo, puede diverger con valores iniciales pobres. Además la convergencia depende también de la naturaleza de la función. En el capítulo 14 se trataron dos tipos generales de métodos para resolver problemas de optimización no restringidos multidimensionales. Los métodos directos como el de búsquedas aleatorias y el de búsquedas univariadas no requieren el cálculo de las deri- vadas de la función y con frecuencia son ineficientes. Sin embargo, proporcionan también una herramienta para encontrar el óptimo global más que el local. Los métodos de bús- queda con un patrón como el método de Powell llegan a ser muy eficientes y tampoco requieren del cálculo de la derivada. Los métodos con gradiente usan la primera y, algunas veces, la segunda derivadas para encontrar el óptimo. El método del mayor ascenso/descenso ofrece un procedimien- to confiable pero en ocasiones lento. Por el contrario, el método de Newton converge con rapidez cuando se está en la vecindad de una raíz; pero algunas veces sufre de di- vergencia. El método de Marquardt utiliza el método de mayor descenso en la ubicación inicial, muy lejos del óptimo, y después cambia al método de Newton cerca del óptimo, en un intento por aprovechar las fortalezas de cada método. El método de Newton puede ser costoso computacionalmente ya que requiere calcu- lar tanto del vector gradiente como de la matriz hessiana. Los métodos cuasi-Newton
  • 472. 448 EPÍLOGO: PARTE CUATRO intentan evitar estos problemas al usar aproximaciones para reducir el número de eva- luaciones de matrices (particularmente, la evaluación, el almacenamiento y la inversión del hessiano). En la actualidad, las investigaciones continúan para explorar las características y las ventajas correspondientes de varios métodos híbridos y en tándem. Algunos ejemplos son el método del gradiente conjugado de Fletcher-Reeves y los métodos cuasi-Newton de Davidon-Fletcher-Powell. El capítulo 15 se dedicó a la optimización restringida. Para problemas lineales, la programación lineal basada en el método simplex ofrece un medio eficiente para obtener soluciones. Procedimientos tales como el método GRG sirven para resolver problemas restringidos no lineales. Los paquetes y las bibliotecas de software contienen una gran variedad de capaci- dades para optimización. La más amplia es la biblioteca del IMSL, la cual contiene muchas subrutinas para implementar la mayoría de los algoritmos de optimización es- tándar. Al momento de imprimir este libro Excel tenía las capacidades de optimización más útiles por medio de su herramienta Solver. Debido a que esta herramienta se diseñó para implementar la forma más general de optimización (la optimización restringida no lineal), se puede usar para resolver problemas en todas las áreas consideradas en esta parte del libro. PT4.5 REFERENCIAS ADICIONALES Para problemas unidimensionales, el método de Brent es un método híbrido que toma en cuenta la naturaleza de la función asegurando una convergencia lenta y uniforme para valores iniciales pobres, y una convergencia rápida cerca del óptimo. Véase Press et al. (1992) para más detalles. En problemas de varias dimensiones, se puede encontrar in- formación adicional en Dennis y Schnabel (1996), Fletcher (1980, 1981), Gill et al. (1981) y Luenberger (1984).
  • 475. AJUSTE DE CURVAS PT5.1 MOTIVACIÓN Es común que los datos se dan como valores discretos a lo largo de un continuo. Sin em- bargo, quizás usted requiera la estimación de un punto entre valores discretos. Esta parte del libro describe las técnicas para ajustar curvas a estos datos para obtener estimaciones intermedias. Además, usted puede necesitar la versión simplificada de una función com- plicada. Una manera de hacerlo es calcular valores de la función en un número discreto de valores en el intervalo de interés. Después, se obtiene una función más simple para ajustar dichos valores. Estas dos aplicaciones se conocen como ajuste de curvas. Existen dos métodos generales para el ajuste de curvas que se distinguen entre sí al considerar la cantidad de error asociado con los datos. Primero, si los datos exhiben un grado significativo de error o “ruido”, la estrategia será obtener una sola curva que re- presente la tendencia general de los datos. Como cualquier dato individual puede ser incorrecto, no se busca intersecar todos los puntos. En lugar de esto, se construye una curva que siga la tendencia de los puntos tomados como un grupo. Un procedimiento de este tipo se llama regresión por mínimos cuadrados (figura PT5.1a). Segundo, si se sabe que los datos son muy precisos, el procedimiento básico será colocar una curva o una serie de curvas que pasen por cada uno de los puntos en forma directa. Usualmente tales datos provienen de tablas. Como ejemplos se tienen los valo- res de la densidad del agua o la capacidad calorífica de los gases en función de la tem- peratura. La estimación de valores entre puntos discretos bien conocidos se llama interpolación (figuras PT5.1b y PT5.1c). PT5.1.1 Métodos sin computadora para el ajuste de curvas El método más simple para ajustar una curva a los datos consiste en ubicar los puntos y después trazar una curva que visualmente se acerque a los datos. Aunque ésta es una operación válida cuando se requiere una estimación rápida, los resultados dependen del punto de vista subjetivo de la persona que dibuja la curva. Por ejemplo, en la figura PT5.1 se muestran curvas trazadas a partir del mismo conjunto de datos por tres ingenieros. El primero no intentó unir los puntos, sino, más bien, caracterizar la tendencia general ascendente de los datos con una línea recta (figu- ra PT5.1a). El segundo ingeniero usó segmentos de línea recta o interpolación lineal para unir los puntos (figura PT5.1b). Ésta es una práctica común en la ingeniería. Si los valores se encuentran cercanos a ser lineales o están cercanamente espaciados, tal aproximación ofrece estimaciones que son adecuadas en muchos cálculos de ingeniería. No obstante, si la relación es altamente curvilínea o los datos están muy espaciados, es posible introducir errores mediante esa interpolación lineal. El tercer ingeniero utiliza curvas suaves para tratar de capturar el serpenteado sugerido por los datos (figura PT5.1c). Un cuarto o quinto ingeniero podría, de igual forma, desarrollar ajustes alternativos. Obviamente, nuestra meta aquí es desarrollar métodos sistemáticos y objetivos con el propósito de obtener tales curvas.
  • 476. 452 AJUSTE DE CURVAS PT5.1.2 Ajuste de curvas y práctica en ingeniería Su primer encuentro con el ajuste de curvas podría haber sido determinar valores inter- medios a partir de datos tabulados (por ejemplo, tablas de interés para ingeniería eco- nómica, o tablas de vapor en termodinámica). En lo que resta de su carrera, usted tendrá frecuentes oportunidades para estimar valores intermedios a partir de tablas. Aunque se han tabulado muchas propiedades ampliamente utilizadas en la inge- niería, existen otras que no están disponibles en esta forma conveniente. Los casos es- peciales y nuevos contextos de problemas requieren que usted recolecte sus propios datos y desarrolle sus propias relaciones predictivas. Se han encontrado dos tipos de aplicaciones en el ajuste de datos experimentales: análisis de la tendencia y prueba de hipótesis. El análisis de la tendencia representa el proceso de utilizar el comportamiento de los datos para realizar predicciones. En casos donde los datos son medidas de alta pre- f (x) x a) f (x) x b) f (x) x c) FIGURA PT5.1 Tres intentos para ajustar una “mejor” curva con cinco puntos dados. a) Regresión por mínimos cuadrados, b) interpolación lineal y a) interpolación curvilínea.
  • 477. cisión, se usan polinomios de interpolación. Los datos imprecisos se analizan mediante una regresión por mínimos cuadrados. El análisis de la tendencia sirve para predecir o pronosticar valores de la variable dependiente. Esto puede implicar una extrapolación más allá de los límites de los datos observados o una interpolación dentro del intervalo de los datos. Por lo común, en todos los campos de la ingeniería se presentan problemas de este tipo. Una segunda aplicación del ajuste de curvas experimental en ingeniería es la prue- ba de hipótesis. Aquí, un modelo matemático existente se compara con los datos obte- nidos. Si se desconocen los coeficientes del modelo, será necesario determinar los valores que mejor se ajusten a los datos observados. Por otro lado, si ya se dispone de la estimación de los coeficientes del modelo sería conveniente comparar los valores predi- chos del modelo con los observados para probar qué tan adecuado es el modelo. Con frecuencia, se comparan modelos alternativos y se elige “el mejor” considerando las observaciones hechas en forma empírica. Además de las aplicaciones mencionadas en la ingeniería, el ajuste de curvas es importante para implementar otros métodos numéricos, tales como la integración y la solución aproximada de ecuaciones diferenciales. Por último, las técnicas de ajuste de curvas son útiles para obtener funciones simples con la finalidad de aproximar funciones complicadas. PT5.2 ANTECEDENTES MATEMÁTICOS Los fundamentos matemáticos de la interpolación se encuentran en el conocimiento sobre las expansiones de la serie de Taylor y las diferencias finitas divididas que se presentaron en el capítulo 4. La regresión por mínimos cuadrados requiere además de la información en el campo de la estadística. Si usted conoce los conceptos de la media, desviación estándar, suma residual de los cuadrados, distribución normal e intervalos de confianza, puede omitir el estudio de las siguientes páginas y pasar directamente a la sección PT5.3. Si no recuerda muy bien estos conceptos o necesita de un repaso, el estudio del siguiente material le servirá como introducción a esos temas. PT5.2.1 Estadística simple Suponga que en el curso de un estudio de ingeniería se realizaron varias mediciones de una cantidad específica. Por ejemplo, la tabla PT5.1 contiene 24 lecturas del coeficiente de expansión térmica del acero. Tomados así, los datos ofrecen una información limita- da (es decir, que los valores tienen un mínimo de 6.395 y un máximo de 6.775). Se ob- tiene una mayor comprensión al analizar los datos mediante uno o más estadísticos, bien seleccionados, que den tanta información como sea posible acerca de las características específicas del conjunto de datos. Esos estadísticos descriptivos se seleccionan para TABLA PT5.1 Mediciones del coeficiente de expansión térmica del acero [× 10–6 in/(in · °F)]. 6.495 6.595 6.615 6.635 6.485 6.555 6.665 6.505 6.435 6.625 6.715 6.655 6.755 6.625 6.715 6.575 6.655 6.605 6.565 6.515 6.555 6.395 6.775 6.685 PT5.2 ANTECEDENTES MATEMÁTICOS 453
  • 478. 454 AJUSTE DE CURVAS representar 1. la posición del centro de la distribución de los datos y 2. el grado de dis- persión de los datos. El estadístico de posición más común es la media aritmética. La media aritmética (– y) de una muestra se define como la suma de los datos (yi) dividida entre el número de datos (n), o y y n i = Σ (PT5.1) donde la sumatoria (y todas las sumatorias que siguen en esta introducción) va desde i = 1 hasta n. La medida de dispersión más común para una muestra es la desviación estándar (sy) respecto de la media, s S n y t = −1 (PT5.2) donde St es la suma total de los cuadrados de las diferencias entre los datos y la media, o S y y t i = Σ( – )2 (PT5.3) Así, si las mediciones se encuentran muy dispersas alrededor de la media, St (y, en con- secuencia, sy) será grande. Si están agrupadas cerca de ella, la desviación estándar será pequeña. La dispersión también se puede representar por el cuadrado de la desviación estándar, llamada la varianza: s S n y t 2 1 = − (PT5.4) Observe que el denominador en ambas ecuaciones (PT5.2) y (PT5.4) es n – 1. La canti- dad n – 1 se conoce como los grados de libertad. Por lo tanto, se dice que St y sy consi- deran n – 1 grados de libertad. Esta nomenclatura se obtiene del hecho de que la suma de las cantidades sobre las cuales se basa St ( – , – , , – ) es decir, y y y y y yn 1 2 … es cero. En consecuencia, si se conoce – y y se especifican los valores de n – 1, el valor restante queda determinado. Así, sólo n – 1 de los valores se dice que se determinan libremente. Otra justificación para dividir entre n – 1 es el hecho de que no tiene sentido hablar de la dispersión de un solo dato. Cuando n = 1, las ecuaciones (PT5.2) y (PT5.4) dan un resultado sin sentido: infinito. Se deberá observar que hay otra fórmula alternativa más conveniente, para calcular la desviación estándar, s y y n n y i i 2 2 2 1 = − − Σ Σ ( ) / Esta versión no requiere el cálculo previo de – y y se obtiene el mismo resultado que con la ecuación (PT5.4).
  • 479. Un estadístico final que tiene utilidad para cuantificar la dispersión de los datos es el coeficiente de variación (c.v.). Tal estadístico es el cociente de la desviación estándar entre la media. De esta manera, proporciona una medición normalizada de la dispersión. Con frecuencia se multiplica por 100 para expresarlo como porcentaje: c.v. = s y y 100% (PT5.5) Observe que el coeficiente de variación tiene un carácter similar al del error relativo porcentual (et) analizado en la sección 3.3. Es decir, éste es la razón de una medición de error (sy) respecto a un estimado del valor verdadero (– y). EJEMPLO PT5.1 Estadística simple de una muestra Planteamiento del problema. Calcule la media, la varianza, la desviación estándar y el coeficiente de variación para los datos de la tabla PT5.1. TABLA PT5.2 Cálculos para estadísticos con las lecturas del coeficiente de expansión térmica. Las frecuencias y los límites se calculan para construir el histograma que se muestra en la figura PT5.2. Intervalo Límite Límite i yi (yi – y –)2 Frecuencia inferior superior 1 6.395 0.042025 1 6.36 6.40 2 6.435 0.027225 1 6.40 6.44 3 6.485 0.013225 4 6.495 0.011025 5 6.505 0.009025 4 6.48 6.52 6 6.515 0.007225 7 6.555 0.002025 2 6.52 6.56 8 6.555 0.002025 9 6.565 0.001225 10 6.575 0.000625 3 6.56 6.60 11 6.595 0.000025 12 6.605 0.000025 13 6.615 0.000225 14 6.625 0.000625 5 6.60 6.64 15 6.625 0.000625 16 6.635 0.001225 17 6.655 0.003025 18 6.655 0.003025 3 6.64 6.68 19 6.665 0.004225 20 6.685 0.007225 21 6.715 0.013225 3 6.68 6.72 22 6.715 0.013225 23 6.755 0.024025 1 6.72 6.76 24 6.775 0.030625 1 6.76 6.80 ∑ 158.4 0.217000 PT5.2 ANTECEDENTES MATEMÁTICOS 455
  • 480. 456 AJUSTE DE CURVAS Solución. Se suman los datos (tabla PT5.2) y los resultados sirven para calcular [ecua- ción (PT5.1)] y = = 158 4 24 6 6 . . Como se observa en la tabla PT5.2, la suma de los cuadrados de las diferencias es 0.217000, los cuales se usan para calcular la desviación estándar [ecuación (PT5.2)]: sy = − = 0 217000 24 1 0 097133 . . la varianza [ecuación (PT5.4)]: sy 2 0 009435 = . y el coeficiente de variación [ecuación (PT5.5)]: c.v. = = 0 097133 6 6 100 1 47 . . % . % PT5.2.2 La distribución normal Otra característica útil en el presente análisis es la distribución de datos (es decir, la forma en que los datos se distribuyen alrededor de la media). Un histograma proporcio- na una representación visual simple de la distribución. Como se observa en la tabla PT5.2, el histograma se construye al ordenar las mediciones en intervalos. Las unidades de medición se grafican en las abscisas; y la frecuencia de ocurrencia de cada intervalo, en las ordenadas. Así, cinco de las mediciones se encuentran entre 6.60 y 6.64. Como se advierte en la figura PT5.2, el histograma indica que la mayoría de los datos se agrupa cerca del valor de la media de 6.6. Si se tiene un conjunto muy grande de datos, el histograma se puede aproximar mediante una curva suave. La curva simétrica, en forma de campana que se sobrepone en la figura PT5.2, es una de estas formas características (la distribución normal). Da- das suficientes mediciones, en este caso particular el histograma se aproximará a la distribución normal. Los conceptos de media, desviación estándar, suma residual de los cuadrados y distribución normal tienen una gran importancia en la práctica de la ingeniería. Un ejem- plo muy simple es su uso para cuantificar la confianza que se puede tener en una medición en particular. Si una cantidad está normalmente distribuida, el intervalo limitado por – y – sy y – y + sy abarcará en forma aproximada el 68% de las mediciones totales. De manera similar, el intervalo limitado por – y – 2sy y – y + 2sy abarcará alrededor del 95%. Por ejemplo, para los datos de la tabla PT5.1 (– y = 6.6 y sy = 0.097133), se afirma que aproximadamente el 95% de las lecturas deberán estar entre 6.405734 y 6.794266. Si alguien nos dijera que tomó una lectura de 7.35, entonces sospecharíamos que la medición resultó errónea. En la siguiente sección se estudiarán dichas evaluaciones.
  • 481. PT5.2.3 Estimación de los intervalos de confianza Como resultará claro de lo expuesto en la sección anterior, uno de los principales obje- tivos de la estadística es estimar las propiedades de una población basándose en una muestra limitada que se toma de esa población. Es evidente que es imposible medir el coeficiente de expansión térmica de cada pieza producida de acero. En consecuencia, como se muestra en las tablas PT5.1 y PT5.2, es posible realizar un número de medicio- nes en forma aleatoria y, con base en la muestra, intentar caracterizar las propiedades de toda la población. Debido a que se “infieren” propiedades de la población desconocida a partir de una muestra limitada, el procedimiento se denomina inferencia estadística. Ya que los re- sultados a menudo se reportan como estimaciones de los parámetros de la población, el proceso también se conoce como estimación. Ya se mostró cómo estimar la tendencia central (media de la muestra, – y) y la dis- persión (desviación estándar y varianza de la muestra) de una muestra limitada. Ahora, se describirá en forma breve cómo realizar aseveraciones probabilísticas respecto de la calidad de esas estimaciones. En particular, se analizará cómo definir un intervalo de confianza alrededor de un estimado de la media. Se ha escogido este tópico en particu- lar debido a su relevancia directa para los modelos de regresión que se describirán en el capítulo 17. En el siguiente análisis observe que la nomenclatura – y y sy se refieren a la media de la muestra y a su desviación estándar, respectivamente. La nomenclatura m y s se refie- ren a la media y la desviación estándar de la población. Las primeras son algunas veces referidas como la media y desviación estándar “estimadas”; mientras que las últimas se llaman la media y la desviación estándar “verdaderas”. 5 4 Frecuencia 3 2 1 6.4 6.6 6.8 0 FIGURA PT5.2 Histograma usado para ilustrar la distribución de datos. Conforme el número de datos aumenta, el histograma se aproximará a una curva suave, la curva en forma de campana, llamada la distribución normal. PT5.2 ANTECEDENTES MATEMÁTICOS 457
  • 482. 458 AJUSTE DE CURVAS Un estimador de intervalo proporciona el rango de valores dentro del que se espera que esté el parámetro, con una probabilidad dada. Tales intervalos se describen como unilateral y bilateral. Como su nombre lo indica, un intervalo unilateral expresa nuestra confianza en que el parámetro estimado sea menor que o mayor que el valor real. En cambio, el intervalo bilateral tiene que ver con la proposición más general en que la estimación concuerda con la verdad, sin considerar el signo de la discrepancia. Como éste es más general, nos ocuparemos del intervalo bilateral. Un intervalo bilateral se describe con la relación P{L ≤ m ≤ U} = 1 – a que se lee: “La probabilidad de que la media real de y, m, esté dentro de los límites de L a U es 1 – a.” La cantidad a se conoce como el nivel de significancia. De esta forma, el problema de definir un intervalo de confianza se reduce a estimar L y U. Aunque no es absolutamente necesario, es costumbre visualizar el intervalo bilateral con la probabi- lidad a, distribuida de manera uniforme, con a/2 en cada cola de la distribución, como se muestra en la figura PT5.3. Si se conoce la varianza real de la distribución de y, s2 (lo cual no es frecuente), la teoría estadística establece que la media de la muestra – y proviene de una distribución normal con media m y varianza s2 /n (cuadro PT5.1). En el caso ilustrado en la figura PT5.3, no se conoce realmente m. Por lo tanto, no se sabe dónde se ubica con exactitud FIGURA PT5.3 Un intervalo de confianza bilateral. La escala de la abscisa en a) se escribe en las unidades originales de la variable aleatoria y. b) Es una versión normalizada de las abscisas que tiene la media ubicada en el origen y se escala el eje de tal manera que la desviación estándar corresponda a una unidad. L ␣/2 1 – ␣ Distribución de las medias de y, y – ␮ U y a) z– ␣/2 – 1 1 0 z␣/2 z – b) ␣/2 ␴ – ␴
  • 483. la curva normal con respecto a – y. Para evitar este dilema, se calcula una nueva cantidad, el estimado normal estándar z y n = − µ σ/ (PT5.6) que representa la distancia normalizada entre – y y m. De acuerdo con la teoría estadísti- ca, esta cantidad deberá estar distribuida normalmente con media 0 y varianza 1. Además, la probabilidad de que – z esté dentro de la región no sombreada de la figura PT5.3 será 1 – a. Por lo tanto, se establece que y n z y n z – / – / / / µ σ µ σ α α − 2 2 o con una probabilidad de a. La mayoría de los ingenieros toman varios cursos de estadística. Como usted tal vez aún no ha tomado alguno se mencionarán algunas nociones que harán que esta sección sea más coherente. Como se ha mencionado, el “juego” de la estadística infe- rencial supone que la variable aleatoria que usted muestrea, y, tiene media (m) y varianza (s2 ) verdaderas. Además, en este análisis se supondrá que tiene una distribución particular: la distribución normal. La varianza de esta distribución normal tiene un valor finito que especifica la “dispersión” de la distribución normal. Si la varianza es grande, la distribución es amplia. En cambio, si la varianza es pequeña, la distribución es estrecha. Así, la varianza real cuantifica la incertidumbre intrínseca de la variable aleatoria. En el juego de la estadística, se toma un número limitado de mediciones de una cantidad, a la que se le llama muestra. De esta muestra, se calculan una media (– y) y una varianza (s2 y) estimadas. Cuantas más mediciones se tomen, mejor serán las estimaciones para que se aproximen a los valores verdaderos. Esto es, cuando n → ∞, – y → m y s2 y → s2 . Suponga que se toman n muestras y se calcula una media estimada – y1. Después se toman otras n muestras y se calcula otra, – y2. Se puede repetir este proceso hasta que se haya generado una muestra de medias: – y1, – y2, – y3, …, – ym, donde m es grande. Entonces se construye un histograma de estas medias y se determina una “distribución de las medias”, así como una “media de las me- dias” y una “desviación estándar de las medias”. Ahora surge la pregunta: ¿Esta nueva distribución de medias y sus estadísticos se comportan en una forma predecible? Existe un teorema muy importante conocido como el teorema del límite central que responde en forma directa a esta pregunta y se enuncia como sigue Sea y1, y2, …, yn, una muestra aleatoria de tamaño n tomada de una distribución con media m y varianza s2 . Entonces, para n grandes, – y es aproximadamente normal con la media m y la varianza s2 /n. Además, para n grande, la variable aleatoria ( – )/( / ) y n µ σ es aproximadamente normal estándar. Así, el teorema establece el resultado interesante de que la distribución de las medias siempre estará normalmente distribui- da, ¡sin importar la distribución de las variables aleatorias de que se trate! Esto también da el resultado esperado, de que dada una muestra suficientemente grande, la media de las medias deberá converger hacia la verdadera media de la población m. Además, el teorema indica que conforme crezca el tamaño de la muestra, la varianza de las medias se aproximará a cero. Esto tiene sentido, ya que si n es pequeña, las estimaciones individuales de la media serán pobres, y las varianzas de las medias, grandes. En tanto n aumente, la estimación de la media mejorará y, por lo tanto, disminuirá su dispersión. El teorema del límite central claramente define, en forma exacta, cómo esta disminución está relacionada tanto con la varianza real como con el tamaño de la muestra; es decir, como s2 /n. Por último, el teorema establece el importante resultado que se ha dado en la ecuación (PT5.6). Como se muestra en esta sección, este teorema es la base para construir intervalos de confianza para la media. Cuadro PT5.1 Un poco de estadística PT5.2 ANTECEDENTES MATEMÁTICOS 459
  • 484. 460 AJUSTE DE CURVAS La cantidad za/2 es una variable aleatoria normal estándar. Ésta es la distancia medi- da a lo largo del eje normalizado arriba y debajo de la media, que corresponde la proba- bilidad 1 – a (figura PT5.3b). Los valores de za/2 están tabulados en libros de estadística (por ejemplo, Milton y Arnold, 1995). También pueden calcularse usando funciones de paquetes y bibliotecas de software como Excel e IMSL. Como un ejemplo, para a = 0.05 (en otras palabras, definiendo un intervalo que comprenda 95%), za/2 es aproxima- damente igual a 1.96. Esto significa que un intervalo alrededor de la media con un ancho ±1.96 veces la desviación estándar abarcará, en forma aproximada, el 95% de la distri- bución. Esos resultados se reordenan para obtener L ≤ m ≤ U con una probabilidad de 1 – a, donde L y n z U y n z = = + – / / σ σ α α 2 2 (PT5.7) Ahora, aunque lo anterior ofrece una estimación de L y U, está basado en el cono- cimiento de la verdadera varianza s. Y en nuestro caso, conocemos solamente la varian- za estimada sy. Una alternativa inmediata sería una versión de la ecuación (PT5.6) basada en sy: t y s n y = − µ / (PT5.8) Aun cuando la muestra se tome de una distribución normal, esta fracción no estará normalmente distribuida, en particular cuando n sea pequeña. W. S. Gossett encontró que la variable aleatoria definida por la ecuación (PT5.8) sigue la llamada distribución t de Student o, simplemente, distribución t. En este caso, L y s n t U y s n t y n y n = = + − − – / , / , α α 2 1 2 1 (PT5.9) donde ta/2, n – 1 es la variable aleatoria estándar de la distribución t para una probabili- dad de a/2. Como en el caso de za/2, los valores están tabulados en libros de estadísti- ca, y también se calculan mediante paquetes y bibliotecas de software. Por ejemplo, si a = 0.05 y n = 20, ta/2, n – 1 = 2.086. La distribución t puede entenderse como una modificación de la distribución normal que toma en cuenta el hecho de que se tiene una estimación imperfecta de la desviación estándar. Cuando n es pequeña, tiende a ser más plana que la normal (figura PT5.4). Entonces, para pocas mediciones, se obtienen intervalos de confianza más amplios y, por lo tanto, más conservadores. Conforme n se vuelve más grande, la distribución t converge a la normal.
  • 485. EJEMPLO PT5.2 Intervalo de confianza alrededor de la media Planteamiento del problema. Determine la media y el correspondiente intervalo de confianza del 95% para los datos de la tabla PT5.1. Realice 3 estimaciones basándose en a) las primeras 8 mediciones, b) las primeras 16 mediciones y c) las 24 mediciones. Solución. a) La media y la desviación estándar con los primeros 8 valores es y sy = = = − − = 52 72 8 6 59 347 4814 52 72 8 8 1 0 089921 2 . . . ( . ) / . El estadístico t se calcula como: t0.05/2,8–1 = t0.025,7 = 2.364623 que se utiliza para calcular el intervalo L U = − = = + = 6 59 0 089921 8 2 364623 6 5148 6 59 0 089921 8 2 364623 6 6652 . . . . . . . . o 6.5148 ≤ m ≤ 6.6652 Así, considerando las primeras ocho mediciones, concluimos que existe un 95% de probabilidad de que la media real esté en el intervalo de 6.5148 a 6.6652. FIGURA PT5.4 Comparación de la distribución normal con la distribución t para n = 3 y n = 6. Observe cómo la distribución t en general es más plana. –1 –2 –3 0 Z o t 2 1 3 t(n = 6) t(n = 3) Normal PT5.2 ANTECEDENTES MATEMÁTICOS 461
  • 486. 462 AJUSTE DE CURVAS Los otros dos casos, b) con 16 valores y c) con 24 valores, se calculan en forma similar y los resultados se tabulan junto con los del inciso a) como sigue: n y – sy ta/2,n – 1 L U 8 6.5900 0.089921 2.364623 6.5148 6.6652 16 6.5794 0.095845 2.131451 6.5283 6.6304 24 6.6000 0.097133 2.068655 6.5590 6.6410 Estos resultados, que también se resumen en la figura PT5.5, indican el resultado espe- rado de que el intervalo de confianza se vuelve más pequeño conforme n aumenta. Así, cuantas más mediciones se tomen, nuestra estimación del valor verdadero será más re- finado. Lo anterior es sólo un simple ejemplo de cómo se emplea la estadística para tomar decisiones respecto de datos inciertos. Esos conceptos también serán de relevancia en nuestro análisis de los modelos de regresión. Usted puede consultar cualquier libro bá- sico de estadística (por ejemplo, Milton y Arnold, 1995) para obtener más información sobre este tema. PT5.3 ORIENTACIÓN Antes de proceder con los métodos numéricos para el ajuste de curvas, la siguiente orientación podría ser de utilidad. Este apartado se presenta como una visión general del material que se estudia en la parte cinco. Además, se formulan algunos objetivos para ayudar a enfocar su atención al analizar el tema. FIGURA PT5.5 Estimaciones de la media e intervalos de confianza del 95% para diferentes tamaños de la muestra. 6.60 6.55 6.50 Coeficiente de expansión térmica [⫻ 10–6 in/(in • ⬚F)] 6.70 6.65 n = 24 n = 16 y – n = 8
  • 487. PT5.3.1 Alcance y presentación preliminar La figura PT5.6 proporciona una visión general del material que se estudiará en la par- te cinco. El capítulo 17 se dedica a la regresión por mínimos cuadrados. Se aprenderá primero cómo ajustar la “mejor” línea recta a través de un conjunto de datos inciertos. Esta técnica se conoce como regresión lineal. Además de analizar cómo calcular la pendiente y la intersección, con el eje y, de esta línea recta, se presentarán también métodos visuales y cuantitativos para evaluar la validez de los resultados. Además de ajustar a una línea recta, se mostrará también una técnica general para ajustar a un “mejor” polinomio. Así, usted aprenderá a obtener un polinomio parabólico, cúbico o de un orden superior, que se ajuste en forma óptima a datos inciertos. La regre- sión lineal es un subconjunto de este procedimiento más general, llamado regresión polinomial. El siguiente tema que se analiza en el capítulo 17 es la regresión lineal múltiple. Está diseñada para el caso donde la variable dependiente y es una función lineal de dos o más variables independientes x1, x2,…, xm. Este procedimiento tiene especial utilidad para evaluar datos experimentales donde la variable de interés es dependiente de varios factores. Después de la regresión múltiple, ilustramos cómo tanto la regresión polinomial como la múltiple son subconjuntos de un modelo lineal general de mínimos cuadrados. Entre otras cuestiones, esto nos permitirá introducir una representación matricial con- cisa de la regresión y analizar sus propiedades estadísticas generales. Por último, las últimas secciones del capítulo 17 se dedican a la regresión no lineal. Este procedimiento está diseñado para calcular un ajuste por mínimos cuadrados de una ecuación no lineal a datos. En el capítulo 18 se describe la técnica alternativa para el ajuste de curvas llamada interpolación. Como se analizó antes, la interpolación se utiliza para estimar valores intermedios entre datos precisos. En el capítulo 18 se obtienen polinomios con este propósito. Se introduce el concepto básico de interpolación polinomial usando líneas rectas y parábolas para unir los puntos. Después, se desarrolla un procedimiento gene- ralizado para ajustar un polinomio de grado n. Se presentan dos métodos para expresar tales polinomios en forma de ecuación. El primero, llamado interpolación polinomial de Newton, es preferible cuando se desconoce el grado apropiado del polinomio. El se- gundo, llamado interpolación polinomial de Lagrange, tiene ventajas cuando de ante- mano se conoce el grado apropiado. La última sección del capítulo 18 presenta una técnica alternativa para ajustar datos precisos. Ésta, llamada interpolación mediante trazadores o splines, ajusta polinomios a datos, pero en forma de trozos. Como tal, es particularmente adecuada para ajustar da- tos que en general son suaves pero que muestren abruptos cambios locales. El capítulo 19 tiene que ver con el método de la transformada de Fourier para el ajuste de curvas, donde funciones periódicas se ajustan a datos. Nuestro énfasis en esta sección residirá en la transformada rápida de Fourier. Al final se incluye también una revisión de algunos paquetes y bibliotecas de software que se utilizan para el ajuste de curvas; entre ellos se encuentran Excel, MATLAB e IMSL. El capítulo 20 se dedica a aplicaciones en la ingeniería que ilustran la utilidad de los métodos numéricos en el contexto de los problemas de ingeniería. Los ejemplos se toman de las cuatro áreas principales de la ingeniería: química, civil, eléctrica y mecánica. PT5.3 ORIENTACIÓN 463
  • 488. 464 AJUSTE DE CURVAS FIGURA PT5.6 Representación esquemática de la organización del material en la parte cinco: Ajuste de curvas. PARTE 5 Ajuste de curvas CAPÍTULO 18 Interpolación CAPÍTULO 20 Aplicaciones en ingeniería EPÍLOGO 18.6 trazadores (splines) 18.5 Comentarios adicionales 18.4 Interpolación inversa 18.3 Coeficientes polinomiales 18.2 Polinomio de Lagrange 18.1 Polinomio de Newton PT5.2 Antecedentes matemáticos PT5.6 Métodos avanzados PT5.5 Fórmulas importantes 20.4 Ingeniería mecánica 20.3 Ingeniería eléctrica 20.2 Ingeniería civil 20.1 Ingeniería química 19.8 Bibliotecas y paquetes 19.7 Espectro de potencia 19.1 Senoidales 19.2 Serie de Fourier continua 19.6 Transformada rápida de Fourier 19.5 Transformada discreta de Fourier 19.3 Dominios de frecuencia y tiempo 19.4 Transformada de Fourier PT5.4 Alternativas PT5.3 Orientación PT5.1 Motivación 17.2 Regresión polinomial 17.3 Regresión múltiple 17.4 Mínimos cuadrados lineales en general 17.5 Regresión no lineal 17.1 Regresión lineal CAPÍTULO 17 Regresión por mínimos cuadrados CAPÍTULO 19 Aproximación de Fourier Además, algunas de las aplicaciones ilustran cómo se emplean los paquetes de software para resolver problemas de ingeniería. Por último, se incluye un epílogo al final de la parte cinco. Contiene un resumen de las fórmulas y los conceptos importantes relacionados con el ajuste de curvas, así como un análisis de las ventajas y desventajas de las técnicas, y sugerencias para futuros es- tudios.
  • 489. PT5.3.2 Metas y objetivos Objetivos de estudio. Después de estudiar la parte cinco, usted habrá mejorado su capacidad para ajustar curvas a los datos. En general, usted dominará las técnicas, habrá aprendido a valorar la confiabilidad de los resultados y será capaz de seleccionar el método (o métodos) para cualquier problema específico. Además de estas metas gene- rales, los conceptos particulares de la tabla PT5.3 deberán asimilarse y dominarse. Objetivos computacionales. Se le han proporcionado algoritmos de cómputo simples para implementar las técnicas analizadas en la parte cinco. También usted puede tener acceso a los paquetes y bibliotecas de software. Todo esto tiene utilidad como herra- mientas de aprendizaje. Se proporcionan algoritmos en seudocódigo para la mayoría de los métodos en la parte cinco. Esta información le permitirá expandir sus bibliotecas de software para incluir técnicas más allá de la regresión polinomial. Por ejemplo, usted puede encontrar útil, desde un punto de vista profesional, tener software para la regresión lineal múltiple, la interpolación polinomial de Newton, la interpolación con trazadores cúbicos y la transformada rápida de Fourier. Además, una de las metas más importantes deberá ser dominar varios de los paque- tes de software de utilidad general que están disponibles. En particular, usted debería acostumbrarse a usar esas herramientas para implementar métodos numéricos en la solución de problemas en ingeniería. TABLA PT5.3 Objetivos específicos de estudio de la parte cinco. 1. Comprender la diferencia fundamental entre regresión e interpolación, y darse cuenta de que confundirlos puede llevar a serios problemas. 2. Entender la deducción de la regresión lineal por mínimos cuadrados y ser capaz de evaluar la confiabilidad del ajuste mediante evaluaciones gráficas y cuantitativas. 3. Saber cómo linearizar datos mediante transformación. 4. Entender situaciones donde son apropiadas las regresiones polinomiales, múltiples y no lineales. 5. Ser capaz de reconocer modelos lineales generales, entender la formulación matricial general para mínimos cuadrados lineales, y saber cómo calcular intervalos de confianza para parámetros. 6. Entender que hay uno y sólo un polinomio de grado n o menor que pasa exactamente a través de n + 1 puntos. 7. Saber cómo obtener el polinomio de interpolación de Newton de primer grado. 8. Reconocer la analogía entre el polinomio de Newton y la expansión de la serie de Taylor, y cómo se relaciona el error de truncamiento. 9. Comprender que las ecuaciones de Newton y Lagrange son simplemente formulaciones diferentes de la misma interpolación polinomial, y entender sus respectivas ventajas y desventajas. 10. Percatarse de que, por lo general, se obtienen resultados más exactos si los datos usados para interpolación están más o menos centrados y cercanos al punto desconocido. 11. Darse cuenta que los datos no tienen que estar igualmente espaciados ni en un orden particular para los polinomios de Newton o de Lagrange. 12. Saber por qué son útiles las fórmulas de interpolación con igual espaciamiento. 13. Reconocer las desventajas y los riesgos asociados con la extrapolación. 14. Entender por qué los trazadores (splines) tienen utilidad para datos con áreas locales de cambio abrupto. 15. Reconocer cómo se usa la serie de Fourier para ajustar datos a funciones periódicas. 16. Entender la diferencia entre dominios de frecuencia y de tiempo. PT5.3 ORIENTACIÓN 465
  • 490. CAPÍTULO 17 Regresión por mínimos cuadrados Cuando los datos tienen errores sustanciales, la interpolación polinomial es inapropiada y puede dar resultados poco satisfactorios cuando se utiliza para predecir valores inter- medios. Con frecuencia los datos experimentales son de este tipo. Por ejemplo, en la figura 17.1a se muestran siete datos obtenidos experimentalmente que presentan una variabilidad significativa. Una inspección visual de esos datos sugiere una posible rela- ción entre y y x. Es decir, la tendencia general indica que valores altos de y están aso- ciados con valores altos de x. Ahora, si un polinomio de interpolación de sexto grado se ajusta a estos datos (figura 17.1b), pasará exactamente a través de todos los puntos. Sin embargo, a causa de la variabilidad en los datos, la curva oscila mucho en el intervalo entre los puntos. En particular, los valores interpolados para x = 1.5 y x = 6.5 parecen estar bastante más allá del rango sugerido por los datos. Una estrategia más apropiada en tales casos consiste en obtener una función de aproximación que se ajuste a la forma o a la tendencia general de los datos, sin coincidir necesariamente en todos los puntos. La figura 17.1c ilustra cómo se utiliza una línea recta para caracterizar de manera general la tendencia de los datos sin pasar a través de algún punto específico. Una manera para determinar la línea de la figura 17.1c es inspeccionar en forma visual los datos graficados y después trazar una “mejor” línea a través de los puntos. Aunque tales procedimientos “a ojo” apelan al sentido común y son válidos para cálcu- los “superficiales”, resultan deficientes por ser arbitrarios. Es decir, a menos que los puntos definan una línea recta perfecta (en cuyo caso la interpolación resultaría apro- piada), diferentes analistas dibujarían líneas distintas. Para dejar a un lado dicha subjetividad se debe encontrar algún criterio para esta- blecer una base para el ajuste. Una forma de hacerlo es obtener una curva que minimice la discrepancia entre los puntos y la curva. Una técnica para lograr tal objetivo, llamada regresión por mínimos cuadrados, se analizará en este capítulo. 17.1 REGRESIÓN LINEAL El ejemplo más simple de una aproximación por mínimos cuadrados es ajutar una línea recta a un conjunto de observaciones definidas por puntos: (x1, y1), (x2, y2),…, (xn, yn). La expresión matemática para la línea recta es y = a0 + a1x + e (17.1)
  • 491. donde a0 y a1 son coeficientes que representan la intersección con el eje y y la pendien- te, respectivamente, e es el error, o diferencia, entre el modelo y las observaciones, el cual se representa al reordenar la ecuación (17.1) como e = y – a0 – a1x Así, el error o residuo es la discrepancia entre el valor verdadero de y y el valor aproxi- mado, a0 + a1x, que predijo la ecuación lineal. y x a) 5 5 0 0 y x b) 5 5 0 0 y x c) 5 5 0 0 FIGURA 17.1 a) Datos que muestran un error significativo. b) Ajuste polinomial oscilando más allá del rango de los datos. c) Resultados más satisfactorios mediante el ajuste por mínimos cuadrados. 17.1 REGRESIÓN LINEAL 467
  • 492. 468 REGRESIÓN POR MÍNIMOS CUADRADOS 17.1.1 Criterio para un “mejor” ajuste Una estrategia para ajustar una “mejor” línea a través de los datos será minimizar la suma de los errores residuales de todos los datos disponibles, como sigue: i n i i n i i e y a a x = = ∑ ∑ = − − 1 1 0 1 ( ) (17.2) donde n = número total de puntos. Sin embargo, éste es un criterio inadecuado, como lo muestra la figura 17.2a, la cual presenta el ajuste de una línea recta de dos puntos. Ob- viamente, el mejor ajuste es la línea que une los puntos. Sin embargo, cualquier línea FIGURA 17.2 Ejemplo de algunos criterios para “el mejor ajuste” que son inadecuados para la regresión: a) minimizar la suma de los residuos, b) minimizar la suma de los valores absolutos de los residuos y c) minimizar el error máximo de cualquier punto individual. y Punto medio Punto fuera del conjunto x a) y x b) y x c)
  • 493. recta que pase a través del punto medio que une la línea (excepto una línea perfectamen- te vertical) da como resultado un valor mínimo de la ecuación (17.2) igual a cero, debi- do a que los errores se cancelan. Por lo tanto, otro criterio lógico podría ser minimizar la suma de los valores abso- lutos de las discrepancias, i n i i n i i e y a a x = = ∑ ∑ = − − 1 1 0 1 La figura 17.2b muestra por qué este criterio también es inadecuado. Para los cuatro puntos dados, cualquier línea recta que esté dentro de las líneas punteadas minimizará el valor absoluto de la suma. Así, este criterio tampoco dará un único mejor ajuste. Una tercera estrategia para ajustar una mejor línea es el criterio minimax. En esta técnica, la línea se elige de manera que minimice la máxima distancia a que un punto se encuentra de la línea. Como se ilustra en la figura 17.2c, tal estrategia es inadecuada para la regresión, ya que da excesiva influencia a puntos fuera del conjunto; es decir, a un solo punto con un gran error. Deberá observarse que el principio minimax es, en algunas ocasiones, adecuado para ajustar una función simple a una función complicada (Carnahan, Luther y Wilkes, 1969). La estrategia que supera las deficiencias de los procedimientos mencionados con- siste en minimizar la suma de los cuadrados de los residuos entre la y medida y la y calculada con el modelo lineal S e y y y a a x r i n i i n i i i n i i = = − = − − = = = ∑ ∑ ∑ 1 2 1 2 1 0 1 2 ( ) ( ) , , medida modelo (17.3) Este criterio tiene varias ventajas, entre ellas el hecho de que se obtiene una línea única para cierto conjunto de datos. Antes de analizar tales propiedades, presentaremos una técnica para determinar los valores de a0 y a1 que minimizan la ecuación (17.3). 17.1.2 Ajuste de una línea recta por mínimos cuadrados Para determinar los valores de a0 y a1, la ecuación (17.3) se deriva con respecto a cada uno de los coeficientes: ∂ ∂ = − − − ∂ ∂ = − − − ∑ ∑ S a y a a x S a y a a x x r i i r i i i 0 0 1 1 0 1 2 2 ( ) [( ) ] Observe que hemos simplificado los símbolos de la sumatoria; a menos que se indique otra cosa, todas las sumatorias van desde i = 1 hasta n. Al igualar estas derivadas a cero, se dará como resultado un Sr mínimo. Si se hace esto, las ecuaciones se expresan como 0 0 0 1 0 1 2 = − − = − − ∑ ∑ ∑ ∑ ∑ ∑ y a a x y x a x a x i i i i i i 17.1 REGRESIÓN LINEAL 469
  • 494. 470 REGRESIÓN POR MÍNIMOS CUADRADOS Ahora, si observamos que ∑a0 = na0, expresamos las ecuaciones como un conjunto de dos ecuaciones lineales simultáneas, con dos incógnitas (a0 y a1): na x a y i i 0 1 + ( ) = ∑ ∑ (17.4) x a x a x y i i i i i ∑ ∑ ∑ ( ) + ( ) = 0 2 (17.5) Éstas se llaman ecuaciones normales, y se resuelven en forma simultánea a n x y x y n x x i i i i i i 1 2 2 = ∑ − ∑ ∑ ∑ − ∑ ( ) (17.6) Este resultado se utiliza conjuntamente con la ecuación (17.4) para obtener a0 = – y – a1 – x (17.7) donde – y y – x son las medias de y y x, respectivamente. EJEMPLO 17.1 Regresión lineal Planteamiento del problema. Ajuste a una línea recta los valores x y y en las dos primeras columnas de la tabla 17.1. Solución. Se calculan las siguientes cantidades: n x y x x x y y i i i i i = = = = = = = = = ∑ ∑ ∑ ∑ 7 119 5 140 28 28 7 4 24 24 7 3 428571 2 . . Mediante las ecuaciones (17.6) y (17.7) a1 2 7 119 5 28 24 7 140 28 0 8392857 = − − = ( . ) ( ) ( ) ( ) . a0 = 3.428571 – 0.8392857(4) = 0.07142857 TABLA 17.1 Cálculos para el análisis de error en el ajuste lineal. xi yi (yi – y – )2 (yi – a0 – a1xi)2 1 0.5 8.5765 0.1687 2 2.5 0.8622 0.5625 3 2.0 2.0408 0.3473 4 4.0 0.3265 0.3265 5 3.5 0.0051 0.5896 6 6.0 6.6122 0.7972 7 5.5 4.2908 0.1993 ∑ 24.0 22.7143 2.9911
  • 495. Por lo tanto, el ajuste por mínimos cuadrados es y = 0.07142857 + 0.8392857x La línea, junto con los datos, se muestran en la figura 17.1c. 17.1.3 Cuantificación del error en la regresión lineal Cualquier otra línea diferente a la calculada en el ejemplo 17.1 dará como resultado una suma mayor de los cuadrados de los residuos. Así, la línea es única y, en términos de nuestro criterio elegido, es la “mejor” línea a través de los puntos. Varias propiedades de este ajuste se observan al examinar más de cerca la forma en que se calcularon los residuos. Recuerde que la suma de los cuadrados se define como [ecuación (17.3)] S e y a a x r i n i i n i i = = − − = = ∑ ∑ 1 2 1 0 1 2 ( ) (17.8) Observe la similitud entre las ecuaciones (PT5.3) y (17.8). En el primer caso, el cuadrado del residuo representa el cuadrado de la discrepancia entre el dato y una esti- mación de la medida de tendencia central: la media. En la ecuación (17.8), el cuadrado del residuo representa el cuadrado de la distancia vertical entre el dato y otra medida de tendencia central: la línea recta (figura 17.3). La analogía se puede extender aún más en casos donde 1. la dispersión de los puntos alrededor de la línea es de magnitud similar en todo el rango de los datos, y 2. la distri- bución de estos puntos cerca de la línea es normal. Es posible demostrar que si estos criterios se cumplen, la regresión por mínimos cuadrados proporcionará la mejor (es decir, la más adecuada) estimación de a0 y a1 (Draper y Smith, 1981). Esto se conoce en y yi xi a0 + a1xi Medición yi – a0 – a1xi Línea de regresión x FIGURA 17.3 El residuo en la regresión lineal representa la distancia vertical entre un dato y la línea recta. 17.1 REGRESIÓN LINEAL 471
  • 496. 472 REGRESIÓN POR MÍNIMOS CUADRADOS estadística como el principio de máxima verosimilitud. Además, si estos criterios se satisfacen, una “desviación estándar” para la línea de regresión se determina como sigue [compare con la ecuación (PT5.2)] S S n y x r / = − 2 (17.9) donde a sy/x se le llama error estándar del estimado. El subíndice “y/x” designa que el error es para un valor predicho de y correspondiente a un valor particular de x. También, observe que ahora dividimos entre n – 2 debido a que se usaron dos datos estimados (a0 y a1), para calcular Sr; así, se han perdido dos grados de libertad. Como lo hicimos en nuestro análisis para la desviación estándar en PT5.2.1, otra justificación para dividir entre n – 2 es que no existe algo como “datos dispersos” alrededor de una línea recta que une dos puntos. De esta manera, en el caso donde n = 2, la ecuación (17.9) da un resultado sin sentido, infinito. Así como en el caso de la desviación estándar, el error estándar del estimado cuan- tifica la dispersión de los datos. Aunque, sy/x cuantifica la dispersión alrededor de la línea de regresión, como se muestra en la figura 17.4b, a diferencia de la desviación estándar original sy que cuantifica la dispersión alrededor de la media (figura 17.4a). Los conceptos anteriores se utilizan para cuantificar la “bondad” de nuestro ajuste. Esto es en particular útil para comparar diferentes regresiones (figura 17.5). Para hacer- lo, regresamos a los datos originales y determinamos la suma total de los cuadrados alrededor de la media para la variable dependiente (en nuestro caso, y). Como en el caso de la ecuación (PT5.3), esta cantidad se designa por St. Ésta es la magnitud del error residual asociado con la variable dependiente antes de la regresión. Después de realizar la regresión, calculamos Sr, es decir, la suma de los cuadrados de los residuos alrededor de la línea de regresión. Esto caracteriza el error residual que queda después de la regre- FIGURA 17.4 Datos de regresión que muestran a) la dispersión de los datos alrededor de la media de la variable dependiente y b) la dispersión de los datos alrededor de la línea de mejor ajuste. La reducción en la dispersión al ir de a) a b), como lo indican las curvas en forma de campana a la derecha, representa la mejora debida a la regresión lineal. a) b)
  • 497. sión. Es por lo que, algunas veces, se le llama la suma inexplicable de los cuadrados. La diferencia entre estas dos cantidades, St – Sr , cuantifica la mejora o reducción del error por describir los datos en términos de una línea recta en vez de un valor promedio. Como la magnitud de esta cantidad depende de la escala, la diferencia se normaliza a St para obtener r S S S t r t 2 = − (17.10) donde r2 se conoce como el coeficiente de determinación y r es el coeficiente de corre- lación (= — r2 ). En un ajuste perfecto, Sr = 0 y r = r2 = 1, significa que la línea explica el 100% de la variabilidad de los datos. Si r = r2 = 0, Sr = St el ajuste no representa al- guna mejora. Una representación alternativa para r que es más conveniente para imple- mentarse en una computadora es r n x y x y n x x n y y i i i i i i i