Professional Documents
Culture Documents
para Ingeniería
Clase Nro. 1
Integrantes de la Cátedra
Un Software es Libre,
si respeta las 4 Libertades
Compilador
FORTRAN
GFORTRAN
GNU FORTRAN
LAPACK
Bibliotecas de Linear Algebra Package
Funciones
Especializadas
BLAS
Basic Linear Algebra Subprograms
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 10
GNUPLOT Visualización de Resultados
Precisión
Un valor es preciso cuando su dispersión con
respecto a otros valores similares que
representan dicho valor es baja.
Exactitud
Un valor es exacto cuando su diferencia con el
valor teórico es prácticamente nula.
X =∣x− X∣≤ X
∣x− X∣
δ ( X )= ≤δ X
∣x∣
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 23
Truncamiento
π=3,14159265358979323846...
Valor truncado en el 7mo. decimal
T7 =3,1415926
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 24
Redondeo
=3,14159265358979323846...
Valor redondeado en el 7mo. decimal
R7 =3,1415927
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 25
Cifras Significativas
0,00724100
Cifras no significativas
Cifras significativas
−k
∣X− x∣ < 5⋅10 ⋅∣x∣
∣X− x∣ −k
< 5⋅10
∣x∣
−k
δ (x) < 5⋅10
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 29
Dígitos Significativos Exactos
Ejemplo: ¿Cuántos dígitos significativos exactos
tiene el nro. aproximado 2.7183 con respecto al
valor exacto 2.71828182845904 ?
∣2,71828182845904−2,7183∣ −6
δ (x)= =6,7536⋅10
2,71828182845904
∞ 0 +∞
SIGNO
EXPONENTE
MANTISA
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
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 = 0.125
0.125
x2
0.25
x2
0.5
x2
1.0
(0.001)2 = 0x2-1 + 0x2-2 + 1x2-3 =
= 0 + 0 + 0.125 = (0.125)10
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 37
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 Continúo con la
x2 Continúo con la
parte fraccionaria
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.
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 39
Representación Normalizada IEEE-754
Representación del valor 0.15625, según el IEEE-754 Floating Point Numbers Standard
SIGNO ( EXPONENTE−127)
(−1) ∗(1.MANTISA)2∗2
0 124−127
−1 ∗1.012∗2
−3 1.25
1∗1.2510∗2 = =0.15625
8
SIGNO EXPONENTE−127
−1 ∗1.MANTISA 2∗2
1 133−127
−1 ∗1.1101101012∗2
6
−1∗1.85351562510∗2 =1.853515625∗64=−118,625
Indeterminaciones
Sustracción Catastrófica
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 48
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).
fl ( x) ≠ x
fl ( x+ y) ≠ x+ y
fl ( x− y) ≠ x− y
fl ( x∗y) ≠ x∗ y
fl ( x / y) ≠ x / y
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 50
Error producido al calcular una Función
∣δ f ( X )∣≈C∗∣δ X∣
∣X∗f ' X ∣
C=
∣f X ∣
X
∣X⋅f ' ( X )∣ ∣10⋅e ∣
C= = X
=10
∣f ( X )∣ ∣e ∣
Por lo tanto:
∣δ f ( X )∣≈C⋅∣δ X∣=10⋅∣0.01∣=0.1≈10 % de X
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 54
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.
INTEGER
REAL
COMPLEX
LOGICAL
CHARACTER
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 58
INTEGER
El tipo de datos INTEGER se utiliza para
almacenar valores enteros.
–2147483648 a 2147483647
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 59
REAL
-3.4028235E+38 a -1.1754944E–38
y de
1.1754944E–38 a 3.4028235E+38
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 60
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.
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 61
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.
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 62
CHARACTER
El tipo de datos CHARACTER se utiliza por lo
general para almacenar letras ó palabras.
ARITMETICOS:
+ - * / **
SUMA RESTA PRODUCTO DIVISIÓN POTENCIA
RELACIONALES:
.EQ. .NE. .GT. .GE. .LT. .LE.
== /= > >= < <=
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 64
Estructura de un programa FORTRAN
IF (a < b ) THEN
aux = a
a=b
b = aux
END IF
Ejemplo:
Ejemplo:
IF (kWatts < 50) THEN
costo = 30
ELSE IF (kWatts < 100) THEN
costo = 20+ 0.5*kWatts
ELSE IF (kWatts < 150) THEN
costo = 15+ 0.3*kWatts
ELSE IF (kWatts < 200) THEN
costo = 5+ 0.2*kWatts
ELSE
costo = 0.15*kWatts
END IF
Ejemplo:
DO fila=1, maxFilas, 2
DO col=1, maxCols, 3
matriz(fila, col) = fila+2*col
END DO
END DO
Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2016 71
DO WHILE
Ejemplo:
Ejemplo: