Subir archivos a "/"
MatLab code to calculate the Hurst exponent from a picture
This commit is contained in:
parent
10310d6489
commit
0f396d2090
|
@ -0,0 +1,81 @@
|
|||
% Exponente de Hurst en anillos de Saturno
|
||||
% Programa para estudiar exponente de Hurst y dimensión fractal de la estructura de anillos
|
||||
|
||||
% Trabajo de Tesis - UNLP
|
||||
% Horacio Daniel Salomone
|
||||
|
||||
% Start
|
||||
|
||||
%Image reading
|
||||
AS1=imread('PIA22418.jpg');
|
||||
|
||||
%Correct to a circle
|
||||
image(AS1), axis image;
|
||||
|
||||
%Shows the figure
|
||||
subplot(2,2,1);
|
||||
imshow(AS1),title('Imágen Original-Cassini - Anillos de Saturno 5');
|
||||
|
||||
%Cuts the figure and shows the cut
|
||||
AS2=imcrop;
|
||||
subplot(2,2,2);
|
||||
imshow(AS2),title('Imagen Recortada-Anillos de Saturno 5');
|
||||
|
||||
%Loop to get the grayscale profiles
|
||||
|
||||
%image size AS2
|
||||
sz=size(AS2);
|
||||
n=sz(1,1);
|
||||
|
||||
%Intensity profile
|
||||
Perfil='Vectores Perfil Intensidad.txt';
|
||||
fid=fopen(Perfil,'a+');
|
||||
formatSpec='%9.5f\r\n';
|
||||
|
||||
%Int vectors
|
||||
for i=1:n
|
||||
Int=improfile(AS2,[1 1018],[1 (0+i)]);
|
||||
%Recorta ceros del vector Int
|
||||
Int(isnan(Int))=0;
|
||||
%Int(Int==0)=[];
|
||||
l=1;
|
||||
while Int(l)==0
|
||||
l=l+1;
|
||||
end
|
||||
L=length(Int);
|
||||
r=1;
|
||||
while Int(L-r)==0
|
||||
r=r+1;
|
||||
end
|
||||
Int(L-r+1:L)=[];
|
||||
Int(1:l)=[];
|
||||
end
|
||||
|
||||
%Hurst exponent calculation
|
||||
for i=1:120
|
||||
m=floor(L/(2*i));
|
||||
for j=1:i
|
||||
r=Int(1+(j-1)*m:j*m);
|
||||
M=mean(r);
|
||||
x=(r-M);
|
||||
V=cumsum(x);
|
||||
R(j)=max(V)-min(V);
|
||||
S(j)=std(r);
|
||||
end
|
||||
tau(i)=m;
|
||||
RS(i)=mean(R./S);
|
||||
end
|
||||
|
||||
%Linear regression to obtain Hurst
|
||||
subplot (2,2,3);
|
||||
plot(log10(tau),log10(RS),'+')
|
||||
xlabel('log(\tau)','FontSize',12)
|
||||
ylabel('log(R/S)','FontSize',12)
|
||||
hold on
|
||||
q=polyfit(log10(tau),log10(RS),1);
|
||||
t=0.5:0.1:3;
|
||||
y=q(1)*t+(q(2));
|
||||
plot(t,y,'r','LineWidth',2)
|
||||
%text(1,2,['y =' num2str(q(1)),' x ' num2str(q(2))],'FontSize',12)
|
||||
hold off
|
||||
|
Loading…
Reference in New Issue