Metodos Numericos Orientado en c++

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU

Views 106 Downloads 25 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

PROYECTO FINAL DE SEMESTRE

NOTA

MÉTODOS NUMÉRICOS – ETN-505 ETN ALUMNO: 1650435 QUIMBERT MONTES DIEGO ENRIQUE CATEDRÁTICO: LIC. VIRGINIA ZOTA UÑO PARALELO: ETN-505 505 “A”

4o SEMESTRE

INGENIERIA ELECTRÓNICA FECHA: JUNIO 2011 La Paz - Bolivia “Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los os que le esperan” HEBREOS 9:28 Página 1

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

INDICE 1. INTRODUCCION

4

2. OBJETIVOS

5

2.1. OBJETIVO GENERAL

5

2.2. OBJETIVOS ESPECIFICOS

5

3. MARCO TEORICO

6

4. METODOS NUMERICOS EN LA PLATAFORMA C++

7

4.1. EXPONENCIAL DE CUALQUIER NÚMERO

7

4.2. RAÍZ CUADRADA DE CUALQUIER NÚMERO

8

4.3. RAIZ N-ÉSIMA DE CUALQUIER NUMERO

9

4.4. RESOLUCION NUMERICA DE ECUACIONES NO LINEALES

10

4.4.1.

M. DE LA BISECCION “B. WEIRSTRASS”

10

4.4.2.

M. DE LA FALSA POSICION “REGULA FALSI”

12

4.4.3. M. DE LA FALSA POSICION MODIFICADA

14

4.4.4.

M. DE LA SECANTE

17

4.4.5.

M. DE NEWTON – RAPHSON

18

4.4.6.

M. DE LA SECANTE MODIFICADA

19

4.5. RESOLUCION NUMERICA DE SISTEMA DE ECUACIONES LINEALES 4.5.1.

M. ITERATIVO DE JACOBI

20

4.5.2.

M. ITERATIVO DE GAUSS – SEIDEL

22

4.5.3.

M. DE LA RELAJACION “M. SOUTHWELL”

24

4.6. DIFERENCIAS FINITAS 4.6.1.

DIFERENCIAS FINITAS DE AVANCE “DELTA”

4.7. INTERPOLACION PILINOMICA

26 26 27

4.7.1.

NEWTON – GRAGORY, HACIA ADELANTE

27

4.7.2.

NEWTON – GREGORY, HACIA ATRÁS

28

4.7.3.

POLINOMIO DE GAUSS DE AVANCE

29

4.7.4.

POLINOMIO DE GAUSS DE RETROCESO

31

4.7.5.

FORMULA DE STIRLING

33

4.7.6.

FORMULA DE BESSEL

38

“Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los que le esperan” HEBREOS 9:28 Página 2

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

4.8. DIFERENCIACION NUMERICA 4.8.1.

FORMULA DE NEWTON GREGORY DE AVANCE 4.8.1.

4.8.2.

DE PRIMER ORDEN

FORMULA DE STIRLING

4.9. INTEGRACION NUMERICA 4.9.1.

CASO CONTINUO

40 40 40 41 45 45

4.9.1.

SUMA DE RECTANGULOS

45

4.9.2.

SUMA DE TRAPECIOS

46

4.9.3.

METODO DE SIMPSON

47

4.9.2.

CASO DISCRETO: FORMULA DE NEWTON – COTES 4.9.2.1.

SIMPSON 1/3

48

4.9.2.2.

SIMPSON 3/8

49

4.9.3.

CUADRATURA GAUSSIANA

51

4.9.4

METODO DE ROMBERG

51

4.10. ECUACIONES DIFERENCIALES ORDINARIAS 4.10.1. METODO DE EULER

54 54

4.10.2. METODO DE EULER MEJORADO, METODO DE HEUN 4.10.3. METODO DE TAYLOR

55

56

4.10.4. METODO DE RUNGE – KUTTA DE SEGUNDO ORDEN

57

4.10.5. METODO DE RUNGE - KUTTA DE CUARTO ORDEN

58

4.10.6. METODO PREDICTOR CORRECTOR

59

5. CONCLUSIONES

60

6. ANEXOS

61

“Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los que le esperan” HEBREOS 9:28 Página 3

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

7. INTRODUCCION

A lo largo de la historia de la matemática, se han desarrollado maneras mas automáticas o programadas para realizar cálculos, todo esto empezó con la creación de calculadoras las cuales simplificaban mucho al momento de realizar operaciones aritméticas complicadas, la tecnología fue incrementando de manera exponencial a partir de ese instante, hasta que llegamos a la era de la computación, y este trabajo justamente esta enfocado a realizar programas de distintos métodos numéricos, orientado en la plataforma de Borland C, el presente documento no es apto para instruir en la matemática al lector, por eso es recomendable que se tengan conocimientos de CALCULO I, CALCULO II, ECUACIONES DIFERENCIALES, ALGEBRA LINEAL, como materias base para poder entender los distintos programas realizados. En el CD adjunto, se encuentran todos los “ejecutables”, de los programas aquí presentados. Se tocaran temas como: Las raíces de una ecuación en un intervalo dado, diferencias finitas de un conjunto de datos, diferenciación numérica, integración numérica, ecuaciones diferenciales ordinarias, sistema de ecuaciones diferenciales ordinarias, y en la parte de anexos algunos programas de uso muy útil como es el graficador de funciones en 2D, y programas realizados en MATLAB también muy útiles al momento de analizar un análisis matemático. Esperando que el documento sea de gran ayuda para muchos estudiantes de ingeniería en general interesados en la programación y en los métodos numéricos.

Gracias… Diego Enrique Quimbert Montes Universidad Mayor de San Andrés Bolivia - La Paz – 2011

“Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los que le esperan” HEBREOS 9:28 Página 4

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

8. OBJETIVOS

8.1. OBJETIVO GENERAL •

Poder desarrollar de manera clara y ordenada los programas de distintos métodos numéricos, orientado a la plataforma Borland C.

8.2. OBJETIVOS ESPECIFICOS •

Desarrollar las sintaxis de los distintos programas presentados en el CD.



Hacer un uso muy rico de las distintas librerías existentes en el Compilador

“Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los que le esperan” HEBREOS 9:28 Página 5

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

9. MARCO TEORICO 1

Esquema general de un computador Un ordenador es un sistema capaz de almacenar y procesar con gran rapidez una gran cantidad de información. Además, un ordenador tiene capacidad para comunicarse con el exterior, recibiendo datos, órdenes y programas como entrada (por medio del teclado, del ratón, de un disquete, etc.), y proporcionando resultados de distinto tipo como salida (en la pantalla, por la impresora, mediante un fichero en un disquete, etc.). Los computadores modernos tienen también una gran capacidad de conectarse en red para comunicarse entre sí, intercambiando mensajes y ficheros, o compartiendo recursos tales como tiempo de CPU, impresoras, lectores de CD-ROM, escáneres, etc. En la actualidad, estas redes de ordenadores tienen cobertura realmente mundial, y pasan por encima de fronteras, de continentes, e incluso de marcas y modelos de ordenador. Los computadores que se utilizan actualmente tienen la característica común de ser sistemas digitales. Quiere esto decir que lo que hacen básicamente es trabajar a gran velocidad con una gran cantidad de unos y ceros. La memoria de un computador contiene millones de minúsculos interruptores electrónicos (transistores) que pueden estar en posición on u off. Al no tener partes mecánicas móviles, son capaces de cambiar de estado muchos millones de veces por segundo. La tecnología moderna ha permitido miniaturizar estos sistemas y producirlos en grandes cantidades por un precio verdaderamente ridículo. Actualmente, los ordenadores están presentes en casi todas partes: cualquier automóvil y gran número de electrodomésticos incorporan uno o –probablemente– varios procesadores digitales. La diferencia principal entre estos sistemas y los computadores personales –PCs– que se utilizan en las prácticas de esta asignatura, está sobre todo en el carácter especializado o de propósito general que tienen, respectivamente, ambos tipos de ordenadores. El procesador que chequea el sistema eléctrico de un automóvil está diseñado para eso y probablemente no es capaz de hacer otra cosa; por eso no necesita de muchos elementos auxiliares. Por el contrario, un PC con una configuración estándar puede dedicarse a multitud de tareas, desde contabilidad doméstica o profesional, procesamiento de textos, dibujo artístico y técnico, cálculos científicos, etc., hasta juegos (¡desde luego no en esta asignatura, al menos por el momento...!).

1

“Aprenda lenguaje Ansi C como si estuviera en primero”

ESCUELA SUPERIOR DE INGENIEROS INDUSTRIALES. UNIVERSIDAD DE NAVARRA Jalon de la Fuente, Rodriguez Garrido, Goñi Lasheras, Brazáles Guerra, Fuentes Martines, Rodriguez Tamayo “Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los que le esperan” HEBREOS 9:28 Página 6

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

10. METODOS NUMERICOS EN LA PLATAFORMA C++ 10.1. EXPONENCIAL DE CUALQUIER NÚMERO #include #include #include

#define MAXIMO 15 #define ERROR 0.0005 double expon(float x); void main() { float x; clrscr(); printf("Ingrese x:"); scanf("%f",&x); printf("e a la x es:%13.5f\n",expon(x)); getch(); } double expon(float x) { double t=1,suma=1; double factor=1,num=1; int i=1; while((iERROR)) { factor*=i; num*=x; t=num/factor; suma+=t; i++; } return suma; }

“Así también Cristo fue ofrecido una sola vez para llevar los pecados de muchos; y aparecerá por segunda vez, sin relación con el pecado, para salvar a los que le esperan” HEBREOS 9:28 Página 7

FACULTAD DE INGENIERIA INGENIERIA ELECTRÓNICA U.M.S.A. LA PAZ – BOLIVIA

UNIVERSITARIO: QUIMBERT MONTES DIEGO ENRIQUE RU: 1650435 CI: 5919711 CBBA TÉCNICAS NUMÉRICAS, ORIENTADO A C++

10.2. RAÍZ CUADRADA DE CUALQUIER NÚMERO #include #include #include #define ERROR 0.0001 void main() { float N,x,x1=1; clrscr(); do { clrscr(); printf("Ingrese un numero...");scanf("%f",&N); if(N=0)); do { x=x1; x1=0.5*(x+N/x); }while(!(fabs(x-x1)