Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Aspectos teóricos
Según Gallardo (2006) un semivariograma “es una función básica que
define la variabilidad espacial de cualquier propiedad o fenómeno de interés”. En
este sentido, a la representación gráfica de una curva que muestra la variación de
los puntos en función de una distancia h entre los mismos se le denomina
semivariograma experimental (figura 1). Para N muestras (x i), con espaciamiento
regular entre las mismas, la semivarianza se calcula a través de la siguiente
fórmula:
Ecuaciòn 2. Semivarianza
para el modelo esférico.
Ecuación 4.
Semivarianza para el modelo gaussiano.
Figura 4. Modelo gaussiano.
Por otra parte, el modelo lineal (figura 5) que indica que la variabilidad
espacial aumenta linealmente con la distancia. Es el tipo de modelo mas simple,
no presenta sill o meseta y la semivarianza para el mismo viene dada por:
Metodología
Donde:
mx=-|h|/a
Diagramas de flujo
-Diagrama de flujo 1: proceso para generar semivariogramas en dirección de las
filas, de las columnas y promedio de ambas para el archivo de datos.
-Diagrama de flujo 2: proceso para el ajuste de un modelo esférico al
semivariograma promedio generado.
-Diagrama de flujo 3: proceso para el ajuste de un modelo exponencial al
semivariograma promedio generado.
Códigos:
-Código 1: rutina para generar un mapa en colores del archivo de datos.
-Código 2: rutina para generar semivariogramas en dirección de filas, de las
columnas y promedio.
-Código 3: función svfit para ajustar un modelo esférico al semivariograma
promedio.
Comandos:
-Ones: ones (sz1,...,szN) crea un arreglo de unos, donde sz1 y szN indican las
dimensiones de dicho arreglo.
-Find: find(X) devuelve un vector que contiene los índices lineales de cada
elemento distinto de cero en el array X, es decir, busca índices y valores de
elementos no nulos.
Diagrama de flujo 1.
Diagrama de flujo 2.
Diagrama de flujo 3.
Código 1:
a=load('BROOKER.dat')
plot(a,'.')
v= size(a)
z= 31:1/0.8:60;
t= size(z)
u=10:-1/1.15:-10;
i=size(u)
[lon,lat]=meshgrid(z,u)
surf(lon,lat,a)
xlabel('longitud')
ylabel('latitud')
zlabel('variable z')
shading interp
colorbar
Código 2:
x=load('BROOKER.DAT'); %Carga de datos BROOKER.dat
[m,n]=size(x); % Tamaño de la matriz mxn
%Semivarianza para las filas de la matriz
for h=1:(m-1);for j=1:m;;for i=1:(m-h);
restar(i,h)=((x(i,j)-x(i+h,j))); %Resta de un elemento con el siguiente según h
cuadrados(i,h)=restar(i,h).^2; %Calculo del cuadrado de la diferencia para cada h
s(h)=sum(cuadrados(:,h)); %Suma de valores para cada h
g(h)=(1/(2*(n-h)))*s(h); %Calculo de la semivarianza para cada fila
filas(j, h)=g(h);%Valores de semivarianza para cada fila
end;end;end
gx=sum(filas)/m; %Calculo semivarianza promedio en dirección x
gxx=[0 gx];
hh=0:h;
figure(1)
plot(hh,gxx,'o-')%Grafica semivarianza promedio en dirección x
hold on
title('Semivariograma en direccion X') %Titulo del grafico
%Nombres de los ejes
ylabel('Semivarianza')
xlabel('h')
hold off
%Semivarianza para las columnas de la matriz
for h=1:(n-1);for i=1:n; for j=1:(n-h);
resta(j,h)=((x(i,j)-x(i,j+h))); %Resta de un elemento con el siguiente según h
cuadrado(j,h)=resta(j,h).^2; %Calculo del cuadrado de la diferencia
s(h)=sum(cuadrado(:,h)); %Suma de los valores para cada h
g(h)=(1/(2*(m-h)))*s(h); %Calculo de la semivarianza para cada columna
columnas(i, h)=g(h);%Valores de semivarianza para cada fila
end;end;end
gy=sum(columnas)/m; %Calculo semivarianza promedio en dirección y
gyy=[0 gy];
figure(2)
plot(hh,gyy,'o-');%Grafica semivarianza promedio en dirección y
hold on
title('Semivariograma en direccion Y') %Titulo del grafico
%Nombres de los ejes
ylabel('Semivarianza')
xlabel('h')
hold off
%Calculo semivarianza promedio
gpromedio=(gx+gy)/2;
gpp=[0 gpromedio];
figure(3)
plot(hh,gpp,'o-'); %Grafica semivarianza promedio
hold on
ylabel('Semivarianza')
xlabel('h')
title('Semivariograma promedio')
hold off
figure(4)
plot(hh,gxx,'bo-')%Grafica semivarianza promedio en dirección x
hold on
plot(hh,gyy,'go-');%Grafica semivarianza promedio en dirección y
plot(hh,gpp,'co-'); %Grafica semivarianza promedio
title('Semivariograma') %Titulo del grafico
%Nombres de los ejes
ylabel('Semivarianza')
xlabel('h')
title('Semivariograma')
%Leyenda del grafico
legend('Semivarianza en x','Semivarianza en y','Semivarianza
promedio','Location','southwest')
hold off
svfit1(gpromedio,3)
- Código 3:
-Gráficos
Gráfico 1. Mapa en
Gráfico 2. Mapa en
colores en planta archivo de datos BROOKER.DAT.
Gráfico 3.
Gráfico 4.
Semivariograma promedio en dirección Y.
Gráfico 5.
Semivariograma promedio.
Gráfico 6.
Gráfico 7. Ajuste
Gráfico 8. Ajuste
modelo esférico al semivariograma promedio con rango a=4.
Gráfico 9. Ajuste
Bibliografía
-Bała, M., Cichy, A., & Wasilewska-Błaszczyk, M. (2019). Attempts to calculate the
pseudo-anisotropy of elastic parameters of shales gas formations based on well
logging data and their geostatistical analysis. Geology, Geophysics &
Environment, 45(1), 5-20. https://doi.org/10.7494/geol.2019.45.1.5
-Giménez Palomares, F., Cuador Gil, J. Q., & Monsoriu Serra, J. A. (2014). Un
laboratorio virtual para la enseñanza del Krigeado. Modelling in Science Education
and Learning, 7(0), 73. https://doi.org/10.4995/msel.2014.2120