Análisis Numérico para Ingeniería

73
Análisis Numérico para Ingeniería Clase Nro. 1

Transcript of Análisis Numérico para Ingeniería

Page 1: Análisis Numérico para Ingeniería

Análisis Numérico para Ingeniería

Clase Nro. 1

Page 2: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 2

Integrantes de la Cátedra

Francisco A. Lizarralde - Profesor Adjunto

Carla Mana - J.T.P.

Francisco Alvarez - J.T.P.

Ezequiel Ayarzábal - Ayte. Graduado

Lucas Sánchez Fellay - Ayte. Graduado

Belén Posadas - Ayte. Alumno

Ignacio Hegoburu - Ayte. Alumno

Page 3: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 3

Evaluación y Régimen de Promoción

Se tomarán 2 (dos) exámenes parciales.

Los exámenes parciales serán teórico-prácticos.

En la parte práctica se evaluará la habilidad para

resolver problemas concretos en computadora.

Se deberá presentar un Trabajo Final Integrador por

grupo de 3 integrantes.

El trabajo final, al igual que los parciales, sólo serán

válidos durante la correspondiente cursada.

Page 4: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 4

Por qué utilizar Software Libre ?

Nuestra cátedra se encuentra fuertemente comprometida con el proceso de utilización, difusión y distribución de Software Libre, sobre todo en lo referente a las herramientas necesarias para la resolución de problemas en sus clases prácticas.

Entre otras razones, porque tanto la copia como la distribución de Software Libre es totalmente legal.

Los productos del Software Libre, no pertenecen a una empresa en particular, sino a toda una comunidad de desarrolladores y usuarios, en la que todos podemos participar.

Page 5: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 5

Qué significa Software Libre ?

NOT

FREE AS IN

Un Software es Libre,si respeta las 4 Libertades

Page 6: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 6

Sistemas Operativos Libres

Existe una amplia variedad de Sistemas Operativos Libres

GNU/Linux. (Se denominan Distribuciones)

Si desean una instalación completa y sencilla, Ubuntu es una

excelente opción,

Si su computadora no es muy potente pueden optar por una

distribución más liviana como Ubuntu MATE.

Una vez instalado, le pueden cargar los programas que

usamos en la asignatura, Geany, GFortran, GnuPlot, etc.

Si no desean instalar nada, pueden usar la distribución SLAX.

Page 7: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 7

Sistema Operativo SLAX

SLAX es un Sistema Operativo Libre, derivado de Slackware.

Existen dos versiones, una Live-CD y otra USB, por lo que no requiere instalación.

Tenemos una versión adaptada con todos los programas necesarios para el estudio de nuestra asignatura.

Page 8: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 8

Software para la asignatura

GEANY * Entorno Integrado de Desarrollo

GFORTRAN * Lenguaje FORTRAN (95/08)

BLAS * y LAPACK * Librerías Especializadas

GNUPLOT * Gráficos y Visualización de Datos

(*) Software Libre.

Page 9: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 9

GEANY Integrated Development Environment

Page 10: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 10

GFORTRAN Compilador y Bibliotecas

BLASBasic Linear Algebra Subprograms

LAPACKLinear Algebra Package

GFORTRAN

GNU FORTRAN

Compilador FORTRAN

Bibliotecas de Funciones Especializadas

Page 11: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 11

GNUPLOT Visualización de Resultados

Page 12: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 12

Otras fuentes de información

En la página de la asignatura http://www3.fi.mdp.edu.ar/analisis

encontrarán enlaces con información sobre algunos temas,

bibliografía y novedades sobre fechas y horarios de consultas,

exámenes, etc.

Existe una lista de correo electrónico a la que pueden

suscribirse en http://www3.fi.mdp.edu.ar/analisis/lista/lista.htm

Todas las consultas sobre temas de la asignatura se realizarán

en esta lista, por lo que no se responderán por otro medio.

Existe una página de FAQs. (Preguntas muy frecuentes)

Page 13: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 13

Temas a tratar

Introducción al Análisis Numérico.

Errores Numéricos.

Representación de Números en Punto Flotante.

Errores en las Operaciones.

Introducción a FORTRAN.

Estructuras de Decisión y Repetición.

Page 14: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 14

Cuál es el objetivo del Análisis Numérico ?

El principal objeto de estudio del Análisis Numérico, consiste en el análisis del funcionamiento interno de los métodos numéricos, con el objetivo de saber elegir el más adecuado para resolver cada problema en particular, y así lograr una solución con la exactitud requerida.

Los métodos numéricos nos permiten abordar aquellos problemas que son extremadamente complicados, cuando no imposibles de resolver en forma analítica.

Page 15: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 15

Que se estudia en Análisis Numérico ?

En el Análisis Numérico es muy importante el estudio de los errores, ya sean estos, de modelado, de representación, ó inherentes a los métodos aplicados.

La elección del algoritmo y del modelo matemático tienen gran influencia en el proceso de cálculo y el modo en que debemos interpretar los resultados obtenidos.

Page 16: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 16

Qué es un Error de Modelado ?

Modelado de Elementos Finitos de los tanques de flotación

Plataforma petrolífera Sleipner A

Page 17: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 17

Qué es un Error de Modelado ?El 23 de agosto de 1991, la plataforma petrolífera Sleipner A propiedad de la empresa noruega Statoil, que se encontraba situada en el mar del Norte a 82 metros de profundidad, se hundió. La causa del error fue un modelado numérico de elementos finitos incorrecto de la plataforma. Esto produjo una fuga de agua en una de las paredes de uno de los 24 tanques de aire de 12 metros de diámetro que permitía la flotación de la plataforma de 57000 toneladas de peso, que además, soportaba a más de 200 personas y el equipamiento de extracción con un peso adicional de unas 40000 toneladas. Las bombas de extracción de agua no fueron capaces de evacuar toda el agua. La falla representó un costo total de 700 millones de euros.Para el modelado de los tanques de la plataforma se utilizó el programa de elementos finitos NASTRAN y una aproximación mediante un modelo elástico lineal. Esta aproximación no era correcta, lo que produjo una subestimación de un 47% de los esfuerzos que debían soportar las paredes de los tanques. Por esta razón, ciertas paredes fueron diseñadas con un grosor insuficiente. Un análisis posterior al accidente, utilizando un modelado numérico correcto, demostró que el diseño de la plataforma provocaría fugas en algunos de los tanques cuando ésta estuviese sobre agua, a 62 metros de profundidad.La fuga real se produjo cuando la plataforma estaba sobre agua, a 65 metros de profundidad, lo cual explica perfectamente la causa de la falla.

Page 18: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 18

Aplicación del Modelado NuméricoEl 12 de junio de 2000 se cerró el paso de personas por el famoso puente Millenium Bridge) en Londres, sólo dos días después de su inauguración. El Millenium Bridge es un puente de acero de 325 m. construido para permitir el paso de peatones sobre el río Támesis. La causa de la clausura: Una vibración lateral mucho mayor que la esperado debido a un fenómeno denominado excitación lateral síncrona.

Luego de realizar un modelado numérico y experimentar con diversos escenarios, se ensayaron diferentes soluciones hasta determinar la más adecuada para corregir el problema.

Page 19: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 19

Diferencia entre Precisión y Exactitud

PrecisiónUn valor es preciso cuando su dispersión con respecto a otros valores similares que representan dicho valor es baja.

ExactitudUn valor es exacto cuando su diferencia con el valor teórico es prácticamente nula.

Page 20: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 20

Diferencia entre Precisión y Exactitud

Preciso y Exacto Preciso pero no Exacto

Exacto pero no Preciso Ni Preciso ni Exacto

Page 21: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 21

Tipos de Error

Error de representación numérica.

Error de redondeo o truncamiento.

Error de formulación del Modelo Matemático.

Error inherente al algoritmo.

Error de las operaciones.

Page 22: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 22

Error Absoluto

Dado un número exacto x y un número aproximado X, el cual difiere ligeramente de x, llamamos error absoluto Δ(X) a:

X =∣x−X∣≤ X

Cota de Error AbsolutoCota de Error Absoluto

Page 23: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 23

Error Relativo

El error relativo de un número aproximado X, es la relación entre el error absoluto Δ(X) del número y el valor absoluto del número “exacto” x , para x ≠ 0.El error relativo permite independizar el error, de la magnitud de los valores.

δ(X )=∣x−X∣

∣x∣≤δX

Cota de Error RelativoCota de Error Relativo

Page 24: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 24

Truncamiento

Truncar un número decimal x en el dígito correspondiente a 10(-d) de su representación decimal consiste en reemplazar todos los dígitos a la derecha de ese dígito, por ceros.

π=3,14159265358979323846...

T7=3,1415926

Valor truncado en el 7mo. decimal

Page 25: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 25

Redondeo

Redondear un número x>0 en el dígito 10(-d) consiste en truncar el valor ( x + 0.5 10(-d) ).

Si x<0 al redondear quedará como -|x| redondeado.

=3,14159265358979323846...

R7=3,1415927

Valor redondeado en el 7mo. decimal

Page 26: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 26

Cifras Significativas

El dígito más significativo de un número real x no nulo, es el dígito no nulo más a la izquierda de su expansión decimal.

Todos los dígitos, incluyendo los ceros a la derecha del dígito más significativo, son significativos y el último desplegado se llama dígito menos significativo.

Los ceros a la izquierda del dígito más significativo, no son significativos.

Page 27: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 27

Ejemplo de Cifras Significativas

0,00724100

Cifras no significativas Cifras significativas

Dígito más significativo

Dígito menos significativo

Page 28: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 28

Dígitos Significativos Exactos

Definición: Si X es un valor aproximado de un valor exacto x, se dice que X aproxima a x hasta el k-ésimo dígito significativo, si:

También se dice que X posee k dígitos significativos exactos.

∣X−x∣ < 5⋅10−k⋅∣x∣

Page 29: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 29

Dígitos Significativos Exactos

La exactitud de los dígitos significativos puede expresarse en función de su error relativo.

δ(x) < 5⋅10−k

O escrito de otra forma:

∣X−x∣∣x∣

< 5⋅10−k

Page 30: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 30

Dígitos Significativos Exactos

Ejemplo: ¿Cuántos dígitos significativos exactos tiene el nro. aproximado 2.7183 con respecto al valor exacto 2.71828182845904 ?

δ(x) = 6,7536⋅10−6 < 5⋅10−5

Por lo tanto, podemos ver que :

δ(x)=∣2,71828182845904−2,7183∣

2,71828182845904=6,7536⋅10−6

Page 31: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 31

Error de Representación

No siempre es posible almacenar en una computadora los valores exactos.

La representación aproximada de los valores exactos se suele denominar números de máquina.

La diferencia entre el valor exacto y su representación se denomina error inherente a la representación, ó simplemente error de representación.

Page 32: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 32

Error de Representación

Representación de los Números Reales

0 +∞­∞

0

Máximo Positivo

MáximoNegativo

MínimoPositivo

MínimoNegativo

Representación Numérica en Computadora

ValoresRepresentados

Page 33: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 33

Error de Representación

Una variable de tipo REAL de 4 bytes (32 bits), posee los siguientes rangos:

Máximo Positivo: 3.4028235E+38Máximo Negativo: -3.4028235E+38

Mínimo Positivo: 1.1754944E-38Mínimo Negativo: -1.1754944E-38

Page 34: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 34

Representación Numérica

Los números reales se almacenan en la computadora en forma binaria, como números de punto flotante. ( Signo, Mantisa y Exponente )

Actualmente la mayoría de las computadoras representa los valores numéricos de acuerdo a la definición del IEEE-754 Floating Point Numbers Standard.

Un número real de simple precisión ocupa 32 bits, mientras que uno de doble precisión ocupa 64 bits de memoria.

Page 35: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 35

Números en Punto Flotante

Un número de máquina consta de 3 partes:

SIGNO

EXPONENTE

MANTISA

SIGNO EXPONENTE MANTISA

Page 36: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 36

Conversión de Decimal a Binario

Conversión de un número decimal con |x| > 1 al sistema binario. Ejemplo: x = 23

23 2 1 11 2 1 5 2 1 2 2 0 1

(10111)2 = 1x24 + 0x23 + 1x22 + 1x21 + 1x20 =

= 16 + 0 + 4 + 2 + 1 = (23)10

Page 37: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 37

Conversión de Decimal a Binario

Conversión de un número decimal con |x| < 1 al sistema binario. Ejemplo: x = 0.125

(0.001)2 = 0x2-1 + 0x2-2 + 1x2-3 =

= 0 + 0 + 0.125 = (0.125)10

0.125 x 20.25 x 20.5 x 21.0

Page 38: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 38

(0.1)10

= (0.000110011001100......)2

Número Binario Periódico

Conversión de Decimal a Binario

No siempre un nro. decimal exacto puede convertirse en un nro. binario exacto. Ejemplo: x = 0.1

0.1 x 20.2 x 20.4 x 20.8 X 21.6

0.6 x 21.2

0.2 x 20.4 x 20.8 x 21.6

Continúo con laparte fraccionaria

Continúo con laparte fraccionaria

Page 39: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 39

Error de Representación NuméricaEl 25 de febrero de 1991, durante la guerra del Golfo, una batería de misiles Patriot norteamericanos en Dharan (Arabia Saudita) no logró interceptar un misil Scud iraquí. Como consecuencia murieron 28 soldados norteamericanos. La causa: La acumulación de errores numéricos relacionados con la representación numérica del tiempo transcurrido.

Como la batería llevaba más de 100 horas en actividad, este error acumulado produjo una diferencia de 0.34seg, en la determinación del tiempo, lo que a la velocidad de 6000 km/h que viaja el misil representa una diferencia de medio kilómetro con respecto a la posición del objetivo.

Page 40: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 40

Representación Normalizada IEEE-754

Representación del valor 0.15625, según el IEEE-754 Floating Point Numbers Standard

SIGNO EXPONENTE MANTISA

(−1)SIGNO

∗(1.MANTISA)2∗2(EXPONENTE−127)

−10∗1.012∗2124−127

1∗1.2510∗2−3=

1.258

=0.15625

Page 41: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 41

SIGNO EXPONENTE MANTISA

−1SIGNO

∗1.MANTISA 2∗2EXPONENTE−127

−11∗1.1101101012∗2133−127

−1∗1.85351562510∗26=1.853515625∗64=−118,625

Representación del valor -118.625, según el IEEE-754 Floating Point Numbers Standard

Representación Normalizada IEEE-754

Page 42: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 42

Representación de ±∞ y NaN

Un valor ±∞ se representa con el máximo exponente y todos los bits de la mantisa iguales a cero.

Un valor NaN (Not a Number) se representa con el máximo exponente y al menos un bit de la mantisa distinto de cero.

Ciertas operaciones pueden producirresultados particulares:

Page 43: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 43

NaN - Not a Number

Operaciones en las que al menos un operando es un NaN.

Indeterminaciones

Operaciones con números reales que dan como resultado un valor complejo.

Existen tres casos de operaciones que generan NaN:

Page 44: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 44

NaN - Indeterminaciones

Las divisiones 0/0 y ±∞/±∞Las multiplicaciones 0×±∞ y ±∞×0Las sumas ∞ + (−∞), (−∞) + ∞ y las restas equivalentes.El standard, posee además funciones alternativas para el cálculo de potencias:La función pow standard y el exponente entero pown definen 00, 1∞, and ∞0 as 1.La función powr define a las tres formas indeterminadas anteriores como operaciones inválidas y por lo tanto retorna NaN.

Page 45: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 45

NaN - Operaciones con Reales

La raíz cuadrada de un número negativo.

El logaritmo de un número negativo.

La inversa del seno ó coseno de un número que es menor que −1 ó mayor que +1.

Operaciones con Reales que dan como resultado un valor complejo:

Page 46: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 46

Errores en Adiciones y Sustracciones

Para sumar (o restar) números en punto flotante, se igualan los exponentes, se suman (o restan) las mantisas, y finalmente, se normaliza el resultado (se representa nuevamente como número en punto flotante).

Si se suman dos números en punto flotante, cuyas magnitudes son muy diferentes, el menor de ellos, prácticamente no es tenido en cuenta.

Si se restan dos números en punto flotante, cuyas magnitudes son muy similares, la representación del resultado es prácticamente cero.

Page 47: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 47

Error en la Adición

Ejemplo:Sumar los números 17396 y 0,473 y expresar el resultado en el mismo formato. Para simplificar, utilizaremos un formato decimal, en punto flotante normalizado con mantisa de 5 dígitos.

fl(x+ y) = fl(x)+fl ( y)=

= 0.17396x105+ 0,00000473 x105=

= 0.17396x105

Adición Insignificante

Page 48: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 48

Error en la Sustracción

Ejemplo:Restar los números 32,17197 y 32,17110 y expresar el resultado en el mismo formato. Para simplificar, utilizaremos un formato decimal, en punto flotante normalizado con mantisa de 5 dígitos.

fl(x− y) = fl (x)−fl( y)=

= 0.32171x102− 0.32171x102= = 0.00000x102

= 0

Sustracción Catastrófica

Page 49: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 49

Errores en la Multiplicación y el Cociente

Para multiplicar (o dividir) números en punto flotante, se multiplican (o dividen) las mantisas, se suman (o restan )los exponentes, y finalmente, se normaliza el resultado (se representa nuevamente como número en punto flotante).

La multiplicación de un número por otro de gran magnitud produce una amplificación del error existente en el primero.

El cociente de un número por otro muy pequeño también produce una amplificación del error. En ambos casos el error de representación aumenta considerablemente.

Page 50: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 50

Consideraciones sobre las OperacionesCuando se realizan operaciones con números en punto flotante, es importante siempre tener en cuenta que:

fl(x) ≠ x fl(x+ y) ≠ x+ y fl (x− y) ≠ x− y fl(x∗y) ≠ x∗y fl(x / y) ≠ x / y

Page 51: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 51

Error producido al calcular una Función

Se dice que el cálculo del valor de una función f(x) está bien condicionado (o es numéricamente estable), si la exactitud hallada en el valor calculado f(x) es aproximadamente igual a la de x.

En caso contrario, se dice que el cálculo del valor de una función está mal condicionado, o bien que f(x) está mal condicionada.

Page 52: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 52

Nro. de Condición de una Función

∣δ f (X )∣≈C∗∣δ X∣

C=∣X∗f ' X ∣

∣f X ∣

Siendo el Número de Condición C:

El error relativo de una función es proporcional al error relativo de la variable:

Page 53: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 53

Condicionamiento de una Función

¿Qué variación porcentual en f(x) = ex resultará de un cambio del 1% en x ?

Para x = 0,1; x = 10 y x = -10

0,01x %

0,1 1,1051709 0,001 1,1062766 0,0010005 0,10%

10 22026,466 0,1 24343,009 0,1051709 10,52%

-10 4,54E-005 -0,1 4,11E-005 0,0951626 9,52%

x ex ex+0,01x δ(eX)

Page 54: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 54

Nro. de Condición de una Función

∣δ f (X )∣≈C⋅∣δ X∣=10⋅∣0.01∣=0.1≈10 %de X

C=∣X⋅f ' (X )∣

∣f (X )∣=

∣10⋅eX∣

∣eX∣

=10

Número de condición de ex (para x = 10):

Por lo tanto:

Page 55: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 55

Lenguaje FORTRAN

FORTRAN es un lenguaje de programación de alto nivel de propósito general, procedural e imperativo, que está especialmente adaptado para el cálculo numérico y la computación científica. Su nombre hace referencia al Mathematical Formula Translating System, desarrollado originalmente por IBM en 1957 para el equipo IBM 704. Siendo ampliamente utilizado desde entonces, en aplicaciones científicas y de Ingeniería.

Page 56: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 56

John Backus

John Backus (Filadelfia, 3 de diciembre de 1924 - Oregón, 17 de marzo de 2007) dirigió el proyecto de IBM que dió origen al Lenguaje FORTRAN.

En 1977 ganó el Turing Award por sus trabajos en sistemas de programación de alto nivel, en especial por su trabajo con FORTRAN.

Page 57: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 57

Por qué usar FORTRAN ?

A diferencia de una aplicación como MATLAB™, MATHCAD™, MATHEMATICA™, etc., un lenguaje de programación como FORTRAN no depende de un solo fabricante, sino que existen muchas versiones disponibles.

Posee una sintaxis muy similar a otros lenguajes conocidos como PASCAL o C, pero está especialmente diseñado para realizar cálculos numéricos intensivos con gran precisión.

Existe una amplia variedad de bibliotecas de funciones que resuelven diversas problemáticas de Ingeniería.

Está disponible en diversas plataformas (Sistemas Operativos), y se puede usar tanto en computadoras de escritorio como en Mainframes con procesamiento paralelo.

Page 58: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 58

Tipos de Datos en FORTRAN

INTEGER

REAL

COMPLEX

LOGICAL

CHARACTER

Page 59: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 59

INTEGER

El tipo de datos INTEGER se utiliza para almacenar valores enteros.

Su rango de valores posibles está determinado por la cantidad de bytes establecida.

Un INTEGER de 4 bytes (32 bits) puede almacenar valores dentro del rango de:

–2147483648 a 2147483647

Page 60: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 60

REAL

El tipo de datos REAL se utiliza para almacenar valores reales.

Un REAL de 4 bytes (32 bits) puede almacenar valores dentro del rango de:

1.1754944E–38 a 3.4028235E+38

-3.4028235E+38 a -1.1754944E–38

y de

Page 61: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 61

LOGICAL

El tipo de datos LOGICAL se utiliza para

almacenar valores lógicos.

Sólo pueden almacenarse dos posibles

valores, .TRUE. y .FALSE.

FORTRAN está preparado para realizar

operaciones lógicas con este tipo de datos,

utilizando operadores lógicos, .AND. , .OR. ,

.NOT., etc.

Page 62: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 62

COMPLEX

El tipo de datos COMPLEX se utiliza para

almacenar números complejos.

El mismo consiste en un par ordenado de

números reales.

FORTRAN está preparado para realizar

operaciones complejas con este tipo de

datos en forma totalmente transparente

para el programador.

Page 63: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 63

CHARACTER

El tipo de datos CHARACTER se utiliza por lo

general para almacenar letras ó palabras.

Si no se especifica el tamaño asume que se

trata de un sólo caracter.

Para almacenar palabras ó frases es necesario

especificar la cantidad de caracteres, para

reservar el espacio de memoria necesario.

Page 64: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 64

Los operadores intrínsecos se utilizan para operar sobre los tipos de datos intrínsecos.

ARITMETICOS:

RELACIONALES:

Operadores Intrínsecos

.EQ. .NE. .GT. .GE. .LT. .LE. == /= > >= < <=

SUMA RESTA PRODUCTO DIVISIÓN POTENCIA + - * / **

Page 65: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 65

Estructura de un programa FORTRAN

[ PROGRAM nombre del programa ]

[ sección de especificación]

[ sección ejecutable]

[ sección de sub-programas internos]

END [ PROGRAM [ nombre de programa ] ]

Page 66: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 67

IF

IF (a < b ) THEN aux = a a = b b = auxEND IF

Ejemplo:

Page 67: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 68

IF ELSE

Ejemplo:

IF (leftCornerX < 0) THEN leftCornerX = 0ELSE aux = leftCornerX leftCornerX = rightCornerX rightCornerX = auxEND IF

Page 68: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 69

IF ELSE IF

IF (kWatts < 50) THEN costo = 30ELSE IF (kWatts < 100) THEN costo = 20+ 0.5*kWattsELSE IF (kWatts < 150) THEN costo = 15+ 0.3*kWattsELSE IF (kWatts < 200) THEN costo = 5+ 0.2*kWattsELSE costo = 0.15*kWattsEND IF

Ejemplo:

Page 69: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 70

SELECT CASE

Ejemplo:SELECT CASE (kWatts) CASE (:49) costo = 30 CASE (50:99) costo = 20 + 0.5*kWatts CASE (100:149) costo = 15 + 0.3*kWatts CASE (150:199) costo = 5 + 0.2*kWatts ELSE costo = 0.15*kWattsEND SELECT

Page 70: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 71

DO

Ejemplo:DO fila=1, maxFilas, 2 DO col=1, maxCols, 3 matriz(fila, col) = fila+2*col END DOEND DO

Ejemplo:

Page 71: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 72

DO WHILE

Ejemplo:

DO WHILE (sigue /= 'n') WRITE (*, 'Desea continuar ?') READ(*,''), sigueEND DO

Ejemplo:

Page 72: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 73

CUESTIONES PARA INVESTIGAR...

¿Cuántos dígitos significativos exactos tiene el número aproximado 0.0027 con respecto al número exacto 0.00265 ?

¿ Cuál es el número más cercano a 1.0, que puede almacenarse en una variable REAL(8) ? ¿Por qué ?

¿ Qué significan estas sentencias en FORTRAN ? CEILING, CMPLX, CONJG, DBLE, DIGITS, EPSILON, FLOOR, HUGE, INT, PRECISION, REAL, SPACING, TINY.

¿ Por qué la representación de números en punto flotante normalizado es discreta ?

Page 73: Análisis Numérico para Ingeniería

Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 74

PREGUNTAS ...