Actualizado el 19 de Mayo del 2019 (Publicado el 10 de Marzo del 2019)
7.601 visualizaciones desde el 10 de Marzo del 2019
511,5 KB
87 paginas
Creado hace 17a (01/08/2007)
JUAN MANUEL TORRES MORENO
Métodos numéricos
con software en C
COLECCION
LIBRO DE TEXTO
1993
La razón es el método lento y tortuoso mediante el cual
quien no conoce la verdad la descubre.
El corazón tiene sus propias razones que
la razón no comprende.
La raison est la méthode lente et tortueuse au moyen de
laquelle quelqu'un qui ne connaît pas la vérité la découvre.
Le cœur a ses raisones que
la raison ne comprend pas.
Blaise PASCAL
AGRADECIMIENTOS
Este libro hubiera sido imposible sin las colaboraciones siguientes: en primer lugar a mi 80386 DX que
permitió editar el texto durante meses y meses en noches incansables, así como a la LaserJet IIIp para el
impreso final. A las máquinas 80286 y 80386SX del Departamento de Sistemas. A la impresora HP-
LaserJet IIIsi donde pude imprimir diversas versiones. En fechas más recientes a la 80486 a 33 MHz,
que (haciéndola trabajar de 10 am a 8 pm, sábado y domingo) me permitió entregar la versión final del
documento. Igual reconocimiento a la rapidísima HP 80486 DX2 a 66MHz con la que he hecho una
verdadera amistad. WordPerfect 5.1© se merece un especial agradecimiento porque todo el texto (5
Mbytes) fueron procesados con él. La ayuda inapreciable de ARJ versión 2.21© de Robert K. Jung, que
me permitió compactar todo el material en 600 Kb para poderlo transportar en un solo disco de 3.5 plg.
A Laura Caballero Pascual-Leone por las pruebas y generación de varios ejemplos del
software. A Javier Ramírez Rodríguez, Ana Lilia Laureano y Diego Luna Gálvez por la revisión
cuidadosa del material. A mi mamá por el apoyo de tantos años.
TOPICOS Y OBJETIVOS
INDICE DE MATERIAS
El lenguaje C
UN LARGO RECORRIDO: DESDE ALGOL 60 A C++
TURBO C
C: LENGUAJE DE NIVEL INTERMEDIO
PREFACIO
PARTE I. HERRAMIENTAS DE PROGRAMACION:
1 PROGRAMACION EN C
1.1 ESQUELETO DE PROGRAMAS
1.2 TIPOS DE DATOS EN C
1.3 ENTRADA Y SALIDA
1.4 VARIABLES Y CONSTANTES
1.5 OPERADORES, CASTS Y TAQUIGRAFIA
1.6 FUNCIONES
1.7 LOGICA BASICA Y CONTROL DE PROGRAMA
1.8 RECURSIVIDAD
1.9 APUNTADORES
1.10 ARCHIVOS EN C
1.11 GRAFICAS EN C
METODOS NUMERICOS
ANALISIS NUMERICO VS. MATEMATICAS SIMBOLICAS
2.1 ERRORES NUMERICOS
2.2 EL NUMERO ALEPH
2.3 CONDICIONAMIENTO Y ESTABILIDAD
2.4 NUMEROS IRRACIONALES Y COMPUTADORAS
PARTE II.
2 NUMEROS, ERRORES Y COMPUTADORAS
3 RAICES DE ECUACIONES
3.1 INTRODUCCION
3.2 METODO DE BISECCION
3.3 METODO DE LA REGLA FALSA
3.4 ITERACION DE PUNTO FIJO
3.5 METODO DE NEWTON-RAPHSON
3.6 METODO DE LA SECANTE
3.7 GRAFICAS DE ECUACIONES
4 DERIVACION NUMERICA
4.1 INTRODUCCION
4.2 PRIMERA DERIVADA Y SERIES DE TAYLOR
4.3 SEGUNDAS DERIVADAS
5 INTEGRACION NUMERICA
6. SISTEMAS DE ECUACIONES LINEALES
5.1 INTRODUCCION
5.2 TECNICAS DE INTEGRACION
5.3 REGLA RECTANGULAR
5.4 REGLA DEL PUNTO MEDIO
5.5 REGLA TRAPEZOIDAL
5.6 REGLA DE SIMPSON
5.7 ALGORITMO DE ROMBERG
5.8 CUADRATURA DE GAUSS-LEGENDRE
5.9 INTEGRALES DISCRETAS
5.10 INTEGRALES SINGULARES
5.11 INTEGRALES MULTIPLES
6.1 INTRODUCCION
6.2 SISTEMAS DE ECUACIONES LINEALES
7.1 INTRODUCCION
7.2 TIPOS DE POLINOMIOS
7.3 INTERPOLACION DE LAGRANGE
7.4 MINIMOS CUADRADOS
7.5 CURVAS PARABOLICAS E HIPERBOLICAS
6.3 METODO DE GAUSS-JORDAN
6.4 INVERSION DE MATRICES
6.5 METODO DE MONTANTE
6.6 ITERACIONES DE JACOBI
6.7 ITERACIONES DE GAUSS-SEIDEL
6.8 METODO DE SOBRERRELAJACION SUCESIVA (SOR)
6.9 DISTRIBUCION DE LAS TEMPERATURAS EN EQUILIBRIO
7 INTERPOLACION Y APROXIMACION POLINOMIAL
8 ECUACIONES DIFERENCIALES ORDINARIAS
ANEXO A
ANEXO B SOFTWARE BASICO DE METODOS NUMERICOS
ANEXO C BIBLIOTECA DE METODOS NUMERICOS
ANEXO D EL METODO DE MONTANTE
ANEXO E LA ECUACION DE LAPLACE 393
8.1 INTRODUCCION
8.2 PROBLEMAS DE VALOR INICIAL
8.3 METODO DE EULER
8.4 METODOS DE RUNGE-KUTTA
8.5 METODO DE HEUN
8.6 METODOS DE RUNGE-KUTTA DE 4º ORDEN
8.7 METODOS DE RUNGE-KUTTA DE 5º ORDEN
8.8 METODO DE RUNGE-KUTTA-FEHLDBERG
8.9 METODOS MULTIPASO
8.10 SISTEMAS DE ECUACIONES Y ECUACIONES
DIFERENCIALES DE ORDEN SUPERIOR
PALABRAS RESERVADAS, TIPOS Y FUNCIONES
ESTANDAR DE C
FUNCIONES GRAFICAS
COMPILACION CONDICIONAL
LISTA DE PROGRAMAS
CAPITULO 1
Listado 1.0. Programa.c
Listado 1.1. Paralelo.c
Listado 1.2. Ecuacion.c
Listado 1.3. Estadist.c
Listado 1.4. Apuntar.c
Listado 1.5. Fun_graf.h
CAPITULO 2
Listado 2.1. Epsilon.c
Listado 2.2. Values.h
Listado 2.3. Math.h
CAPITULO 3
Listado 3.1. Bisecc.h
Listado 3.2. Falsa.h
Listado 3.3. N_raph_d.h
Listado 3.4. Secante.h
Listado 3.5. Raices.c
Listado 3.6. Busca_in.c
Listado 3.7. Grafica.c
CAPITULO 4
Listado 4.1. Derivada.h
Listado 4.2. Derivada.c
CAPITULO 5
Listado 5.1. Trapecio.h
Listado 5.2. Simpson.h
Listado 5.3. Gaussian.h
Listado 5.4. Discreta.h
Listado 5.5. Integral.c
Listado 5.6. Doble.h
Listado 5.7. Int_dobl.c
Listado 5.8. Triple.h
Listado 5.9. Int_trip.c
Listado 5.10. Mc_doble.c
Listado 5.11. Mc_tripl.c
CAPITULO 6
Listado 6.1. Gauss.h
Listado 6.2. Inv_gaus.h
Listado 6.3. Montante.h
Listado 6.4. Domina.h
Listado 6.5. Jacobi.h
Listado 6.6. Seidel.h
Listado 6.7. Sor.h
Listado 6.8. Sel.c
Listado 6.9. Laplace.h
Listado 6.10. Laplace.io
Listado 6.11. Laplace.c
CAPITULO 7
Listado 7.1. Lagrange.h
Listado 7.2. Lagrange.c
Listado 7.3. Minimos.h
Listado 7.4. Minimos.c
Listado 7.5. Parabol.h
Listado 7.6. Parabol.c
CAPITULO 8
Listado 8.1. Euler.h
Listado 8.2. Heun.h
Listado 8.3. Rk4.h
Listado 8.4. Rkf.h
Listado 8.5. Ec_dif.c
Listado 8.6. Rk4-2.h
Listado 8.7. Rk4-2.c
ANEXO B
Listado B.1. Arreglos.h
Listado B.2. Matriz.io
Listado B.3. Mensajes.h
Listado B.4. Errores.h
Listado B.5. Util.h
Listado B.6. Met_num.h
Listado B.7. Graficas.h
ANEXO C
Listado C.1. Matriz.h
Listado C.2. Matriz.c
Listado C.3. Funcion.h
Listado C.4. Funcion.c
Listado C.5. Complejo.h
Todos los programas del texto se han probado con el compilador Borland C/C++, bajo MS-
DOS en una computadora personal 80486 DX2 a 66 Mhz, con 4Mb de RAM.
MARCAS
REGISTRADAS
ARJ©
AT©
CATCH©
MS-DOS©
IBM©
IBM PC©
Paint Brush®
Turbo C©
UNIX©
WordPerfect©
Robert K. Jung.
International Business Machines Co.
Dexxa International Inc.
Microsoft Co.
International Business Machines Co.
International Business Machines Co.
Microsoft Co.
Borland International, Inc.
AT&T.
WordPerfect Co.
El manuscrito del texto fue transferido
en forma electrónica.
Texto, tipografía y ortografía producidos con Word Perfect 5.1
Imágenes rastreadas con un scanner Scanman Plus y producidas
con Paint Brush (Windows) y Draw Perfect.
Edición en NOYS (80386DX / 40 MHz), AT 286 y 386SX.
Impresión en una HP Laser-Jet III, en la UAM-Azcapotzalco
Departamento de Sistemas.
México, 1992.
1
PROGRAMACION EN C
ESQUELETO DE PROGRAMAS
TIPOS DE DATOS EN C
ENTRADA Y SALIDA
VARIABLES Y CONSTANTES
OPERADORES, CASTS Y TIPOGRAFIA
FUNCIONES
LOGICA BASICA Y CONTROL DE PROGRAMA
RECURSIVIDAD
APUNTADORES
ARCHIVOS EN C
GRAFICAS EN C
C es un lenguaje que deja al programador una gran libertad de acción dentro de los límites
impuestos por una sintaxis concisa y a la vez sencilla. Esta libertad permite crear software
poderoso, pero puede sin embargo ser fuente de errores inesperados para los programadores
novatos (o acostumbrados a lenguajes demasiado paternalistas) porque ignoran la filosofía de C,
de "el que manda es el programador".
En este primer capítulo se hace una recorrido del lenguaje para habituar al lector en la
sintaxis del mismo y presentarle de manera clara y con ejemplos las partes que pudieran
ocasionar ciertos problemas. Al terminarlo, usted tendrá una visión concreta de que cosas puede
o no puede hacer con C, y estará preparado a continuar después para programar algoritmos
numéricos en forma clara y eficiente.
PREFACIO
Se han escrito muchos libros sobre análisis y métodos numéricos; pero existen menos libros
sobre métodos numéricos usando software; y no he encontrado alguno que use al lenguaje C como base
para desarrollarlos. Y lo que es peor todavía: la mayor parte de la literatura es traducida de textos en
inglés, lo que ocasiona que no esté adecuada a nuestra realidad.
A veces el estudiante se confunde entre textos de Análisis Numérico y Métodos Numéricos. El
análisis numérico inventa algoritmos para resolver los problemas que no pueden ser resueltos en forma
analítica. También se encarga de calcular los errores asociados a los métodos. El análisis numérico se
conoce desde hace mucho tiempo, pero hasta la aparición de las computadoras digitales estuvo relegado
a pocos usos prácticos.
En realidad los métodos numéricos son la expresión formal del análisis numérico. Y est
Comentarios de: Métodos numéricos con software en C (0)
No hay comentarios