3. SESI ´ON TERCERA

Anuncio
Dpto. Quı́mica Fı́sica Aplicada, UAM
15
3. SESIÓN TERCERA
3.1.
Manejo de Vectores y Matrices
Tenemos una tabla como la que mostramos en la Fig. 13 con valores X e Y. Para manejar una serie de
datos en forma de vector o matriz en FORTRAN se definen variables dimensionadas. En el programa dim1.f
lo primero que hacemos es definir o asignar (instrucción DIMENSION) dos variables X y Y que tienen un
máximo de 10 elemento cada una.
Antes de usar este tipo de variable dimensionada, es necesario definirlas al comienzo del programa para reservar espacio en la memoria del ordenador. El programa
lee los valores de X y de Y y los guarda en los vectores
X(I) e Y(I) (instrucción READ). Después suma todos
los X y todos los Y. Le falta escribir los resultados.
C
C
C
C
DO I=1,N
READ * , X(I),
ENDDO
Y(I)
SX = 0.0
SY = 0.0
DO I=1,N
SX = SX + X(I)
SY = SY + Y(I)
ENDDO
EDITE, COMPILE Y EJECUTE el programa dim1.f. AÑADA las instrucciones necesarias para obtener la salida de resultados.
Estudie con detenimiento el programa, si
no entiende algo pregunte a su profesor.
3.2.
dim1.f
17 Oct 97
Autor: .....ps}}
Suma los valores
de X y de Y
=============================
DIMENSION
X(10), Y(10)
READ * , N
STOP
END
Ejercicio 2: Ajuste de una recta por mı́nimos cuadrados
Para ajustar una serie de puntos X e Y a una
recta (y=a+bx) por mı́nimos cuadrados utilizaremos las ecuaciones siguientes. Primero definimos
SX , SY , SXX y SXY como:
SX =
n
X
xi ;
SY =
i=1
SXX =
n
X
x2i
n
X
yi
i=1
;
SXY =
n
X
x i yi
i=1
i=1
Con estas definiciones, el corte en ordenadas
(a) y la pendiente (b) de la recta (y = a + bx)
vienen dados por:
a =
SY − b · S X
;
n
Figura 13: Tabla de datos X e Y, representación gráfica y recta
ajusta por mı́nimos cuadrados.
b =
SX · SY − n · SXY
SX · SX − n · SXX
La desviación cuadrática media del ajuste se define como:
sP
sP
n
n
∗ )2
2
(y
−
y
i=1 i
i
i=1 (yi − (a + bxi ))
σ =
=
n − 2
n − 2
σ =
r
n
X
SD2
(yi − (a + bxi ))2
; con SD2 =
n − 2
i=1
Introducción a la Programación
16
Figura 14: Un ajuste de mı́nimos cuadrados se basa en minimizar la suma del cuadrado de la diferencias entre los puntos
que usamos en el ajuste (yi ) y los puntos de la recta ajustada (y∗i ).
y las incertidumbres del corte en ordenadas (σ a ) y de la pendiente (σ b ) se estima como:
r
r
SXX
n
σa = σ
; σb = σ
n · SXX − SX · SX
n · SXX − SX · SX
El coeficiente de correlación se puede calcular con la expresión siguiente:
r = 2
(SX
−
SX · SY − n · SXY
n · SXX )·(SY2
− n · SY Y )
1/2 ;
SY Y =
n
X
yi2
i=1
[P] Utilizando las ecuaciones anteriores haga un programa que lea N puntos X e Y y ajuste una
recta por mı́nimos cuadrados.
En la Fig. 13 se dan los resultados para este ejemplo. Las incertidumbres de la pendiente y del
corte en ordenadas correspondientes a la última cifra significativa se dan entre paréntesis.
De modo similar se pueden definir matrices, por ejemplo con la instrucci ón
DIMENSION ARRAY(10,10), B(5,5,5)
definimos una matriz llamada ARRAY de 10x10 elementos y otra llamada B de 5x5x5 elementos, sin embargo,
esto, como otras muchas instrucciones de FORTRAN, se sale del lı́mite de esta introducción. Para su estudio le
remitimos a cualquier libro de FORTRAN.
3.3.
[P]
[P]
[P]
Problemas Adicionales (opcionales)
Edita y guarda los datos del ejercicio 2 en un fichero. Después ejecuta el programa del ejercicio 2 de
modo que utilice los datos del fichero.
Escribe un programa que ordene de mayor a menor 25 n úmeros. Lee los números de un fichero y almacénalos en un vector A. El programa debe imprimir los números ordenados del vector.
Escribe un programa que intercambie las filas 5 y 8 en una matriz de 10x10 leı́da de un fichero. Escribe
la matriz resultante. Haz lo mismo pero intercambiando las columnas 3 y 7.
Descargar