MÉTODOS NUMÉRICOS PARA
INGENIEROS
Con aplicaciones en
computadoraspersonales
MÉTODOS NUMÉRICOS PARA
INGENIEROS
Con aplicacionesen
computadoraspersonales
Steven C. Chapra, Ph.D.
Professorof Civil Engi...
METODOS NUMÉRICOS PARA INGENIEROS
Con aplicaciones en computadoras personales
Prohibida la reproducción total o parcial de...
C O N T E N I D O
PREFACIO
PARTE I LOS METODOSNUMERICOS Y LAS COMPUTADORAS
PERSONALES
I.1 Motivación
1.2 Fundamentosmatemá...
Vi CONTENIDO-
EPILOG0 PARTE I
1.4 ElementosdeJuicio
1.5 Relacionesyfórmulasimportantes
1.6 Métodosavanzadosyalgunasreferen...
EPILOG0
PARTE IV
7.3 Desventajasde los métodosdeeliminación
7.4 Técnicasdemejoramientoenlassoluciones
7.5 Resumen
Problema...
vi¡¡ CONTENIDO
EPiLOGO
PARTE V
Capítulo 12 Casosde la parte IV: Ajustedecurvas 387
Caso 12.1 Modelodeingenieríadeventadepr...
CONTENIDO i X
EPiLOGO PARTE V
V.4 Elementosdeiuicio
V.5 Relacionesyfórmulasimportantes
V.6 Métodosavanzadosyalgunasreferen...
P R E F A C I O
Para el ingeniero modernoel hecho de “ir a la par con su profesión” im-
plica inevitablementeel uso de las...
Xii PREFACIO
desarrollo de habilidades firmes dentro dela programación. El “segundo
curso de computación” está planeado pa...
PREFACIO xiil
de regresión.Por último, se presentan un esquema y los objetivos de
estudio de cada parte, como orientaciónp...
Finalmente, nos hemos esforzado conscientemente en hacer este li-
bro tan sencillo al usuario como seaposible, por lo que ...
P A R T E U N O
LOSMÉTODOS
NUMÉRICOS Y LAS
COMPUTADORAS
PERSONALES
'),
7,
I.1 MOTIVACI~N
Los métodos numéricos son técnica...
2 MÉTODOS NUMÉRICOS PARA INGENIEROS
2.Para analizar el comportamiento de los sistemasse usaban solu-
ciones gráficas. Ésta...
LOS METODOSNUMÉRICOS Y LAS COMPUTADORASPERSONALES ..___3
Formulac4dn
Exposici6n a fondo de
1. rdaci6n del
problema con las...
4 MÉTODOS NUMÉRICOS PARA INGENIEROS
ga métodos numéricos. El uso inteligente de estos programas de-
pende delconocimiento ...
LOS MÉTODOS NUMÉRICOS Y LASCOMPUTADORASPERSONALES 5
FIGURA 1.2 Resumen de los métodosnuméricos que se cubren eneste libro.
6 MÉTODOS NUMÉRICOS PARA INGENIEROS
1. Rakes deecuaciones (Fig. 1.24. Estos problemas están re-
lacionados con el valor de...
LOS METODOSNUMERICOS Y LASCOMPUTADORASPERSONALES 7
en la práctica de la ingeniería. Esto se debe a que muchas leyes
física...
8 MÉTODOS NUMÉRICOS PARA INGENIEROS
FIGURA 1.3 Representación de la organización del material en la parte I: Los métodos n...
LOS MhODOS NUMERICOS Y LAS COMPUTADORASPERSONALES 9
TABLA 1.1 Obietivos de estudio especificos para la parte I
1.
2.
3.
4....
C A P í T U L O U N O
MODELOS
MATEMÁTICOS
¿Por qué se debendominar los métodosnuméricos y la programación
de computadoras ...
12 MÉTODOS NUMÉRICOS PARA.INGENIEROS
se clasifican desde simples relaciones algebraicas hasta grandesy compli-
cados siste...
MODELOSMATEMÁTICOS 13
FIGURA 1.1 Representaciónde las fuerzas que actúan sobreun paracaidista en des-
censo. FD es la fuer...
14 MÉTODOS NUMÉRICOS PARAINGENIEROS
La resistencia del aire puede formularse de diferentes maneras. Una
aproximación senci...
MÉTODOS MATEMATICOS 15
FIGURA 1.2 Soluciónanalítica al problema del paracaidista que cae según se
calcula enel ejemplo l. ...
16 MÉTODOS NUMERICOS PARA INGENIEROS
De acuerdo al modelo, el paracaidista acelera rápidamente (Fig. 1.2).Se
llega a una v...
METODOS MATEMATICOS 17
donde Au y At son diferencias enla velocidad y el tiempo calculadas so-
breintervalosfinitos, u(t,)...
20 MÉTODOS NUMÉRICOS PARA INGENIEROS
significat~voasociadocon los puntos de los datos.
i) Los sistemas grandes de ecuacion...
C A P I T U L O D O S
LA PROGRAMACION
EN LAS COMPUTADORAS
PERSONALES
Los métodos numéricos combinan dos en las herramienta...
22 METODOS NUMÉRICOS PARA INGENIEROS
2.1 ANTECEDENTES HISTóRICOS
En el sentido más amplio, una computadora se puede defini...
LA PROGRAMAC16NEN LAS COMPUTADORASPERSONALES 23
FIGURA 2.1 Evolución de los dispositivos de cálculo: a)ábuco; b)calculador...
24 MÉTODOS NUMÉRICOS PARA INGENIEROS
CUADRO 2.1 Comparación de sistemascomunes de cómputo*
Longitud
Cifrasde
significa-pal...
LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 25
el estudiante debe estar mejor preparado para desarrollar programas de
alt...
26 MÉTODOS NUMERICOSPARAINGENIEROS
Un algoritmo es una secuencia l6gica de pasos necesarios paraejecu-
tar una tarea espec...
LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 27
embargo, dados los mismos datos, los programas deben arrojar los mis-
mosr...
28 METODOS NUMERICOS PARA INGENIEROS
FIGURA 2.4 Símbolos utilizados en diagramas de fluio.
LA PROGRAMACldN EN LASCOMPUTADORASPERSONALES 29
ser corridos fácilmente en otra. Aunque el Pascal es másdifícilde apren-
d...
30 METODOS NUMERICOSPARAINGENIEROS
ción FORMAT. Especifica la forma en que seva a introduciro a imprimir
una línea particu...
32 METODOS NUMÉRICOS PARA INGENIEROS
CUADRO 2.2 Referencia rápida: comparación de FORTRAN y BASIC. FORTRAN
y BASIC son len...
LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 33
CUADRO 2.2 Referencia rápida: comparación de FORTRAN y BASIC. (cont.)
FORT...
34 M~TODOSNUMÉRICOS PARA INGENIEROS
CUADRO 2.2. Referenciarápida:comparacióndeFORTRAN y BASIC. (cant.)
FORTRAN BASIC
La de...
LA PROGRAMACldN EN LASCOMPUTADORASPERSONALES 35
CUADRQ 2.2 Referencia rápida: comparación de FORTRAN y BASIC.(cont.).
FORT...
36 MÉTODOS NUMÉRICOS PARA INGENIEROS
CUADRO 2.2 Referenciarápida:comparacióndeFORTRAN y BASIC. (cont.).
FORTRAN BASIC
* Mu...
LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 37
CUADRO 2.2 Referencia rápida: comparación de FORTRAN y BASIC. (cont.).
FOR...
38 METODOS NUMÉRICOS PARAINGENIEROS
CUADRO 2.2 Referencia rápida: comparacióndeFORTRAN y BASIC.(cont.).
FORTRAN
SOL.
donde...
LA PROGRAMACldN EN LAS COMPUTADORASPERSONALES 39
CUADRO 2.2 Referenciarápida:comparacióndeFORTRAN y BASIC. (cont.).
FORTRA...
40 MÉTODOS NUMÉRICOS PARA INGENIEROS
CUADRO 2.2. Referenciarápida:comparacióndeFORTRAN y BASIC. (cont.)
FORTRANBAS IC
CALL...
0 7 8 f q
LA PROGRAMACIóN EN LASCOMPUTADORASPERSONALES
donde FORTRAN y BASICdifieren significativamente. Lasdiferen-
cias ...
42 MÉTODOS NUMÉRICOS PARA INGENIEROS
FORTRAN
s = o
DO40 I = 1, 10
S = S + I
40 CONTINUE
A = S/I
WRITE (6, 1)A
BASIC
1 o s ...
LA PROGRAMACIóN EN LAS COMPUTADORASPERSONALES 43-
Cada unade estas subrutinas realiza una tarea limitada y aislada que se
...
44 MÉTODOS NUMÉRICOS PARA INGENIEROS
racteres especiales que ilustren la secuencia lógica y la estructura de los
resultado...
LA PROGRAMACI~NEN LAS COMPUTADORASPERSONALES 45
de documentación simpleque se recomienda para preparar cada unode
los prog...
46 MÉTODOS NUMERICOSPARAINGENIEROS -
perforadas se podían guardar, pero paraun programa decualquier mag-
nitud resultaban ...
LA PROGRAMACldN EN LAS COMPUTADORAS PERSONALES 47
FIGURA 2.9 Diagrama de fluio de un programa simple para el problema del
...
48 MÉTODOS NUMÉRICOS PARA INGENIEROS
final. se puede proceder a escribir el programa. En programación. este
método de inic...
LA PROGRAMAC16NEN LAS COMPUTADORASPERSONALES 49
insertar nuevas líneas de código en refinamiento subsecuentes del pro-
gra...
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Calculo numerico chappra
Upcoming SlideShare
Loading in …5
×

Calculo numerico chappra

642
-1

Published on

libro de calculo para ingenieria

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
642
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
54
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Calculo numerico chappra

  1. 1. MÉTODOS NUMÉRICOS PARA INGENIEROS Con aplicaciones en computadoraspersonales
  2. 2. MÉTODOS NUMÉRICOS PARA INGENIEROS Con aplicacionesen computadoraspersonales Steven C. Chapra, Ph.D. Professorof Civil Engineering Texas A&M University Raymond P. Canale, Ph.D. Professor of Ci.vil Engineering The University of Michigan Traducción: CarlosZapata S. Ingeniero Electricista, UDLA Diplomado enCiencias de la Computación, Fundaci6nArturoRosenblueth Alfredo CortésAnaya LicenciadoenCienciasFísico-Matemiticas, UMSNH MaestroenCiencias de la Computaci6n, IIMAS,UNAM Revisión técnica: FernandoVeraBadillo IngenieroCivil,Universidad La Salle Jefe del DepartamentodeMatemlticasAplicadas, Universidad La Salle McGRAW-HILL MÉXICO BOGOTA BUENOS AIRES CARACAS GUATEMALA LISBOA MADRID NUEVA YORK PANAMA SAN JUAN SANTIAGO SÁ0 PAUL0 AUCKLAND HAMBURG0 LONDRES MONTREAL NUEVADELHI PARíS SANFRANCISCO SINGAPUR ST.LOUIS SIDNEY TOKIO TORONTO
  3. 3. METODOS NUMÉRICOS PARA INGENIEROS Con aplicaciones en computadoras personales Prohibida la reproducción total o parcial de esta obra, por cualquier medlo, sin autorizactón escrita del editor DERECHOS RESERVADOS (9 1987, respecto a la primera edición en español por LIBROS McGRAW-HILL DE MCXICO. S. A. DE C. V. Atlacomulco 499-501, Fracc. Industrial San Andrés Atoto 53500 Naucalpan de Juárez, Edo. de México Miembro de la Cámara Nacional de la lndustrla Editorial, Reg. Núm. 465 ISBN 968-451-847-1 Traducido de la primera edlclon en Inglés de Numerical Methods for Engineers with Personal Computer Applications Copyright @ MCMLXXXV, by McGraw-Hill, Inc., U.S. A ISBN 0-07-010664-9 1234567890L.M.437 ImpresoenMexicoPunted InMexico Esta obra se terminó de imprimir en febrero de 1988 en Talleres Gráficos Continental, S. R. deC. V. Calz. Tlalpan No. 4620 col. Niño Jesús Delegación Tlalpan 1408 México, D.F. Se tiraron 2 600 ejemplares
  4. 4. C O N T E N I D O PREFACIO PARTE I LOS METODOSNUMERICOS Y LAS COMPUTADORAS PERSONALES I.1 Motivación 1.2 Fundamentosmatemáticos 1.3 Orientación Capítulo 1 Modelosmatemáticos Problemas Capítulo 2 La programación en las computadoras personales 2.1 Antecedenteshistóricos 2.2 Desarrollodeprogramas 2.3 Desarrollodeunprogramapara el problemadelparacaidista 2.4 Estrategiasdeprogramación Problemas Capítulo 3 Aproximaciones y errores 3.1 Cifrassignificativas 3.2 Exactitud y precisión 3.3 Definicionesdeerror 3.4Erroresderedondeo 3.5 Erroresdetruncamiento 3.6 Errornuméricototal 3.7 Erroresporequivocación,deplanteamiento e incertidumbre en los datos Problemas xi 1 4 7 11 19 21 22 24 46 52 56 63 64 66 67 72 77 95 96 98
  5. 5. Vi CONTENIDO- EPILOG0 PARTE I 1.4 ElementosdeJuicio 1.5 Relacionesyfórmulasimportantes 1.6 Métodosavanzadosyalgunasreferenciasadicionales PARTE II RAíCES DEECUACIONES II.1 Motivación 11.2 Fundamentosmatemáticos 11.3 Orientación Capítulo 4 Métodos queusan intervalos 4.1 Métodosgráficos 4.2 Métododebisección 4.3 Métododelareglafalsa 4.4 Búsquedasconincrementosdeterminandouna aproximacióninicial Problemas Capitulo 5 Métodos abiertos 5.1 Iteracióndepuntofijo 5.2 MétododeNewton-Raphson 5.3 Métodode la secante 5.4 Raícesmúltiples Problemas EPiLOGO PARTE II 11.4 Elementos¿e juicio 11.5 Relacionesyfórmulasimportantes 11.6 Métodosavanzadosyalgunasreferenciasadicionales PARTE 111 SISTEMAS DEECUACIONESALGEBRAICAS LINEALES III.1 Motivación 111.2 Fundamentosmatemáticos 111.3 Orientación Capítulo 7 Eliminacióngaussiana 7.1 Solucióndepocasecuaciones 7.2 Eliminacióngaussianasimple 1o1 106 107 109 112 114 119 119 123 132 139 140 145 146 152 158 163 167 171 172 177 180 183 186 1 89 197 199 199 203 206 21 5 219 219 227
  6. 6. EPILOG0 PARTE IV 7.3 Desventajasde los métodosdeeliminación 7.4 Técnicasdemejoramientoenlassoluciones 7.5 Resumen Problemas Capítulo 8 Gauss-Jordan, inversión de matrices y Gauss-Seidel 8.1 MétododeGauss-Jordan 8.2 Inversióndematrices 8.3 MétododeGauss-Seidel Problemas Capítulo 9 Casos de la parte 111: Sistemas de ecuaciones Caso 9.1 Distribuciónderecursos(Ingenieríaengeneral) , Caso 9.2 Cálculodedistribucióndetemperaturas Caso 9.3 Análisisdeunaarmaduraestáticamentedeterminada Caso 9.4 Corrientes y voltajesencircuitosresistivos Caso 9.5,Dinámica de partículas y cuerposrígidos Problemas algebraicas lineales (Ingenieríaquímica) (Ingenieríacivil) (Ingenieríaeléctrica) (Ingenieríamecánica) PARTE 111 111.4 Elementosde juicio 111.5 Relaciones y fórmulasimportantes 111.6 Métodosavanzados y algunasreferenciasadicionales AJUSTE DE CURVAS IV.1 Motivación IV.2 Fundamentosmatemáticos lV.3 Orientación Capítulo 1O Regresión con mínimos cuadrados 10.1 Regresiónlineal 10.2 Regresiónpolinomial 10.3 Regresiónlinealmúltiple Problemas Capitulo 11 lnterpolación 1l. 1 Polinomiosdeinterpolacióncondiferencias divididasdeNewton 11.2 PolinomiosdeinterpolacióndeLagrange 11.3 Comentariosadicionales 11.4 lnterpolaciónsegmentaria(spline) Problemas 236 244 252 254 259 259 262 268 276 279 280 283 287 291 293 295 301 304 304 307 310 315 319 321 336 342 345 349 350 363 368 370 383
  7. 7. vi¡¡ CONTENIDO EPiLOGO PARTE V Capítulo 12 Casosde la parte IV: Ajustedecurvas 387 Caso 12.1 Modelodeingenieríadeventadeproductos (Ingenieriaen 387 Caso 12.2 Regresiónlineal y modelosdemográficos (Ingenieríaquímica) 391 Caso 12.3 Ajuste decurvasen el diseñodeunmástil parabarco (Ingenieria 395 Caso 12.4 Ajuste decurvas en laestimacióndelacorriente RMS (Ingenieríaca) 399 Caso 12.5 Regresiónlinealmúltipleen el análisisdedatos experimentales(Ingenieríamecánica) 402 Problemas 404 PARTE IV IV.4 Elementosde juicio IV.5 Relaciones y fórmulasimportantes IV.6 Métodosavanzados y algunasreferenciasadicionales INTEGRACION V. 1 Motivación V.2 Fundamentosmatemáticos V.3 Orientación 409 41 1 41 1 415 422 424 Capítulo 13 FórmulasdeintegracióndeNewton-Cotes 429 13.1 Regladel 431 13.2 Reglade 443 13.3 Integraciónconintervalosdesiguales 455 13.4 Fórmulasdeintegraciónerta 458 Problemas 461 Capítulo 14 IntegracióndeRomberg y cuadratura gaussiana 465 14.1 Integraciónde 465 14.2 Cuadraturagaussiana 474 Problemas 484 Capítulo 15 Casos de laparte V: Integración 487 Caso 15.1 Análisisdemovimientodeefectivos(Ingenieríaengeneral) 488 Caso 15.2 El usodeintegralesparadeterminarlacantidad total decaloren los materiales(Ingenieríaquímica) 490 Caso 15.3 Fuerzaefectivasobreelmástildeunvelerodecarreras (Ingeniería 492 Caso 15.4 Determinacióndelacorriente RMS medianteintegración numérica(Ingenieríaeléctrica) 496 Caso 15.5 Integraciónnuméricaen el cálculodeltrabajo (Ingenieríaánica) 499 Problemas 503
  8. 8. CONTENIDO i X EPiLOGO PARTE V V.4 Elementosdeiuicio V.5 Relacionesyfórmulasimportantes V.6 Métodosavanzadosyalgunasreferenciasadicionales PARTE VI ECUACIONES DIFERENCIALES ORDINARIAS VI.1 Motivación V1.2 Fundamentosmatemáticos V1.3 Orientación Capítulo 16 Métodosde un paso 16.1 Métodode Euler 16.2 Modificacionesymeiorasalmétodode Euler 16.3 MétodosdeRunge-Kuttc 16.4 Sistemasdeecuaciones Problemas Capítulo 17 Métodos de pasos múltiples 17.1 Unenfoque simple depasosmúltiples:Métodode Heun sin principio 17.2 Fórmulasdeintegración 17.3 Métodosdepasos múltiples deordensuperior Problemas Capítulo 18 Casos de la parte VI: Ecuaciones diferenciales ordinarias Caso 18.1 Modelosmatemáticosparaproyectosdeventade computadoras(Ingenieriaengeneral) Caso 18.2 Diseñodeunreactorparaproducciónfarmacéutica (Ingenieríaquímica) Caso 18.3 Deflexióndel mástil de unvelero(Ingeniería civil) Caso 18.4 Simulacióndeunacorrientetransitoriaenuncircuitoeléctrico Caso 18.5 El péndulooscilante(Ingenieríamecánica) Problemas (Ingenieríaeléctrica) EPiLOGO PARTE VI V1.4 Elementosde juicio V1.5 Relacionesyfórmulasimportantes V1.6 Métodosavanzadosyalgunasreferenciasadicionales BlBUOGRAFiA iNDlCE 509 51 1 51 1 51 5 519 522 527 528 550 564 570 573 574 588 594 600 603 604 608 61 3 61 5 61 8 622 541 625 627 627 631 635
  9. 9. P R E F A C I O Para el ingeniero modernoel hecho de “ir a la par con su profesión” im- plica inevitablementeel uso de las computadoras.Hay pocas disciplinas, o dicho sea de otra forma, pocas actividadescotidianasque de alguna manera no tienen contacto con estas máquinas tan poderosasy rápidas. Ciertamente, las computadoras hansidopor años un aliado de la inge- nieríaal desempeñar millaresde tareas, tanto analíticas como prácticas, enel desarrollo de proyectos y la solucióndeproblemasenformamás eficiente. En consecuencia, cuanto mása fondo y más tempranose fami- liarice el estudiante de ingeniería con su terminal o su computadora pel. sonal, mejorserá su formación. Pero, ¿desde cuándo?, y ¿qué tan a fondodebesereste contacto? Los profesores de ingenieríareconocen desde hace mucho tiempo la im- portanciadelentrenamientoenlosprimerossemestres enla tecnología de las computadoras. Tradicionalmente este entrenamiento abarcabacom- putadorasgrandes(mainframes) y un lenguaje de programación de alto nivel como el FORTRAN. Desafortunadamente,es frecuente que a los estudianteslesresulte difícil aplicarsusnuevashabilidades a proble- mas de otras materias. Esto se debe a una variedad de factores, de entre loscualesno carece deimportancia la preparaciónnecesariaparausar sistemas con máquinas grandes.Como resultado, muchos estudiantes de ingenieríanoexplotanbienlacapacidaddesolucióndeproblemasque tienenlascomputadorashastaqueestánadentrados ensu educación. Creemos que la revoluciónde la microelectrónica nos dala oportuni- daddeintegrarla computación de una manera más efectiva enel salón de clases. Debido a su bajo costo y conveniencia, las computadorasper- sonales pueden aumentar la capacidad del estudiante de ingeniería para resolver problemas durante sus añosescolares. Sin embargo, para explo- tar esta oportunidad al máximo es necesaria una innovación de los cursos de introducción a la computación. Por ejemplo, a través de los años se ha desarrollado en las universidades’deTexas A&M y Michigan una rees- tructuración en dos etapas. Hay un “primer cursode computación” dedi- cado a orientar al estudiante al equipocomputacionaldisponible y al
  10. 10. Xii PREFACIO desarrollo de habilidades firmes dentro dela programación. El “segundo curso de computación” está planeado para reafirmar estas habilidadesy mostrarel empleode lasolu&n deproblemas en ingeniería. El presente libro emanó del segundo curso. Se eligióel tema de los métodosnuméricos como puntoprincipalporsusmuchasaplicaciones a la ingeniería. Ya sea quelosingenieros utilicensoftware comercial o propio, creemos que es esencial una base sólida en los métodosnuméri- cos para la aplicación efectiva de las computadoras en la solución de pro- blemasdeingeniería. Desafortunadamente,los métodosnuméricos se presentan durante elúltimo año de licenciatura o a nivel de posgradua- dos, años después del punto donde pudieron habersido herramientasúti- les, instructivas y creativasparaelfuturoingeniero. Por consigu.iente,hemos elaborado este libro de tal forma que pueda enseñarse en los extremos inferior o superior de la carrera de ingeniería a nivel de licenciatura. Un aspecto de este plan se hace notar en la orga- nización y enel alcance dellibro,queestádivididoenseispartes.Laparte I tratadelmaterialintroductorio e incluyeinformaciónsobreprogramación y análisis de aproximación y error. Las cinco partes restantes están dedica- das a las áreas de métodos numéricos, que tienen importancia directa para el candidato a ingeniero: raíces de ecuaciones no lineales, ecuaciones alge- braicaslineales,ajustedecurvas(regresióneinterpolación),integración y ecuacionesdiferencialesordinarias.Excluimostemas como los valores ca- racterísticosy las ecuaciones diferenciales parciales, que tiene mayor impor- tanciapara los estudiantesdeposgrado. Junto con este materialhemosincorporado ciertas características adi- cionales en la elaboración de este libro, para hacerlo más accesible a lec- tores tanto de losprimeros como de los últimosniveles de licenciatura. Incluyen: 1. Recuadros. Nos hemos empeñado enincluir derivaciones importan- tes y análisis de error, conel fin de enriquecer la presentación. Sin embargo, algunas veces tal material representa un escollo parael es- tudiante novato. En consecuencia, hemos apartado en recuadros el material matemático más complicado. Muchos estudiantesencontra- rán quepuedenaplicar los métodosnuméricos sin tener que domi- narcompletamente el materialcontenido en losrecuadros. 2. Material introductorioy fundamentos matemáticos. Cada parte del li- broincluyeunaseccióndeintroducción.Después de unabreve ex- posición al problemamatemáticogeneralque va aestudiarse, se suministra una motivación describiendocómo podría enfocarseel pro- blema en ausencia decomputadoras,y dónde se plantea este proble- maenla práctica de la ingeniería. En seguida se efectúa una revisión delos conceptos matemáticosnecesariosparacomprender el tema por estudiar. Por ejemplo, se revisa álgebra matricial antes del estu- dio de ecuaciones algebraicas lineales, y estadística antes del estudio
  11. 11. PREFACIO xiil de regresión.Por último, se presentan un esquema y los objetivos de estudio de cada parte, como orientaciónpara el lector. 3. Epilogos. Así como la introduccih estáplaneadaparadaruna mo- tivación y una orientación, incluimos un epílogo alfinal de cada partedellibroparaconsolidar ios conceptos reciénadquiridos. Un detalleimportantedeesteepílogo es una seccióndedicada a los elementos de juicio necesarios para la elección de los métodos numéricosapropiadospara un problemaenparticular. Además, se resumenalgunasfórmulasimportantes y se citanreferenciaspara métodosavanzados. 4. Presentaciones secuenciales y gráficas. Cada parteprincipaldellibro consta de trescapítulos:dosdedicados a la teoría y uno al estudio de casos. Siempre que es posible, los capítulos de teoría se estructu- ranen forma secuencial, esto es, primero se presentanlos plantea- mientos más directosy elementales. Dado que muchos de los métodos más avanzados se construyen sobre los más simples, la intención de este desarrollo es proporcionarun sentido de evolución de lastécni- cas. Adicionalmente hemos desarrollado representaciones gráficas para complementarlas descripciones matemáticas en la mayor parte de los planteamientoscontenidos enellibro. Hemos encontradoqueesta orientación visual es particularmente efectiva para proporcionar una mayor comprensióna los estudiantes de los primeros niveles de licen- ciatura. 5. Estudio de casos. En cadapartedellibro se incluyen casos para de- mostrar lautilidad práctica de los métodos numéricos. Se realizó un gran esfuerzo para darejemplos de los cursos iniciales de las carreras de ingeniería. Cuando esto no es posible, se hansuministrado bases teóricas y motivaciónpara los problemas. 6. Software. Se disponede un paquete de softwaredenominado NU- MERICOMP que muestra algunos métodos numéricosque se cubren enel texto: bisección,eliminación gaussiana, interpolación de Lagrange, regresión lineal, la regla trapezoidal y el método de Euler. Estos pro- gramas proporcionanal estudiantelos criterios de programaciónnece- sarios para cada una de las partes del libro. El software está diseñado para utilizarse con facilidad.Los estudiantes también pueden emplear- loparaverificar los resultados de sus propios esfuerzos de programa- ción. Aunque el paquete es opcional, pensamos que puede lograrse un progreso más rápidocuandose emplean ellibro y el softwarecon- juntamente;se puede conseguira través de McGraw-Hill para lascom- putadoraspersonales IBM-PC y APPLE 11. Unaversión profesional de NUMERICOMP puede adquirirse directamente de EnginCompSoft- ware, Inc., 15 Research Dr., Ann Arbor, MI 48103.
  12. 12. Finalmente, nos hemos esforzado conscientemente en hacer este li- bro tan sencillo al usuario como seaposible, por lo que nos empefiamos en mantener nuestras explicaciones con una orientacióndirecta y prácti- ca. Aunque nuestraintención primaria es presentar a los estudiantes una sólida introducción a los métodos numéricos, un objetivo subordinado ha sido hacerde esta introducción una experiencia agradable. Creemos que los estudiantes que disfruten los métodos numéricos, las computadoras y las matemáticas, serán al final mejores ingenieros.Si nuestro libro alienta el entusiasmo por estas materias, consideraremos nuestro esfuerzo como un éxito. AGRADECIMIENTOS Queremos agradecer las revisiones hechas por los profesores Ted Cad- man (Universityof Maryland), Lee W. Johnson(VirginiaPolytechnic and State University),Richard Noble (University of Colorado),Satish Ramadh- yani (Purdue University), Howard Wicke (Ohio University) y Thomas C. Young (Clarkson University). Extendemos nuestra gratitud a la Texas A&M University y a la Universityof Michigan por proporcionarnos apoyo secretarial y gráfico y el tiempo necesario para preparar estelibro. En par- ticular, Donald McDonald y Roy Hann de Texas A&M apoyaron cons- tantemente este esfuerzo.Obtuvimossugerencias y buenasideas de nuestros colegas Bill Batchelor, Harry Jones,Bill Ledbetter, James Mar- tin y Ralph Wurbs. Jeanne Castro ideóla organización gráfica de los capí- tulos. También Vanessa Stipp, con la ayuda de Kathy Childers, Cindy Denton y Frances Kahlich, hicieron una excelente labor al mecanografiar el manuscrito. Este libro se experimentó en clase durante cuatro semestres, princi- palmente con alumnos de segundo año en Texas A&M y durante dos semestres con alumnosde todoslos niveles de licenciatura en Michigan. Durante este tiempo, muchosde los alumnos nos ayudarona comprobar la exactitud matemáticay a enriquecer la comprensión de este libro. Lisa Olson leyó el texto completo varias veces y preparó los programas en FOR- TRAN. Tad Slawecki proporcionó una ayuda excelente en cuantoal soft- ware complementario. Además, Marla lsenstein, Luis Garcia, Sijin “Tom” Lee y Rick Thurman hicieron contribuciones notables. También debemos agradecer a Kiran Verma, Dave Damstra y a B. J. Clark de McGraw-Hill su supervisión y aliento. Ursula Smith efectuó un trabajo impecable en la edición de pruebas del libro. Finalmente, nos gustaría agradecer a nuestras familias, amigos y colegas, quienes sopor- taron comprensivamente la gran cantidad de horas “robadas”, necesa- rias para completar esta obra. Steven C. Chapra Raymond P.Canale
  13. 13. P A R T E U N O LOSMÉTODOS NUMÉRICOS Y LAS COMPUTADORAS PERSONALES '), 7, I.1 MOTIVACI~N Los métodos numéricos son técnicas mediante las cuales es posible formular problemas de tal for- maquepuedan resolverse usandooperaciones aritméticas. Aunque hay muchos tipos de métodos numéricos, todos comparten una característica co- mún: Invariablemente los métodos numéricos Ile- van a cabo un buen número de tediosos cálculos aritméticos. No es raro que con el desarrollo de computadoras digitales eficientes y rápidas, el pa- pel de los métodos numéricos en la solución de pro- blemas de ingeniería haya aumentado considera- blementeen losúltimos años. I. 1 . l Métodos anteriores a la aparición de la computadora Más allá de sólo proporcionar un aumento en la potencia de cálculo, la disponibilidad general de las computadoras (especialmente de las compu- tadoras personales)y su asociación con los méto- dosnuméricos, ha tenido una influenciamuy significativa en el proceso de solución de proble- mas de ingeniería. Antes del uso de la computa- dora había tres métodos diferentes que los inge- nieros aplicaban a la solución de problemas: 1. Primero, se encontraban las soluciones de al- gunosproblemasusando métodos exactos o analíticos. Con frecuencia estas soluciones re- sultaban útiles y proporcionaban una compren- sión excelente del comportamiento de algunos sistemas. Sin embargo, las soluciones analiti- cas pueden encontrarse sólo para unaclase Ii- mitada de problemas. Estos problemas incluyen aquellosquepuedenaproximarse mediante modelos lineales y también aquellos quetienen una geometríasimple y pocas dimensiones. En consecuencia, las soluciones anabjticas tienen valor práctico limitado, porque la mayor par- te de los problemas reales no son lineales,e implican formas y procesos complejos.
  14. 14. 2 MÉTODOS NUMÉRICOS PARA INGENIEROS 2.Para analizar el comportamiento de los sistemasse usaban solu- ciones gráficas. Éstas tomaban la forma de grafoso nomogramas. Aunque las técnicas gráficas a menudopueden emplearse parare- solver problemas complejos, IQS resultados no sonmuy precisos. Es más, las soluciones gráficas (sinla ayuda de una computadora)son tediosas en extremo y difíciles de implementar. Finalmente,las técni- cas gráficas están limitadas a aquellos problemas que puedan des- cribirse usando tres dimensiones o menos. 3. Para implementar los métodos numéricos se utilizaban calculado- ras manuales y reglas de cálculo. Aunque en teoría estas aproxi- macionesdeberían ser perfectamenteadecuadas para resolver problemas complicados, en la práctica se presentan algunas difi- cultades. Los cálculos manuales sonlentos y tediosos. Además no existen resultados consistentes debido a que surgen equivocacio- nes cuando se efectúanlastareasmanualmente. Antesdel uso de la computadora, se gastaba mucha energía en la técnica misma de solución, en vez de aplicarla sobre la definición del problema y su interpretación (Fig. 1.1~).Esta situación desafortunada existía debidoal tiempoy trabajomonótonoque se requeríanpa- ra obtener resultados numéricos con técnicas que no utilizaban a la computadora. Hoy en día, las computadoras y los métodos numéricos proporcionan unaalternativapara cálculostan complicados. AI usar lacompu- tadora para obtener soluciones directamente, se pueden aproximar los cálculos sin tener que recurrir a suposiciones de simplificación o técnicas deficientes.Aunque dichas suposiciones son aún extremada- mente valiosas tanto para resolver problemas comopara proporcionar una mayor comprensión, los métodos numéricos representan alternati- vas queamplíanconsiderablementela capacidadparaconfrontar y resolver los problemas; como resultado, se dispone de más tiempo para aprovecharlas habilidades creativas personales. Por consiguiente, es posible dar más importancia a la formulación de un problema, a la interpretación de la solución y a su incorporación al sistema total, o conciencia“holística” (Fig. 1 . 1 b). 1.1.2 Los métodosnuméricosy la práctica delaingeniería Desde finales de la década de 1940, la multiplicacióny disponibilidad de las computadoras digitales ha llevado a una verdaderaexplosión en cuanto al uso y desarrollo de los métodos numéricos. Al principio, este crecimiento estaba algo limitado por el costo de acceso a com- putadoras grandes (rnainfiames),por lo que muchos ingenieros conti- nuaban usando simples planteamientos analíticosen una buena parte
  15. 15. LOS METODOSNUMÉRICOS Y LAS COMPUTADORASPERSONALES ..___3 Formulac4dn Exposici6n a fondo de 1. rdaci6n del problema con las leyes fundamentales fundamentales Metodos muy elaborados Mdtodo num6rico y frecuentemente complcador para hacer manelable el problema lnterpretacidn lhmitado por una Anll~oma fonda holisticamente y permite pensar desarrollar la intulmdn: se puede estudtar la FIGURA 1.1 Lastresfases en la solución de problemas de ingenieríaen a) laera anterioralas computadoras y b) la era de las cornputadoras. Los tamaños de los recuadros indi- can el nivel de importancia que se dirige a cada fase en el salón de clases. Las corn- putadoras facilitan la implementaciónde técnicas de solucion y así permiten un mayor cuidado sobrelos aspectos creativos de la formulación de problemas y la interpreta- ción de resultados. de su trabaio. No es necesario mencionar que la reciente evolución de computadoras personales de baio costo, ha dado a mucha gente un fácilaccesoapoderosascapacidades de cómputo. Además existeun buen número de razones por las cuales se deben estudiarlosmétodosnuméricos: 1. Los métodos numéricos son herramientas extremadamente pode- rosas para lasolución de problemas.Son capaces de manejarsis- temas deecuacionesgrandes,nolinealidades y geometrías complicadas que son comunes en la prácticade la ingenieríay que, a menudo, son imposibles de resolver analíticamente. Por l o tan- to, amplían la habilidad de quien los estudia para resolver pro- blemas. 2. En el transcurso de su carrera, es posibleque el lectortengala ocasión de usar software disponible comercialmente que conten-
  16. 16. 4 MÉTODOS NUMÉRICOS PARA INGENIEROS ga métodos numéricos. El uso inteligente de estos programas de- pende delconocimiento de lateoría básica enla que se basan estos métodos. 3. Hay muchos problemas que no puedenplantearse al emplear pro- gramas “hechos”. Si se está versado en los métodosnuméricos y sees un adepto de la programación de computadoras, enton- cesse tiene la capacidad de diseñar programas propios para re- solver los problemas, sin tener que comprar unsoftware costoso. 4. Los métodosnuméricos son un vehículo eficiente para aprender a servirse de las computadoras personales.Es bien sabido que una manera efectiva de aprender a programar las computadoras es al escribir los programas. Comolos métodos numéricos, ensu ma- yor parte están elaborados para implementarse en computado- ras, resultan ideales para este propósito. Aúnmás, están especial- mente adaptados parailustrar la potencia así como las limitaciones de las computadoras. Cuando el lector implemente con buen re- sultado los métodosnuméricos en una computadora personal y los aplique para resolver problemas que de otro modo resultan intratables, entonces tendrá una demostración tangible de cómo pueden ayudarlelas computadoras para su desarrollo profesional. AI mismo tiempo, aprenderá a reconocer y controlar los errores de aproximación que son inesperables de los cálculos numéricos a granescala. 5. Los métodos numéricos son un medio para reforzar su compren- sión de las matemáticas. Porque una función de los métodos nu- méricos es la de reducir las matemáticas superiores a operaciones aritméticas básicas, ya que profundizanen los temas que de otro modo resultan oscuros. Esta alternativa aumenta su capacidad de comprensiónyentendimiento en la materia. 1.2 FUNDAMENTOSMATEMÁTICOS Cada parte de este libro requiere de algunosantecedentes matemá- ticos. En consecuencia, el material introductorio de cada parte inclu- ye una sección, como la que el lector está leyendo en este momento, de fundamentos matemáticos. Debido Q que la parte I en sí está dedi- cada al material básico sobre las matemáticasy la computación, la presentesección noabarca la revisión dealgúntema matemático específico. En su lugar, se presentan los temas delcontenidoma- temático que se cubre en este libro. Estos se resumen en la figura 1.2, y son:
  17. 17. LOS MÉTODOS NUMÉRICOS Y LASCOMPUTADORASPERSONALES 5 FIGURA 1.2 Resumen de los métodosnuméricos que se cubren eneste libro.
  18. 18. 6 MÉTODOS NUMÉRICOS PARA INGENIEROS 1. Rakes deecuaciones (Fig. 1.24. Estos problemas están re- lacionados con el valor de una variable o de un parámetro que satisface una ecuación. Son especialmente valiosos en proyectos de ingeniería donde confrecuencia resulta imposible despejar ana- líticamente parámetros de ecuaciones de diseño. 2. Sistemas de ecuaciones algebraicas lineales (Fig.1.2b). En esencia, estos problemas son similares a los de raíces de ecua- cionesen el sentido de que están relacionados con valores que satisfacen ecuaciones. Sin embargo, a diferencia de satisfacer una sola ecuación, se busca un conjunto devaloresque satisfaga simultáneamente a un conjunto deecuacionesalgebraicas. Las ecuaciones lineales simultáneas surgenen el contexto deuna variedad de problemasy en todas las disciplinas de la ingeniería. En particular,se originan a partir de modelos matemáticos de sis- temas grandes de elementos interconectados, como:estructuras, circuitos eléctricos y redes de fluio de fluidos, aunque también pueden encontrarse en otras áreasde los métodosnuméricos como el aiuste de curvas. 3. Ajuste de curvas (Fig. 1.24. Con frecuencia se presentará la oportunidad de ajustar curvas a un conjuntode datos representados por puntos. Las técnicas que se han desarrollado para este fin pue- den dividirse endos categorías generales: regresión e interpolacion. La regresión se emplea cuando hay un grado significativo de error asociado a los datos; frecuentemente los resultados experimentales son de esta clase. Para estas situaciones, la estrategia es encontrar una curva que represente la tendencia general de los datos sin ne- cesidad de tocar los puntos individuales. En contraste, la interpola- ción se maneja cuando el objetivo es determinar valores intermedios entre datos que esténrelativamentelibres de error. Tal esel caso de la información tabulada. Para estassituaciones, la estrategia es ajustar una curva directamente a través de los puntos y usar esta curva para predecir valores intermedios. 4. Integración (Fig.l.2d).Tal como se representa, una interpre- tación física de la integración numérica es la determinación del área bajo la curva. La integracióntiene muchas aplicaciones pa- ra el ingeniero práctico, empezando por la determinación de los centroides de objetos con formas extravagantes hasta el cálculo de cantidadestotales basadas en conjuntos de medidas discretas. Adicionalmente las fórmulas de integración numérica juegan un papel importante en la solución de las ecuaciones en diferencias. 5 . Ecuaciones diferencialesordinarias.(Fig. 1.2e). Las ecuaciones diferenciales ordinarias tienen un enorme significado
  19. 19. LOS METODOSNUMERICOS Y LASCOMPUTADORASPERSONALES 7 en la práctica de la ingeniería. Esto se debe a que muchas leyes físicas están expresadas en tefminos de la razónde cambio de una cantidad más que en términos de su magnitud. Entre los ejemplos se observan desde los modelos de predicción demográfica (razón de cambio de la población) hasta la aceleración deun cuerpo en descenso (razón de cambio de la velocidad). 1.3 ORIENTACI~N Resultaútilesta orientación antes de proceder a la introducción de los métodos numéricos.Lo que sigue está pensado como unavista pa- norámica del material contenido en la parte l. Se incluyen además algunos objetivos como ayuda para concentrarel esfuerzo del lector alestudiar el material. 1.3.1 Alcanceycontenido La figura 1.3 es una representación esquemáticadel material conteni- do en la parte I. Se ha elaborado este diagrama para darleun pano- rama 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. AI leer un texto, es posible que frecuentemente se pierda uno en los detalles técnicos. Siempre que el lector perciba que está perdiendo la "imagen global" regrésese a la figura 1.3 para orientarse nuevamente.Cada parte de este libro incluye una figura similar. Esta figura sirve también como una breve revisión previa del mate- rial que se cubre en la parte I. El capítulo 1 está diseñado para orien- tarle a los métodos numéricosy para darleuna motivación mostrándole cómo pueden usarse estas técnicas en el proceso de elaborar mode- los matemáticos aplicados a la ingeniería. El capítulo 2 es una intro- ducciónyuna revisiónde los aspectosdecomputaciónque están relacionados con los métodosnuméricos y presenta las habilidades de programación que se deben adquirir para explotareficientemen- te la computadora. El capítulo 3 se ocupa delimportantetemadel análisis de error, que debe entenderse bien para eluso efectivo de los métodosnuméricos. 1.3.2 Metasy objetivos Estúdiese los objetivos. AI terminm la parte I el lector deberá estar preparado para aventurarse en los métodos numéricos. En general,
  20. 20. 8 MÉTODOS NUMÉRICOS PARA INGENIEROS FIGURA 1.3 Representación de la organización del material en la parte I: Los métodos numéricos y las computadoras personales. habrá adquirido una noción fundamental de la importancia de las com- putadoras y el papel de las aproximaciones y los errores en la imple- mentación y desarrollo de los métodos numéricos. Adicionalmente a estas metas generales, deberá dominar cada uno delos objetivos es- pecíficos de estudio que se enuncianen la tabla 1 . 1 .
  21. 21. LOS MhODOS NUMERICOS Y LAS COMPUTADORASPERSONALES 9 TABLA 1.1 Obietivos de estudio especificos para la parte I 1. 2. 3. 4. 5. 6. 7. 8. 9. 1o. 11. Entender la diferencia entre error de truncamiento y de redondeo Entender el concepto de cifras significativas Conocer la diferencia entre exactitud y precisión Apreciarla utilidad del error relativo Conocer la diferencia entre el error relativo verdadero E" y el error relativo aproximado eo; darse cuenta de cómo este último puede emplearse en conjunci6n con un error aceptable especificado con anterioridad E , para terminar un cálculo Ser capaz de relacionar el error relativo con cifrassignificativas Ser capaz de aplicar las reglas de redondeo explicadas enel recuadro 3.1 Comprender cómo se usa la serie de Taylor para aproximar funciones Comprender la naturaleza de la aproximación y los términos residuales de la serie de Taylor Conocer la relación que existeentrelas diferencias finitas y las derivadas Familiarizarse con los elementos de juicio que se describen enel epílogo de laparte I Objetivos en computación. AI completar la parte I el lector se habrá familiarizado con el software (NUMERICOMP)disponible para este libro. Deberá saber qué programas contieney algunas de sus capa- cidades de graficación. También deberátener las habilidades de pro- gramaciónnecesariasparadesarrollarsoftwarepropiocon los métodos numéricos de este libro. Deberá ser capaz de desarrollar pro- gramas en términos de los algoritmos o diagramas de fluio dados. Podrá guardarsu software en dispositivos de almacenamiento, como discos flexibles o cinta magnbtica. Finalmente, el lector habrá desa- rrollado la capacidad de documentarsus programas de tal forma que los usuarios puedan emplearlos eficientemente.
  22. 22. C A P í T U L O U N O MODELOS MATEMÁTICOS ¿Por qué se debendominar los métodosnuméricos y la programación de computadoras para resolver los problemas? Adem6s del hecho deque a diario se observa que las computadoras intervienen enlasactividades m6s comunes de lavida diaria, dhabr6algunacontribución esencial que estasmAquinas, con sus capacidades decididamente sobrehumanas,pue- dan hacer a las tareas y retos de los ingenieros? Es totalmente factible, y con el material contenido en este capítulo, se tratar6 de orientar al lec- tor y motivarlo haciauna posibilidad cuando menos. Primero se aplicael concepto de modelos matemáticos para ayudar a definir lo que se entiende por métodos numéricos y para ilustrar cómo pueden facilitar la solución de problemas en ingeniería. Paraesto, se des- arrolla aquíel modelo matemático deun proceso físico y se resuelve con un métodonuméricosencillo. El mundo físico, con toda su complejidad,puede parecer abrumador e impredecible, Tradicionalmente,la tarea del científico ha sido la de iden- tificar los patrones reproduciblesy las leyes que gobiernaneste caos. Por ejemplo, sobre la base de sus observaciones, Newton formuló su segun- da ley del movimiento, queafirma que la velocidad de cambio dela can- tidaddemovimientode un cuerpocon respecto al tiempoesigual a la fuerza resultante que actúa sobreél.Considerandolas maneras excesiva- mente complejas en que las fuerzas y los objetos interactúan en la tierra, estaleyhaprobadoserunageneralizaciónválida. Además de que estas leyes proveen de discernimiento, los ingenieros pueden aplicarlas para formular solucionesa problemas prácticos. Porejem- plo,los conocimientos científicosse usan rutinariamente por los ingenie- ros en el diseño de,elementostales como estructuras, mhquinas, circuitos eléctricos y sustancias químicas sintéticas. Desdelaperspectivadel dise- ño de ingeniería,estos conocimientos sonmuy útiles cuando se expresan en formade un modelomatem6tico. Un modelo matemático puede definirse, de una manerageneral, co- mo una formulacióno ecuación que expresalas características fundamen- tales de un sistema o proceso fisico en términos matemáti'cos. Los modelos
  23. 23. 12 MÉTODOS NUMÉRICOS PARA.INGENIEROS se clasifican desde simples relaciones algebraicas hasta grandesy compli- cados sistemas de ecuaciones diferenciales. Recordando nuevamente a Newton para este ejemplo,la expresión matemática,o modelo, desu se- gunda ley es la bien conocida ecuación F = ma [1.11 donde F es la fuerza neta que actúa sobre el cuerpo (en dinas, o gramo- centímetro por segundo cuadrado),m es la masa del objeto (en gramos), y a es su aceleración (en centímetros por segundo cuadrado). La ecuación (1.1)tiene varias características habitualesde los mode- los matemáticos del mundo físico. 1. Describe un sistema o procesonatural en términosmatemáticos. 2. Representa unaidealización y una simplificaciónde la realidad. Es decir, ignora los detalles insignificantes del proceso natural y se concentra en sus manifestaciones elementales. Es por esto que la segunda ley no incluye los efectos de la relatividad,quetienenunaimportan- cia mínima cuando se aplicanaobjetos y fuerzas que interactúan sobre o alrededorde la tierra aescalas visibles a los sereshuma- nos. 3. Finalmente, conduce a resultadospredecibles y, en consecuencia, pue- de emplearse para propósitosde predicción. Por ejemplo,si se cono- cen la fuerza aplicada sobre un objeto y su masa, entonces puedeusarse la ecuación (l.1)para predecir la aceleración. Como tiene unaforma algebraica sencilla, puede despejarse directamente F m a = - De este modo, la aceleración puede calcularse fácilmente. Sin em- bargo, los modelos matemáticos de otros fenómenos físicos pueden ser mucho más complejos y no pueden resolverse exactamente o requieren de técnicas matemáticas más complejas que la simple álgebra para suso- luci6n. Para ilustrar unmodelo de este tipo pero más complicado, se puede usar la segunda ley de Newton para determinar la velocidad final de un cuerpo en caídalibre cerca de la superficie terrestre. El cuerpo en descen- so será un paracaidista como se muestra en la figura 1.1.Para este caso puede crearse un modelo al expresar la aceleración como la razón de cambio de la velocidad con respecto al tiempo (dv/dtj y sustituir en la
  24. 24. MODELOSMATEMÁTICOS 13 FIGURA 1.1 Representaciónde las fuerzas que actúan sobreun paracaidista en des- censo. FD es la fuerza hacia abaiodebido a la atracción de la grave- dad. Fu. es la fuerzahacia arribadebido a la resistencia del aire. ecuación (l.1) paradar dv dt m - = F u31 donde u es la velocidad en centímetros porsegundo). Así, la masa multi- plicada porla razón de cambio dela velocidad es igual a la suma de fuer- zasqueactúansobreel cuerpo. Si lafuerzatotal es positiva, el objeto acelera. Si esnegativa, el objeto sufreuna desaceleración. Si lafuerza neta es cero, lavelocidaddel objeto permanecerá a un nivel constante. Para un cuerpo que cae dentro del perímetro de latierra (Fig. l.1), la fuerza total está compuesta por dos fuerzas contrarias:la atracción ha- cia abajo debida a la gravedad F D y la fuerza hacia arriba debida a la re- sistenciadelaire Fu. Si a lafuerza hacia abajo se leasigna un signopositivo, se puedeusar la segunda leyparaformularlafuerzadebida a lagravedad como donde g es la constante de gravitación, o la aceleración debida a la gra- vedad, queesaproximadamente igual a 980 cm/s2.
  25. 25. 14 MÉTODOS NUMÉRICOS PARAINGENIEROS La resistencia del aire puede formularse de diferentes maneras. Una aproximación sencilla es suponer que es linealmente proporcionala la ve- locidad, como en donde c es una constante de proporcionalidad llamada el coeficiente de arrastre (en gramos por segundo).Así, a mayor velocidad de caída, ma- yor es la fuerza hacia arriba debida a la resistencia del aire. El parámetro c toma en cuenta las propiedades del objeto descendente, talescomo la forma o la aspereza de su superficie, que afectanla resistencia del aire. Para este caso, c podría ser una función del tipo de traje o la orientación usadaporelparacaidistadurantelacaídalibre. La fuerzatotal es la diferenciaentrelasfuerzashacia abajo y hacia arriba. Portanto, las ecuaciones (1.3)a (1.6)pueden combinarse para dar dv dt m- = mg - cv o, dividiendocadaladoentre m, dv C dt m ” - 9 - - v La ecuación (1.8)es un modelo que relacionala aceleración de un cuer- po que cae a las fuerzas que actúan sobre él. Es una ecuación diferencia[ porque está escrita en términosde la razón de cambio diferencial (dv/dt) de la variable que nos interesa predecir. Por esta razón a veces se deno- mina ecuación en diferencias. Sin embargo, en contraste con la solución dada porla segunda ley de Newton en la ecuación(1.2),la soluciónexacta de la ecuación (1.8)para la velocidad del paracaidista quecae, no puede obtenerseusando simples manipulaciones algebraicasy operacionesarit- méticas. Envez de eso, deberánaplicarselas técnicas delcálculopara obtener una solución exacta. Por ejemplo, siel paracaidista inicialmente está en reposo (u = O en t = O), se puede usarelcálculopararesolver la ecuación (1.8),así EJEMPLO 1.1 Solución analítica al problema del paracaidista que cae Enunciado del problema: un paracaidista con una masa de 68 100 g sal- tade un aeroplano. Aplíquese la ecuación (1.9)paracalcular la veloci-
  26. 26. MÉTODOS MATEMATICOS 15 FIGURA 1.2 Soluciónanalítica al problema del paracaidista que cae según se calcula enel ejemplo l. l. La velocidad aumenta con el tiempo y se aproxima asintóticamente o una velocidad final. dadantes de abrir el paracaídas. El coeficiente de arrastre c es aproximadamente igual a 12 500 g / s . Solución: al sustituir los valores de los parámetros en la ecuación (1.9) se obtiene I 980(68,100) v (t) = [I - e-t12.500/68.1001f 12,500 1 = 5339.0 (1 - e-0 18355t ) al dar varios valores de t se obtienen las velocidades para dicho tiempo: los resultados se presentan a continuación t, S v, cm/s O O 21640.5 4 2776.9 6 3564.2 10 4487.3 12 4749.0 X 5339.0 a 4109.5
  27. 27. 16 MÉTODOS NUMERICOS PARA INGENIEROS De acuerdo al modelo, el paracaidista acelera rápidamente (Fig. 1.2).Se llega a una velocidad de 4 487.3cm/s (161.5km/h) despu6s de 10 s. Nótese también que después deun tiempo suficientemente grande se al- canza una velocidad constante (llamadavelocidad final) de 5339.0cm/s (192.2km/h). Esta velocidad es constante porque después de un tiem- po suficiente, la fuerza de gravedad estará en equilibrio con la resistencia del aire. Por lo tanto, la fuerza total es cero y cesa la aceleración. A la ecuación (1.9)se le llama una solución analítica o exacta porque satisface exactamente la ecuación diferencial original. Desafortunadamen- te, hay muchos modelos matemáticos que no puedenresolverse exacta- mente. En muchos de estos casos,la única alternativa es la de desarrollar una solución numérica que se aproxime a la solución exacta. Como se mencionó con anterioridad, los métodos numéricos son aquellos en los que se reformula el problema matemático paraque se puedaresolver me- diante operacionesaritméticas. Esto puede ilustrarse para la segunda ley de Newton notándose que se puede aproximar la razón de cambio de la velocidad conrespecto al tiempomediante (Fig. 1.3) [1.10] FIGURA1.3 USO de una diferenciafinita paraaproximarlaprimeraderivadade v con respecto a t.
  28. 28. METODOS MATEMATICOS 17 donde Au y At son diferencias enla velocidad y el tiempo calculadas so- breintervalosfinitos, u(t,) es lavelocidadeneltiempoinicial t,, y u(t,+I) es la velocidadalgúntiempo más tarde t,, Laecuación (l.10)es una diferencia finita diuida enel tiempo ti. Puede sustituirseenla ecuación (1.8)paradar Estaecuaciónpuedeordenarseotra vez paradar u(t1+1) = U@¡) + 9 - -u(ti) &+I - ti) [ : I [1.12] Y así, la ecuacióndiferencial (1.8)se transforma enuna ecuación qGe puederesolversealgebraicamentepara u(ti+J . Si se da un valorinicial para la velocidad en un tiempo ti,se puede calcular fácilmente u en t!, Este nuevo valor de u en ti+lpuede emplearse para extender el cálculo de u en ti+2 y así sucesivamente. Por lo tanto, en cualquiertiemporde la trayectoria, Nuevovalor - valoranteriorvalorestimuladoincremento de u + de lapendiente x deltiempode u - EJEMPLO 1.2 Soluciónnumérica al problema del paracaidistaquecae Enunciado del problema: efectuarel mismo cálculo que en el ejemplo l.1 perousando la ecuación (1.12)paracalcular u(t) con un incremento de tiempo igual a 2 s. Solución: alprincipio de los cSlculos (tl =O), la velocidaddel paracai- dista uft,) es igual a cero. Conestainformación y los valoresde los pa- rámetros del ejemplo l.l, la ecuación (l.12)se puede usar para estimar v (ti+1)en ti+l = 2 s. Para el siguienteintervalo (de t = 2 a 4 S), se repiteelcálculoconel re- sultado, ~ ( 4 )= 1960 + 980 - ___ [ 68l2500100(1960+ = 3200.5 cmis
  29. 29. 20 MÉTODOS NUMÉRICOS PARA INGENIEROS significat~voasociadocon los puntos de los datos. i) Los sistemas grandes de ecuaciones. las no linealidades 51 las geometrías com- plicadas son comunes enla práctica de la ingeniería y fáciles de resolver analí- ticamente j) Los modelosmatemáticos no sepueden usar nunca con propósitos depre- dicción. 1.2 Léanse las siguientes descripciones de problemase identifíquese qué área de los métodos numéricos (según lo señalado enla Fig. 1.2)se relaciona con su solución. Una persona pertenece a una cuadrilla de reconocimiento topográfico y debe determinar el área deun terreno limitado por dos caminos y una corriente que serpentea Un ingeniero es responsable de la determinación de losflujos en una gran red de tuberías interconectadas entre sí para distribuir gas natural a una serie de comunidadesdiseminadasen un área de 20 km2 Para el problema del paracaidista que cae. se debe decidir el valor del coefi- ciente de arrastre para que un paracaidista de 90 kg de masa no exceda los 160km/h en los primeros 10 S después de haber saltado. Deberá hacer esta evaluación sobre la base. de la solución analítica [Ec. (1.9)]. La información se empleará para diseñar un tra~edesalto. Un investigador efectúa experimentos para encontrar la caída de voltaje a tra- vés de una resistencia como una función de la corriente. Hace las mediciones de la caída de voltaje para diferentes valores de la corriente Aunque hay al- gún error asociado con sus datos, al91-aficar los puntos. éstos le sugieren una relación curvilínea. Debe derwar una ecuación que caracterice esta relación. Un ingeniero mecánico tiene que desarrollar un sistemade amortiguamiento para un auto decarreras. Puede usar la segunda ley de Newton para tener una ecua- ción para predecir la razón de cambio en la posición de la rueda delantera en respuesta a fuerzas externas. Debe calcular el movimiento de la rueda. como una función del tiempo después de golpear contra un tope de 15 cm a 240 km/h. Un administrador tiene que calcular el ingreso anual requerido en un periodo de 20 años para un centro de entretenimientos que se va a construir para un cliente. El préstamo puede hacerse a una tasa de interés del 17.6"; Aunque para hacer este estimado. la información está contenida en tablas de econo- mía, sólo aparecen listados los valores paratasasde interés del 15 y 20% 1.3 Proporciónese un ejemplo de un problema de ingeniería donde sea oportuno cada uno delos siguientes tipos de métodos numéricos. En IO posible. remitasr el ejem- plo de las experiencias del lector en cursos y en conferencias u otras experiencias profesionales que haya acumulado hasta la fecha. a) Raíces deecuaciones b) Ecuaciones algebraicas lineales c) Ajuste de curvas: regresión d) Ajuste de curvas: interpotación el Integración fi Ecuaciones diferenciales ordinaria5
  30. 30. C A P I T U L O D O S LA PROGRAMACION EN LAS COMPUTADORAS PERSONALES Los métodos numéricos combinan dos en las herramientas más impor- tantes en el repertorio de la ingeniería: matemáticasy computadoras. Los métodos numéricos se pueden definir (sin ser muy exacto) como las ma- temáticas por computadora. Las buenas técnicas de programación aumen- tan la habilidad para aplicar los conocimientos de los métodos numéricos. En particular, las potencialidades y limitaciones de las técnicas nu- méricas se aprecian mejor cuando se usan estos métodos para resolver los problemas de ingeniería utilizando como herramientauna compu- tadora. Al usar este libro se obtiene la posiblidad de desarrollar los propios programas. Debido ala gran disponibilidad de computadoras personales y dispositivos de memoria magnética, los programas se pueden conser- var y usar durante toda la carrera. Por lo tanto, uno de los principales objetivos de este texto es que el lector obtenga programas útiles y de alta calidad. Este texto contiene características especialesque maximizan esta po- sibilidad. Todas las técnicas numéricasvan acompañadas de material pa- ra una implementación efectiva en la computadora. Además, se dispone de programas suplementarios para seis de los métodos más elementales discutidos enel libro. Estos programas, desarrollados para computadoras personales (IBM-PC y Apple 11), pueden servir como base para una bi- blioteca de programas propios. Este capítulo presenta una información preliminar que tiene utilidad siempre y cuando se desee usar este texto como base para el desarrollo de programas. Está escrito bajo la suposición de que ya se ha tenido una experiencia previa en la programación de computadoras. Debido a que ellibro no está enfocado hacia un curso de programación, se estudian únicamente aquellos aspectos que definen el desarrollo de programas de análisis numérico. También se propone proporcionarcriterios específicos para la evaluación de los esfuerzos del lector.
  31. 31. 22 METODOS NUMÉRICOS PARA INGENIEROS 2.1 ANTECEDENTES HISTóRICOS En el sentido más amplio, una computadora se puede definir como un dispositivo que ayuda acalcular. Con base en esta definición, una de las computadoras más antiguas es el ábaco. Descubierto en el antiguo Egip- to y en China, se compone de cuentashiladas sobre alambresen un marco rectangular (Fig. 2.la). Las cuentas se usan para guardar potencias de10 (unidades, decenas, centenas, etc.) durante un cálculo. Cuando se emplea con destreza, el ábaco puede competir en velocidad con una calculadora de bolsillo. Aunque los dispositivos manuales tales comoel ábaco aceleran la ve- locidad en los cálculos, las máquinas extienden aún más las capacidades humanas para estos cálculos.Estimuladospor la revoluciónindustrial, los científicos del siglo XVII desarrollaron la primera de tales computadoras mecánicas. Blas Pascal inventó, en 1642,una máquina para sumar (Fig. 2.lb). AI final de ese siglo, Gottfried Leibnitz desarrolló una calculadora mecánica que podía multiplicar y dividir. Aunque en los siglos siguientes se desarrollaron otros instrumentos de cálculo, no fuesino hasta la década de 1940cuando surgieron las com- putadoras electrónicas. Se originaron, inicialmente para proyectosmilita- res en la segunda guerra mundial, erandispositivos de investigación para un solo propósito. Estas máquinas, con nombres comoENIAC Y EDSAC, usaron tubos al vacío como componentes electrónicos básicos. Aunque eran caras, lentas y a menudo desconfiables, estas computadoras de la primera generación auguraban un procesamiento de datos agran escala. Aunque algunas máquinas de la primera generación, en especial la UNIVAC,se vendieron a nivel comercial, no fue sino hastala década de 1960 que las computadoras estuvieron disponibles para una gran canti- dad de científicos e ingenieros. Esto se debió al desarrollo de los transis- tores y de algunos dispositivoselectrónicos de estadosólido que suplieron a los tubos al vacío creando computadoras que, entre otras cosas, eran más confiables. Aunque el uso de estas computadoras se extendió, su acceso era algunas veces limitado ya que las máquinas seguían siendo muy caras para quela mayoría de los profesionistas las obtuvieran indivi- dualmente.Por lo tanto, los ingenierosdebíanasociarsecon grandes organizaciones talescomo universidades, oficinas gubernamentales, cor- poraciones o firmas consultoras para tener acceso a las computadoras. Sin embargo, a la mitad de la década de 1960 y principios de la dé- cada de1970un adelanto en la técnica alteró dramáticamente esta situa- ción. En particular, el reemplazo de los transistores por circuitos integrados ha producido un gran poder computacional en el medio profesional de los ingenieros. Un circuito integrado, o CI, consiste en una pastilla delga- da de silicón donde se han colocado miles de transistores. El resultado práctico de esta innovación ha sido en dos aspectos. Primero, en el nú- cleo de la máquina o la parte central de las computadoras, las velocida-
  32. 32. LA PROGRAMAC16NEN LAS COMPUTADORASPERSONALES 23 FIGURA 2.1 Evolución de los dispositivos de cálculo: a)ábuco; b)calculadora de Pas- cal; c) supercomputadora y d) microcomputadora o computadora per- sonal (los incisos b y c con permiso de IBM; el inciso d con permiso de AppleComputer,Inc.). des y la capacidaddememoriason muy grandes. Segundo, y más importante en el contextoactual,las computadoras personales que soncon- venientes, pequeñas, rápidas y confiablesse están produciendo en masa y a precios razonables.Como se expresóen un artículo de la revistaScien- tificAmerican: “Las microcornputadoras dehoy día a un costo talvez de $300 dólares, tienen más capacidad de cómputo que las primeras com- putadoraselectrónicasgigantescas ENIAC. Son 20 veces másrápidas,
  33. 33. 24 MÉTODOS NUMÉRICOS PARA INGENIEROS CUADRO 2.1 Comparación de sistemascomunes de cómputo* Longitud Cifrasde significa-palabraCostodecálculo,almacena- Sistema tivas bits(dólares) ciclosls miento (K) Calculadora O 25-3501-2 Microcomputadora 7-1 O 7-1 6 100-5000 106-1 o7 16-256 Minicornputadora 7-1 O 16-32 15,000-1 20,000 106-1 o7 128-51 2 Cornputadoras 7-1 4 32 100,000-1 o,ooo,ooo+ 106-1 o* 8000-32,000 prograrnable grandes * Condensodo de AuerbochComputer Technology Reports, Agosto 1983. tienenunamemoriamayor,sonmilesdevecesmás confiables, consu- menla energíade un bulboenvezdeladeuna locomotora,ocupan 1/30O00 de volumen y cuestan 1/10 O00 parte. Se pueden obtener por unaordenpostal o encualquiertiendaespecializada” (Noyce, 1977). Lascomputadoraspersonales se agrupan,por lo general enunade dos categorías que a veces no están biendelimitadas:micro y minicom- putadoras. Las rnicrocornputadoras sonaquellascuyafunciónprincipal está contenida enunasolapastilladecircuitointegrado.Comúnmente cuestan unos miles de dólares.Las minicomputadoras son un término más imprecisoque se refiere a computadorasquesonmáspotentesque las micros pero caen aún dentro de las posibilidades de compra de algunas personas y pequeñascompañías.Ambostiposdecomputadorasestán encontrasteconcomputadorasgrandes, o supercornputadoras, que se manejan en intervalos de millones de dólares y sus propietariosson, por lo general, organizaciones o compañías muy grandes. El cuadro 2.1 re- sume lainformacióngeneralsobrevariostiposdecomputadoras. Larevoluciónenelcampodelestadosólidohaabiertolaspuertas en el área computacional a cada ingeniero.Sin ernhnrgo, no importa qué tipo de computadora se use, ésta sólo tiene utilidadsi se le proporcionan instrucciones precisas. A estas instrucciones se les conoce como progra- mas.Lassiguientesseccionescontieneninformaciónqueserá útil para el desarrollodeprogramasdealtacalidadpara utilizar los métodos nu- méricos. 2.2 DESARROLLODE PROGRAMAS El material de este capítulo está organizado alrededor de cinco temas, es- quematizados en lafigura 2.2, requeridos para la elaboración y cuidado deprogramasdealtacalidad.Estecaljitulocontieneseccionesque cu- bren cadaunode estos pasos.Estematerialincluye un casodeestudio dondecadaunode los pasosseaplicaparadesarrollar un programa y resolverelproblemadelparacaidista.Despuésdeasimilar este material,
  34. 34. LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 25 el estudiante debe estar mejor preparado para desarrollar programas de altacalidadpara los métodos delrestodellibro. 2.2.1 Diseño de algoritmos Se puede ahora empezar con el proceso de desarrollar programas para una computadora. Un programa es simplemente un conjunto de instruc- ciones para la computadora. Todos los programas que se necesitan co- rrerenuna computadoraparticular,en conjunto se lesllama software. FIGURA 2.2 Cinco pasos necesarios para producir y dar soporte a programas de al- ta calidad .Las flechas hacia atrás indican que los primeros cuatro pasos se pueden ir meiorando conforme se gane experiencia.
  35. 35. 26 MÉTODOS NUMERICOSPARAINGENIEROS Un algoritmo es una secuencia l6gica de pasos necesarios paraejecu- tar una tarea específicatal como la solución de un problema. Losbuenos algoritmos tienen ciertas características. Siempre deben terminardespuk de unacantidadfinita de pasos y deben ser lomás general posible para tratarcualquier caso particular. Los buenosalgoritmosdebenser deter- minísticos; esto es, no debendejarnada al azar. Los resultadosfinales no pueden ser dependientes de quién esté usando el algoritmo. En este sentido, un algoritmo esanálogo a una receta. Doscocineros que prepa- ran independientemente unabuenarecetadeben obtener dos platillos idénticos. La figura2 . 3 ~muestra un algoritmo para la solución de un problema simplequesumados números. Dos programadoresquepartandeeste algoritmopuedendesarrollardosprogramasconestilos diferentes. Sin FIGURA 2.3 a) Algoritmo y b) diagramade fluio para la solucióndel problema de una sumasimple.
  36. 36. LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 27 embargo, dados los mismos datos, los programas deben arrojar los mis- mosresultados. Una forma alternativade representarun algoritmo es medianteun dia- grama de flujo. Estaesunarepresentaciónvisual o gráficadelalgoritmo que emplea una serie de bloques y flechas. Cada bloque enel diagrama representaunaoperaciónparticular o un paso enelalgoritmo. Las fle- chas indican la secuencia en que se implementan las operaciones. La fi- gura 2.4 ilustra ocho tipos de bloques y flechas que conformanla mayor parte de las operaciones que se requierenen laprogramacióndeuna computadora personal. Lafigura 2.3b muestraun diagrama de flujo para el problemasimpledesumardosnúmeros. Los diagramasdeflujotienen unautilidadparticularpara bosquejar algoritmoscomplicados. En estos casos, un bosquejo gráfico puede serútil para visualizar el flujo lógico del algoritmo. En este texto, se hanincluidodiagramasdeflujoparala ma- yor partede los métodosimportantes. Se puedenusarestosdiagramas como basepara el desarrollodesuspropiosprogramas. 2.2.2 Composición de un programa Después de confeccionarun algoritmo, el paso siguiente es expresarlocomo una secuencia de declaracionesde programación llamado código. Esim- portante resistir la tentación de escribir el códigoantesdequeelproble- maen su totalidad esté claramente definido y la técnica de solución y el algoritmo hayan sido cuidadosamente diseñados. Lasdificultades que más comúnmente encuentran los programadoressin experiencia se deben por lo general a lapreparaciónprematura de un código que no abarque un plan o unaestrategia total, para la solucióndelproblema. Después que se ha diseñado un buen algoritmo, el código se escribe en un lenguaje de alto nivel para una computadora.Se han desarrollado cientos de lenguajes de programación de altonivel desde que la era de las computadoras empezó. Entre ellos, haytresquetienenimportancia paracomputadoras personales: BASIC, FORTRAN y PASCAL. FORTRAN, es la construccióndefórmulatranslation(traducciónde fórmulas),y se desarrolló enla década de 1950. Debido a que fue expre- samente diseñado para cálculos, hasidoel lenguaje más usado en la in- geniería y la ciencia. BASIC, es la contracción de beginner’s all-purpose symbolic instruc- tion code (clave de instrucciones simbólicas de propósito general para prin- cipiantes),fuedesarrolladoenla década de 1960. Requiere unacantidad pequeña de memoria y es relativamente simple de implementar.En con- secuencia es uno de los lenguajes másusadosenlas computadorasper- sonales; sin embargo, el BASIC no es tanflexible como el FORTRAN y a veces no es conveniente paraprogramasgrandes o complejos. El PASCAL, que debesu nombre al científico francés BlasPascal, esun lenguajeestructuradoquesedesarrolló enla década de 1970. Los pro- gramasescritos en Pascalpara una computadoradeterminadapueden
  37. 37. 28 METODOS NUMERICOS PARA INGENIEROS FIGURA 2.4 Símbolos utilizados en diagramas de fluio.
  38. 38. LA PROGRAMACldN EN LASCOMPUTADORASPERSONALES 29 ser corridos fácilmente en otra. Aunque el Pascal es másdifícilde apren- derqueel BASIC y el FORTRAN, sufuerzasugierequesuimportancia crecerá en el futuro. Esto es verdad para la programación avanzadaa gran escala. BASIC y FORTRAN son convenientes para programas simplesy cortos que son suficientes parala implementación de los métodos numéricosde estelibro.Por lo tanto, se ha optadoporlimitarlaspresentacionesdel texto,a programas en estos lenguajes. BASICes unaalternativaobvia por su amplia disponibilidad.Se ha incluido el FORTRAN por su signifi- cado continuo enel trabajo de ingeniería. Aunque este libro hace énfasis enlas computadoras personales, puedeusarseporaquéllosquetienen acceso a máquinas más grandes y en conjunción con cualquier lenguaje dealtonivel.Con este espíritu, los programas y diagramasdeflujoson lo suficientementesimples como paraquepuedanservirdebaseenel desarrollodeprogramasparaaquéllosquesonexpertosen Pascal. Una descripción completa delBASIC y el FORTRAN, obviamente va más allá del alcance de este libro. Además, el número de dialectos dispo- niblesen cada lenguajecomplicaaúnmássudescripción.Por ejemplo, existen más de 10 dialectos derivados del BASIC. Sin embargo, limitan- do ladiscusión a lo fundamental, se puede cubririnformaciónsuficiente de forma tal que se pueda entender e implementar efectivamenteel ma- terialrelacionadocon la computadora enel resto dellibro. Enlafigura 2.5 SF! presentan los códigos en FORTRAN y BASIC pa- ra sumar dosnúmeros, mostrando las diferencias estructurales principales entre los dos lenguajes, el etiquetado y el espaciamientode código. En BASIC, cada instrucción se escribe con un número. En contraste,en FOR- TRAN se etiquetancon un número sólo aquéllasinstruccionesque re- quierenidentificación.Por ejemplo, lainstrucciónque tiene la etiqueta número 1 en la versión FORTRAN de la figura 2.5 se llama una declara- SIC c I FIGURA 2.5 Programadecomputadora en FORTRANy BASIC para el problemade la suma simple.
  39. 39. 30 METODOS NUMERICOSPARAINGENIEROS ción FORMAT. Especifica la forma en que seva a introduciro a imprimir una línea particular. Por lo tanto, se debe etiquetar con un número para que la computadora pueda distinguirla de otras declaracionesFORMAT. Las declaraciones FORTRAN se deben numerar para otros casos pero la mayor parte, por lo general van sin numerar. Otra diferencia entre los dos lenguajes es el espaciamiento de cada línea; en BASIC, por lo general el espaciamiento no tiene importancia. Por ejemplo, la línea 10 se pudo haber escrito de las siguientes formas 10 A = 25 1OA=25 10 A = 25 y la computadora debe interpretar todas las formas como equivalentes. En contraste, los términos en FORTRAN se deben alinear en columnas específicas. Las reglas sobre la alineación provienen del hecho de queel FORTRAN se introducía originalmenteen una computadora usandolec- tora de tarjetas. Aunque las tarjetas se emplean menos frecuentemente hoy en día, las reglas de espaciamiento por lo general se han conservado. A las 80 columnas de la tarjeta perforada se les llama campos de la tarjeta. Los campos de la tarjeta se agrupan por partes para diferentes propósitos. Estos se ilustran en la forma de codificación de la figura 2.6. Una forma de codificación es un pedazo de papel donde se puedeescri- bir y verificar un programa para revisarlo de errores antes de introducirlo a la computadora. Nótese que también contiene80 columnas al igual que una tarjeta perforada. También obsérvese que cada una delas partes de los campos se usa para propósitos particulares. Aparte de la estructura, los dos lenguajes tienen otras diferencias así como fuertessimilitudes. En el cuadro 2.2 se delinean éstas. Este cuadro muestra comparaciones en paralelo deseis elementos principalesde pro- gramacióc que tienen importancia directa en el uso de los métodos nu- méricos. Estos son: 1. Constantes y variables. Se debenseguirciertasreglasparaexpresar números y nombres simbólicos en los dos lenguajes. Como se puede ver en el cuadro 2.2 ésta es un área en donde elBASIC y el FOR- TRAN son muy diferentes. 2.Entrada-salida. Éstas son instrucciones mediante las cuales se trans- mite información de y hacia la computadora. He aquíotra área donde los lenguajes muestran diferenciasconsiderables.Aunque la mayor parte de los lenguajes modernos mejoran esta situación, históricamente las capacidades de entrada-salidadel BASIC, han sido muy limitadas. En constraste, las declaraciones FORMAT del FORTRAN son herramientas muy potentes para etiquetary espaciar la salida. Sin embargo, son de las declaraciones de programación más difícilespara un novato y aun para un experto.
  40. 40. 32 METODOS NUMÉRICOS PARA INGENIEROS CUADRO 2.2 Referencia rápida: comparación de FORTRAN y BASIC. FORTRAN y BASIC son lenguajes de computadora fáciles de aprender y de practicar, en general son los primeros lenguajes de programación que se les enseña a los estudiantes de ingeniería. Como sucede con muchoslenguajes de programación, existen varios aspectos que hacen dificil entender su uso. La siguiente comparación resulta del intento de bosquejar las diferencias generales y las similitudes entre FORTRAN y BASIC y a la vez servir de referencia rápida y como recordatorio. Se pueden consultar otras fuentes para los detalles referentes Q cada uno de los lenguajes. Este resumen se limita y se enfoca a la vez al material que tiene importancia directa con los metodos numéricosy con los programas descritos en el texto. FORTRAN BASIC CONSTANTES Y VARIABLES (Representan los números y caracteres usados a lo largo del programa) Constantes Son valores positivos o negativos,(excluyendo las comas o los símbolos especiales) que se mantienen inalterados a lo largo del programa. EnterosConstantesnuméricas sonconstantes que no contienenpuntosonnúmerosenteros o reales con punto decimal: decimal: 1, -2, 100 1, -2.0, 0.001,100 Constantes reales: contienenpunto decimal: 1.o, -2., 0.001 Exponenciales sonconstantesescritasen notación científica. Por ejemplo, los números: -12 000,0.000 006 8, 386 O00 O00 se expresan ennotación científica como: -12 x lo3,6.8 x 3.86 x 10’ y se pueden escribiren FORTRAN y BASIC como: -12E3, 6.8E-6, 3.86E8 Constantes alfanuméricas y cadenas de caracteres representan letras, números y símbolos que se usanenestetexto para etiquetar. Las cadenas de caracteres tienenotras aplicaciones,incluyendo el USO de expresiones de relación. En FORTRAN se encierrancomo: En BASIC se encierran como: ‘JOHN DOE’, ’INTRODUCE B’ “VALOR DE A =”, “8/5/48”
  41. 41. LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 33 CUADRO 2.2 Referencia rápida: comparación de FORTRAN y BASIC. (cont.) FORTRAN Variables numéricas representan cantidades que pueden cambiar de valor. Se usan para estas variables los nombres simbólicos, que deben empezar con una letra y no pueden contener símbolos especiales. Nombres de variables Nombres de variables consistende uno aseis caracteres, desde constan dedos caracteres (mós en algu- la A a la Z y del O a 9: nos dialectos) dela A a la Z y del O al 9: Variables enteras AA, X, N1 representanvaloresenteros y empiezanrepresentanvalores reales o enteros. con las letras I a la N: N,KOUNT, lNDl Variables reales representanvaloresreales y empiezan con las letras A a la H y O a la Z: X, COUNT, VEL1 Variables de caracteres o cadenas representan cadenas alfanuméricas y de caracteres. Se usan nombres simbólicos. .El tratamiento de las cadenas de caracteres varía considerablemente entre diferentes versiones Declaración CHARACTER Cadenas variables son de la forma:terminancon $. La longitud de la varia- CHARACTER * n vorl,vor2 ble es limitada. A$, N1$ donde n es la longitud específica dela cadena de caracteres seguidapor una lista de variables. Por ejemplo, CHARACTER * 4 NOMBRE1,NOMBRE2 Arreglos son variables con subíndiceque almacenan un conjunto de valores envectores de una dimensión y en matrices multidimensionales. El espacio de almacenamiento suficiente para un número dado de elementos se especifica mediante ~~ Declaración DlMENSldN Declaración DIM DIMENSION A(n),ISUM(n,,n2) DIM A(n), IS(nl,n2) Se permiten hastasietesubindices que La declaración DIM, en general se limita a deben ser enteros positivos. arreglos bidimensionales; las n pueden Los arreglos no dimensionados generan ser variables. un error. Los arreglosnodimensionados suponen un valor den = 10.
  42. 42. 34 M~TODOSNUMÉRICOS PARA INGENIEROS CUADRO 2.2. Referenciarápida:comparacióndeFORTRAN y BASIC. (cant.) FORTRAN BASIC La declaración DIG-ENSION se debe co- La declaración DIM se debe colocar antes locar antes de cualquier declaración de la primera línea dondelavariable ejecutable. dimensionada se va a usar. En caso de no ir, supone el valorn = 10. El redi- mensionamiento generaa unmensaje de error. Las variables definidas en la declaración DIMENSION (esto es,A o ISUM)tienen la misma regla de las variables numéri- cas "esto es, el arreglo A debe conte- ner valores reales, mientras que el arreglo ISUM debe contener valores enteros. ENTRADAlSALlDA qué medios se transmite información a y desde un programa), Declaraciones de formato especifican la longitud y la posición de cada uno de los datos, que se vana leer o a imprimir. Aunque en laentraday salida de da- Aunque existe Io declaración de formato tos existe formato libre, el FORTRAN para lectura o impresión de datos, las estándar, en general impone un for- versiones recientes de BASIC no lo em- mato de lectura o impresión. pleon. Entrada especifica los medios por los cuales se transmitendatos al programa Declaración READ permitenintroducirdatos alprograma durante su ejecución: READ f varl,vur2,. . . , vur, donde f esun código de formato que especifica el tipo, disposición y, en algu- nos casos, el dispositivo usado para leer los valores de var], var2, . . ., varn. Por ejemplo: READ (5,2)A,B donde el 2 es la etiqueta donde está la declaración FORMAT correspondiente y el 5 especifica que los datos se obten- drán de unalectora de tarjetas. Declaración DATA son declaraciones no ejecutables que defi- nen el valor inicial de una variable. Tienen laformageneral. Declaración INPUT Permitenintroducir datos at programa durante su ejecución: In INPUT varl,vur2,. . . , var, donde Ines el número de líneas donde está la declaración INPUT y var,, var2, . . ., var, son los nombres de las varia- blescuyosvalores se vanaleer. Por ejemplo: 10 INPUT A,B Cuando se ejecutaestainstrucciónse deben introducir los valores de A y B en undispositivo,tal como el teclado. DeclaracionesREDlDATA consiste de una declaración READ asocia- da a una declaración DATA que contie- ne los valores que se van a leer, como:
  43. 43. LA PROGRAMACldN EN LASCOMPUTADORASPERSONALES 35 CUADRQ 2.2 Referencia rápida: comparación de FORTRAN y BASIC.(cont.). FORTRAN BASIC DATA var,, , . .,var,,lvalor,, 10 READA,B,C,Z . . .,valor,,/ donde var es el nombre de la variable y valor es una constante. Por ejemplo: 90 DATA5,0.001,88,1 E-6 DATA A,B,C,Z/5.,0.001,88.,1.E-6/ Salida esel medio por el cual se transmiten datos del programa. DeclaraciónWRITE Declaración PRINT se usa comúnmente para imprimir datos. se usa comúnmente para imprimirdatos. Su formageneral es: Su formageneral es: WRITE fvarl, . . . , vur, In PRINT varl, . . . , var, Por ejemplo: WRITE (6,2)A,B Por ejemplo: 10PRINTA,B donde (6,2) es el código de formato, el Enel momento que esta declaración 2 es la etiqueta de la declaración FORMAT se ejecuta, los valores de A y B se impri- correspondiente y el 6 especifica que los men en un dispositivo tal como la panta- datos se imprimirán en una impresora. lla o unaimpresora. IcA1cu10s (Operaciones que usan expresiones matemáticas)1 Declaracionesde asignación se usan para asignar un valoraunavariable: XM=3.281 indica a la computrdora que asigne el valor 3.281 a lavariable XM; A=XM+5 indica a la computadora que sume 5 a XM y le asigne el resultado (en este caso, 8.281) alavariable A; A=A+40 indica alacomputadora que sume 40 a A y le asigne el resultado (en este caso, 48.281) ala variable A. El valor anterior de A se destruye enel proceso. Nóteseque,aunque A = A + 40 no es una expresión matemática válida, tiene un significado especial dentro de la computadora. AI signo de igual en la declaraciónde asignación se le puededar un significado de "se reemplaza por", como en: A se remplazapor A+40 + - Operadores aritméticos sonsímbolos usados para representar operaciones matemáticas: Suma Resta + - ...
  44. 44. 36 MÉTODOS NUMÉRICOS PARA INGENIEROS CUADRO 2.2 Referenciarápida:comparacióndeFORTRAN y BASIC. (cont.). FORTRAN BASIC * Multiplicación * i División i ** Exponenciación **, ?,A (El signode exponenciación dependedel tipo de BASIC) Si una expresiónaritméticatuvieratodos los operadores, el orden en que se efectuaríansería: primero, todas las exponenciaciones deizquierda a derecha en BASIC, Applesoft y Microsoft, y de derecha a izquierdaen FORTRAN; a continuacidntodaslasmultiplicacionesydivisiones de izquierda a derecha, y finalmentetodaslassumasyrestas de izquierda a derecha. Cuando una expresiónpresentaparéntesis, laformade efectuarlos es del másinterno al más externo. x = $0 + 3":- "y4 45 X=(((A+B)-R**3)/33-Y**4/45)**.5 X=(((A+B)-RA3)/33-YA4/45)A.5 CONTROL (Dirigen el flujo del programa mediante saltos, transferencias y reasignacianes) Dedaración GO TO especificaunsalto incondicional aun número de líneaespecífico: GO TO 200 .EQ. .NE. .IT. .LE. .GT. .GE. .AND. .OR. Operadores lógicos se usan para comparar los valores de , .Igual a diferente de menor que menor o igual que mayor que mayor o igual que lógica dosexpresiones: - < > < < = > > = - AND OR Declaración lógica If se utilizan para la toma de decisiones, de acuerdo al valor verdadero a falso que tenga una expresión lógica IF(N.GT.l .OR.N.LT.3)N=2 IF(N.GE.l) GOTO 10 IF(N>l)OR(N<3)THEN N=2 IF N>=l THEN 10 En los ejemplos anteriores, si la expresión lógica se cumple, seejecuta la transferencia o la asignación. En el primer ejemplo, si N es mayorque 1 a
  45. 45. LA PROGRAMACldNEN LAS COMPUTADORASPERSONALES 37 CUADRO 2.2 Referencia rápida: comparación de FORTRAN y BASIC. (cont.). FORTRAN BASIC menor que 3, entonces N se iguala a 2 y el control pasa a la siguiente línea. En el segundo, si N es mayor o igual a 1, el programo se transfiere a la línea 1O. En cualquier caso, si la expresión es falsa, no se ejecuto la transferencia o reasignación y el control se pasa a la siguiente línea. Ciclos permiten repetir cálculos con una cantidad mínima de declaraciones Ciclos con IF lógico repiten calculos que se controlan con base en la declaración IF: 1 0 X=Y(I)*Z(I-1) IF(X.LT.O)GO T O 50 GO TO 10 1=1+1 50 X=-X 10 X=Y(I)*Z(I-1) 20 IF X<O THEN 50 30 I=!+l 40 GO T O 10 50 X=-X Ciclos controlados por un indice Ciclos DO CiclosFORlNEXT DO In I=j,n,k FOR I = i T O n STEP k In C O N T I N U E In NEXT I donde In es el número de línea de la ú h a declaración del ciclo, ies el valor inicial del contador, n es el valor final o terminal y k es el incremento dado a la variable I para que.varíe desde j hasta n. Después de terminar el ciclo, valor de n + k siempre y cuando Isea múltiplo de n. SUBPROGRAMAS: FUNCIONES Y SUBRUTINAS (ejecutan una proposición o un conjunto de proposiciones que se repiten varias veces a lo largo de un programa) , I tiene el Funciones intrínsecas operaciones matemáticas o trigonométricas que se emplean comúnmente. ~~ ~ son funciones construidas internamente o funciones de biblioteca que realizan SIN Seno cos T A N Coseno ALOG o LOG Tangente Logaritmo natural o de base e ALOG o LOGIO EXP Logoritmo común o de base 10 Exponencial SQRT Raíz cuadrada ABS Valorabsoluto I N T El entero más grandeque Es menor o igu:?! a x SIN cos TAN L O G EXP SQR ABS INT
  46. 46. 38 METODOS NUMÉRICOS PARAINGENIEROS CUADRO 2.2 Referencia rápida: comparacióndeFORTRAN y BASIC.(cont.). FORTRAN SOL. donde x es el argumento de la función. Nótese que la listaanteriorno está completa.Dependiendode la versióndel compiladorpueden existirmás funcio- nes intrínsecas. Funciones definidas por el usuario son funcionesdefinidas por el programador. Declaración de funciones son de la forma: narnbre(xl, . . . ,xn) = f donde nombre es el nombre de la fun- ción (se puede dar cualquier nombre); x , , . . .,x,,son variablesnuméricas que no tienensubíndice y f es unaexpre- siónaritméticaquedependede x , ,. . .,x,,. Las declaraciones de funciones van antes de laprimera proposiciónde ejecutable. Se puedenpasar variosargumentosen unadeclaración de unafunción. Las otras variables dentrode lafunción tie- nen el mismo valor que en el programa principal en el punto donde se llama la función. TRIG(X,Y)=SIN(X)-LOG(Y) A=5 )'&&B=10 S=TRIG(A,B) Declaración DEF son de laformageneral: in DEF FNa(x) = f donde In es el número de línea, a es cualquier letra del alfabeto, x es una variable numérica (sinsubíndice) y f es una expresión aritmética que es función de x . La declaración DEF va antes de ejecutar dichafunción. Se puede pasar sólo argumentos en una declaración DEF. Lasotras variables dentro de la función tienen el mismo va- lor que enel programa principal enel punto donde se llamaa la función. 10 DEF FNT(X)=SIN(X)-LOG(B) r 70A=580 E= 10 990 S=FNT(AJ Subprogramas Function se parecen alas declaraciones de funcio- nes en la ejecución pero, como su nom- bre lo indica, son programas, esto es, consisten de varias líneas. Los subpro- gramas tipofunctionson de lo forma general: FUNCTION name(xl,. . . x2j nombre = f RETURN donde todos los valores que toma la funciónsonaquellos que se definen a1 llamaradicha Función.
  47. 47. LA PROGRAMACldN EN LAS COMPUTADORASPERSONALES 39 CUADRO 2.2 Referenciarápida:comparacióndeFORTRAN y BASIC. (cont.). FORTRAN BASIC A= 5 B=10 S=TRIG (A.B) FUNCTION TRIG(X,Y) RETURN TRIG=SIN(X)-LOG(Y) Nótese quelas constantes y las variables que no se pasan como argumentosde- ben definirse dentro dela función o pa- sarse por una declaración COMMON. Subrutinas son subprogramas que consisten de un conjunto de proposiciones que realizan una tarea en particular. Contienen una declaración RETURN que regresa al punto donde se llamó a la subrutina. Las subrutinas se llaman con una decla- ración CALL de la forma: Call nombre (arg,,org,,. . .,arg,) donde nombre es el nombre de la subru- tina y org,,. . ., org, son los n argu- mentos (variables o constantes) que se pasan a la subrutina. La subrutinava después del programa principal y empieza conuna declaración SUBROUTINE, de la forma: Las subrutinas se llaman con una decla- ración GOSUB de la forma: In, GOSUB Inn donde In, es el númerodelínea de la declaración GOSUBy In2 es el número de línea donde empieza la subrutina. La primera línea de la subrutina puedeir en cualquier lugar dentro del programa. donde nombredebe ser el mismo al Ila- mar dicha subrutina conla proposición CALL. Una vez dentro de la subrutina, las proposiciones se ejecutan ensecuencia hasta que se encuentra una declaración RETURN, después de lo cual regresa a la si- guiente línea de donde está la subrutina. Se pasana y desde la subrutinoúnica- Todos los valores se pasan a y desde la mentelos valoresqueaparecencomosubrutina. argumentos de la misma:
  48. 48. 40 MÉTODOS NUMÉRICOS PARA INGENIEROS CUADRO 2.2. Referenciarápida:comparacióndeFORTRAN y BASIC. (cont.) FORTRANBAS IC CALL SUM (X.Y,Z) - 200GOSUB 800 END 500 END SUBROUTINE SUM (A,B,C) 800Z=X+Y C=A+B 850 RETURN RETURN Nóteseque lasconstantes y las varia- bles que no se pasan comoargumentos se deben definir dentro dela subru- tina o pasarseconunadeclaración COMMON. DOCUMENTACI~N (le permiteincluirinformación para el usuario de los programas) las declaraciones de documentación son instruccionesnoejecutables. DeclaracióndecomentarioDeclaración REM Consistedelcarácter C o delsímbolo * enConsistede la declaración REM seguida C aquí se puede teclear cualquier 1 O REMaquí se puede teclearcualquier la columna 1 seguido por unmensaje: por unmensaje: mensaje. mensaje. 3. Cálculos. Las operaciones matemáticas son muy similares en ambos lenguajes. Aunquela nomenclatura es un poco diferente,las ecuacio- nes escritas en los dos lenguajes casi son idénticas. 4. Control. Estas declaracionesseusanpara dirigirla secuencia lógica de las instrucciones en el programa. Para los m6todos numéricos, es suficiente con tres tipos: la declaración GO TO, el IF lógico y los ci- clos. Aunque hay pequeñas diferencias en la nomenclatura de ambos lenguajes, las declaraciones son muy similares en operación. 5. Subprogramas. Como lo indica el nombre, sonminiprogramas dentro del programa principal. Se diseñan para ejecutar declaraciones que se repiten muchas veces a lo largo del programa. En vez de reescribir los miniprogramas muchas veces dentro del programa, se pueden es- cribir sólo una vez e invocarse con una declaración simplecuando sea necesario. Estos .subprogramas, que incluyen las subrutinas, funcio- nes definidas por el usuario y funciones predefinidas, son otro caso
  49. 49. 0 7 8 f q LA PROGRAMACIóN EN LASCOMPUTADORASPERSONALES donde FORTRAN y BASICdifieren significativamente. Lasdiferen- cias estriban en la manera en que se pasainformación entre el cuerpo principal del programa y los subprogramas. Como se muestra en el cuadro 2.2. los argumentos de los subprogramas FORTRAN actúan como ventanaspara controlar el paso de informacih.Este es un ejem- plo que muestra al FORTRAN como un lenguaje más complicado y. enconsecuencia.máspotenteque el BASIC. 6. Documentación. Estas declaraciones permiten incluir información en- focada al usuario dentro del programa. En resumen, el FORTRAN es un poco más flexible y más poderoso aunque también es más difícil de aprender que el BASIC. Sin embargo. ya que éste sedesarrolló originalmente como unaversión simplificada del FORTRAN. los dos lenguajes muestran varias similitudes. Aunque cada uno de ellos tiene sus reglas que deben respetarse en cuanto a estilo. su vocabulario y gramática son lo suficientemente similares como para per- mitir una traducción fácil de la mayor parte de los programas de un len- guaje a otro. Por10 tanto, en estelibro todo el código para computadora se presenta en formato doble como el de la figura 2.5.Aunque algunas veces signifique que se olvidarán características peculiares de uno u otro lenguaje, esto permitirá alcanzar un conocimiento de los dos lenguajes FORTRAN y BASIC. 2.2.3 Rastreo y prueba Después de escribir el código del programa. se debe probar para buscar los errores, a los que seles llamabugs. AI proceso de localizar y corregir los errores se les conocecomo rastreo. Pueden ocurrirvarios tipos de erro- res cuando se programa encualquier lenguaje. Los errores desintaxis violan las reglas del lenguaje como la ortografía. la formación de los números. los números delínea y otras reglas específicasa cadalenguaje. Estos errores a menudo resultan al teclear cosas raras. Por ejemplo. la declaración en BASIC 30A = 5/(0.2+ 4 * SIN (2* Y1 generaría un error de sintaxis inmediato porque los paréntesis no se en- cuentran por parejas. Los errores más difíciles de detectar están asociados con la lógica y con la construcción de los programas y pueden ocurrir sin interrupciones de sintaxis. Por lo tanto, se debe tener especial cuidado y asegurarse de que el programahace lo quese le pide. Porejemplo.supóngase que. se deseansumar los enterosentre 1 y 10 y luego dividirlos entre 10 (esdecir. calcular su promedio). Loscódigos en FORTRAN y BASIC de- ben ser
  50. 50. 42 MÉTODOS NUMÉRICOS PARA INGENIEROS FORTRAN s = o DO40 I = 1, 10 S = S + I 40 CONTINUE A = S/I WRITE (6, 1)A BASIC 1 o s = o 20 FOR I = 1 TO 10 3 O S = S + I 40 NEXT I 5C A = S/l 60PRINT A obteniendo como resultado A = 5.mientras que el resultado esperado era A = 5.5.Lasintaxis está perfecta. pero hay un error de lógica que la computadora jamás podrá detectar porque no hay forma deobservar- lo. Una manera de eliminar este tipo de error es la de imprimir durante el programa los valores de las variables que no se requieran en la forma final del programa. Por ejemplo. si se ha escrito WRITE f V O ~ I ,. . . , vorn in PRINT vorl, . . . , V O ~ , con los resultados A = 5 e I = 11,probablemente se notará que el error estriba en que el valor de I se incrementa al salir del ciclo. Los erroresdeeste tipo a menudoson muy dificiles de detectar en programas muy grandeso muy complejos. Porlo tanto, es una buena práctica verificar manualmente si es posible, los resultados dadospor ' el programa y probarlos en casos especiales. Estopuede hacerse con lápiz, papel y una calculadora. Los errores asociados con la lógica o con la fi- nalidad de un programa. no con la gramática, se les conoce como erro- res de semántica. Estos ocurren. por lo general durante la ejecución del programa y se les conoce también como erroresen el momento de /aco- rrida (run time errors). Es absolutamentenecesaria la técnica de impri- mir los valores de las variables intermedias para verificar la lógica de un programa y evitar errores de semántica en programas muy grandes. Elrastreo y la prueba de los programas sefacilita empleando un buen estilo de codificación,Esto puede implicar que el disefio de los programas consista de varias partes pequeñas. A este tipo de estilo de programa- ción se le conoce como programación modular. Cada parte esespecifica e identifica fácilmente lastareas a ejecutar. Las subrutinas son medios apro- piados para tal modularización. El programa principal (oel programa que las llama) puede, entoncesser simplemente un director que guía cada una de las partes en un esquema lógico. De esta manera. si los programas no funcionan perfectamente, se puede aislar y localizar el problema más rápidamente. Por ejemplo. se pueden escribir subrutinas para c,ada una de las siguientes tareas: 1. Leerdatos. 4. Ejecutar algoritmos numéricos. 2. Mostrar datos. 5. Mostrar los resultados enuna tabla. 3. Mostrarun carácter para 6. Mostrar los resultados enuna gráfica. información.
  51. 51. LA PROGRAMACIóN EN LAS COMPUTADORASPERSONALES 43- Cada unade estas subrutinas realiza una tarea limitada y aislada que se puede programary rastrear separadamente. Esto simplifica mucho eltra- bajo total. comparado con el rastreo de todo el programa simultáneamente. Después de probar los módulos, todo el programa se debe sujetar a una prueba total del sistema. Para un programa de métodos numéricos, se debe realizar una serie de cálculos y debe compararse con casos donde se conozcapreviamente lasolución exacta. Algunas veces sedispone de la soluciónanalítica lacual esaceptablepara estos propósitos.Talfue el caso delparacaidista (recuérdenselos ejemplos 1.1. y 1.2). En otros casos, el programadordeberealizarcálculosmanualesconunacalcula- dora de bolsillo para comprobar que el programa lleva a resultados con- fiables. En cualquier caso, elprograma se sujetará a unagranvariedad de pruebas para asegurarse de que funcionará confiablemente bajo todas las condicionesde operación posibles. Unicamente hastaentonces el pro- grama estará listo para ser usado en la solución de problemas de ingeniería. 2.2.4 Documentación Despuésde que el programa ha sido rastreadoy probado, se debe docu- mentar. La documentación es la inclusión de comentarios que le permi- ten al usuario implementar el programa más fácilmente. Recuérdese que junto con otras personas que pueden usar sus programas, el programa- dor mismo es un “usuario”. Aunque un programa parezca simpley claro cuando está reciénhecho y se guarda en la mente, después de pasar cierto tiempo el mismo códigopuede parecer inaccesible.Por lo tanto, sedebe incluir suficiente información para permitirlea los usuariosentendere im- plementarinmediatamentetalesprogramas. Esta tarea exhibeaspectosinternos y externos. La documentaciónin- terna consiste dealgún análisis o explicación que se inserta a lo largo del códigodelprogramaparaladescripción de cómo trabaja cada una de las secciones del mismo. Es importante en casos donde se va a modificar el programa. Esta documentaciónse debe incluir tan prontocomo se ter- mine una parte del programa, en lugar de hacerlo hasta el final, para evi- tar la pérdida del concepto en el diseño original que se tuvo en el desarrollo delprograma.Ladocumentacióninterna se mejoraconsiderablemente con el uso de nombres mnemónicos apropiados para las variables. Estos nombrespuedensermásdifícilesdecodificarquelosnombres peque- ños, pero la ventaja de sermásinformativos,porlogeneral hace que valga la pena el esfuerzo adicional.Utilizar nombres mnemónicosconve- nientes, incluyeen esencia eluso de nombres convencionales o est6n- dares o abreviaciones comunes paravariables. Ladocumentaciónexternaexplicalasinstrucciones como mensajes e información impresa suplementaria diseñada para auxiliaral usuario en la implementación de los programas. Los mensajes impresos se supone queayudan a que los resultadosesténbienpresentados y accesibles al usuario. Esto implica el uso correcto de espacios, líneas en blanco o ca-
  52. 52. 44 MÉTODOS NUMÉRICOS PARA INGENIEROS racteres especiales que ilustren la secuencia lógica y la estructura de los resultados de un programa. Los resultados bien presentados simplifican la detección de errores y aumentan la comprensión de los mismos. La información suplementaria puede variar desde una hoja hasta un manual para el usuario. La figura 2.7 muestra un ejemplo de una forma FIGURA 2.7 Formato simple de una página para la documentación de un programa. Esta página se debe guardar en una carpeta con un listado del programa.
  53. 53. LA PROGRAMACI~NEN LAS COMPUTADORASPERSONALES 45 de documentación simpleque se recomienda para preparar cada unode los programas a desarrollar. Estas formas se pueden mantener enun cua- derno denotas para tener unareferencia rápida parala biblioteca de pro- gramas. El manual del usuario para una computadora es un ejemplo de una documentación accesible.Este manual indica cómo correr el sistema y los programas de operación en disco de la computadora. 2.2.5 Almacenamiento y mantenimiento Los pasos finales en el desarrollo de un programa son el almacenamiento y mantenimiento del mismo. El mantenimiento involucra acondicionar el programa e incluso hacerle cambios que lo hagan accesible a problemas reales. Después de varias corridas, estos cambios pueden hacer al pro- grama más fácil de usar y más aplicable a mayor cantidad de problemas. El mantenimiento se facilita conuna buena documentación. El almacenamiento se refiere a la manera en que los programas se guardan para uso posterior. Antes del advenimiento de las computado- ras personales, no había formas simples de almacenar copias de trabajo de programas realizados.Loslistados de código, de hecho se guardaban, pero tenían que teclearse de nuevo para usos posteriores. Las cajasde tarjetas FIGURA 2.8 Disco flexible.
  54. 54. 46 MÉTODOS NUMERICOSPARAINGENIEROS - perforadas se podían guardar, pero paraun programa decualquier mag- nitud resultaban difíciles de manejar y susceptibles a deteriorarse. Como se menciona al principio de este capítulo, los dispositivos de almacenamientomagnéticohanmejoradosustancialmente la habilidad de retener programas. Un dispositivocomún de almacenamiento esel disco flexible. mostrado en la figura 2.8. Los discos flexibles son un medio ba- rato para almacenar programas y datos. Aunque los discos flexibles tie- nen una granutilidad. también tienen algunas desventajas. Por unaparte, su tiempo de acceso es muy lento; por otra, se deben manejary se deben guardar con mucho cuidado. Dado que pueden borrarse muy fácilmen- te, siempre se debe teneruna copia de cada uno de ellos. Además,cuando se termina un programa de computadora, se debe imprimir inmediata- mente y almacenarlo con la documentación correspondiente. Estas im- presiones pueden ser útiles en el caso no deseado, peroposible, de que el disco y su copia se destruyan. 2.3 DESARROLLODE UN PROGRAMA PARA EL PROBLEMADELPARACAIDISTA Ahora se usará el material de las secciones previas para escribir un pro- grama en BASIC y en FORTRAN para el problema del paracaidista. Es- tos programas son un ejemplo ideal porque contienen todoslos elementos -entrada-salida, ciclos, decisiones, cálculos y subprogramas- que con- forman al programa en el resto del capítulo. Recuérdese que el problema del paracaidistaes equivalente ala solu- ción de la ecuación (l.12): r -7 donde v es la velocidad en un tiempo posterior v(tJ es la velo- cidad en el tiempo actual ti, g es la aceleración de la gravedad (igual a) 980 cms/s2, c es el coeficiente de rozamiento, m es la masa del para- caidista y At = ti+l - ti. El término entre corchetes es el valor actual del promedio de cambio de velocidad respecto al tiempo [Ec. (1.8)].Si se conoce la velocidad inicial del paracaidista v (ti)la ecuación (2.1)se pue- de resolverrepetidamenteparavalores de v(ti+J, como se hizo en el ejemplo l.2. Con esta información como antecedente, ahorase puede desarrollar un algoritmo para el problema. En este punto, se podría desarrollar un algoritmo bien detallado. Sin embargo, con la práctica que se tiene, difí- cilmente se podría. En lugar de ello, se empezará con una versión gene- ral simple, agregándole detalles poco a poco en forma secuencia1 para expandir la definición. Entonces, cuando se haya obtenido una versión
  55. 55. LA PROGRAMACldN EN LAS COMPUTADORAS PERSONALES 47 FIGURA 2.9 Diagrama de fluio de un programa simple para el problema del paracaidista.
  56. 56. 48 MÉTODOS NUMÉRICOS PARA INGENIEROS final. se puede proceder a escribir el programa. En programación. este método de iniciar en general e ir avanzando hacia lo específico se le co- noce como esquema de análisis descendente. Entre otras cosas. es efi- ciente porque,engeneralesmuchomás fácil eliminar errores si los algoritmos y los programas se escriben en pasos simples y se van verifi- cando conforme se avanza. Un algoritmo muy simple para realizar los cálculos del ejemplo 1.2 puede escribirse con palabras de la siguiente manera: introducir los da- tos. calcular la velocidad, imprimir la respuesta y repetir hasta quese hayan calculado tantos valores como seanecesario. Este algoritmose puede expresar de manera más formal con un diagrama de flujo. La figura 2.9 muestra un procedimiento detalladode la implementación de los cálculos. El diagramade flujo consiste de tres conjuntos de declaraciones: 1. Introducir variables y constantes 2. Inicializar todas las variables 3. Hacer unciclo iterativo que calcule e imprimalas respuestas Con base al diagrama de flujo, se puedeescribir ahora un programa. Las versiones en FORTRAN y BASIC se muestran en la figura 2.10.NÓ- tese que para laversicin en BASIC, se usan incrementos de 10 para eti- quetar los números de línea. Esto se hace para prever la posibilidad de T0=0 v0=0 H=Z t4=t 0 C = t 2 5 0 0 I M1681 O 0 T=TO 'V=v o U R I T E < 6 , I > T , V FORMAT(2( ' ' , F 1 0 . 3 > ) I=O T=T+H W R I T E ( 6 , l ) T , V I = I + t I F ! I . L T . H jC O T O2 0 0 S T O P EtiC) 2 0O 'V=V+C 98 O-C*V,'l'l >*H FIGURA 2.1O Programas FORTRAN y BASIC para el problema del paracaidista. Estos programasduplican los cálculosmanuales del ejemplo 1.2. . ". .
  57. 57. LA PROGRAMAC16NEN LAS COMPUTADORASPERSONALES 49 insertar nuevas líneas de código en refinamiento subsecuentes del pro- grama. Aunque el ejercicio mencionado anteriormente ciertamentees un pro- grama válido para el problema del paracaidista, por ningún medio explo- ta todas las posibilidades de programación ni en FORTRAN ni en BASIC. Para demostrar como se pueden emplear líneas adicionales, para desa- rrollar una versión mejor, ahora se refinará el programa. Muchas de las modificaciones e insercionessiguientes representan una técnica de programación más eficiente y más sencilla de ejecutar.Sin embargo, cierto material se enfoca hacia propósitos didáctico5 para de- mostrar el uso de ciertasdeclaraciones. El siguiente análisis muestra directamente la versión en BASIC. Ya que losprogramas de la figura 2.11 están escritos en paralelo, es muy fácil extender el análisis a la versión FORTRAN. El programa dela figura 2.11 tiene nuevas características. Lasprinci- pales son: 1. 2. El programa calcula ahora la velocidadpara tres valores diferentes del coeficiente de rozamiento y de la masa. La habilidad de realizar cálculosrepetitivos es una delas ventajas de las computadoras. Dentro del diseño en ingeniería, a menudo esútil realizar una serie de cálcu- los varias veces con valores diferentesde los coeficientes para valorar la sensibilidad del modelo a estos cambios. Esto se hace en este caso, realizando los cálculosdel ejemplo 1.2con el coeficientede rozamiento variando 2 10%.De esta manera, los tres casos usados en el pro- grama son parael caso del coeficientede rozamiento original (12500 g/s), el coeficiente de rozamiento más el 10 por ciento (13750 g/s) y el coeficiente de rozamiento menos el 10 por ciento (11250 g/s). El cálculo repetitivo se lleva a cabo agregando un ciclo iterativo (lí- neas 3080 a la 3390).Cada vez que el programa pasa a través del ciclo, se usa un coeficiente de rozamiento diferente para calcular la velocidad. Nótese también que el coeficiente de rozamiento y la ma- sa se usan como variables con subindicesC(K) y M(K). Por lo tanto, se les asigna una dimensión en la línea 3040. El programa tiene ahora un esquema iterativomás preciso. Además de agregar el ciclomayor para los tres casos dec y de m (líneas3080 a la 3390),se han usado dos ciclos para calcular el valor actual de u. Se hace así porque pudiese ser que no se deseeimprimir una res- puesta después de cada paso. Esto seríaespecialmentecierto si se usara un paso muy pequeño, por ejemplo 0.01 S , para obtener resul- tados más exactos. Para calcular desde t = O hasta 20 S , se requeri- rían 20/0.01ó 2 O00 números. Ya que se requiereun valor para cada 2 S que esquemetice razonablementela caída del paracaidista, se han usado dos ciclos anidados de forma tal que el programa imprima re- sultados en tiempos intermedios.Un ciclo anidado es aquelciclo que

×