|
|
HILFE-Berechnung fraktale Dimension mit Higuchi Algorithmus |
|
rob |

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 27.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2010, 13:11
Titel: HILFE-Berechnung fraktale Dimension mit Higuchi Algorithmus
|
 |
|
 |
|
hallo!!!...hat jemand von euch schonmal eine fraktale DImension mit Higuchi Algorithmus beerechnet????...Kann mein Fehler einfach nicht finden!!!!...Das ist ein Teil meiner Bachelorarbeit und muss bald fertig werden!!!In anderen Matlab Foren kann habe ich den code gefunden, leider funktioniert dieser nicht so ohne weiteres ...
allg. sollen bei der Berechnung nur Wertze zwischen 1 und 2 rauskommen..
hier einmal mein code:
function [Df_matrix,laenge_Df,laenge_Audiosignal,mean_wert_Df]=higuchi(data,windowsize,kmax)
L=zeros(kmax);
N=windowsize; % die fraktale Dimension wird aus der Fensterlänge berechnet
Df_matrix=[]; % Vektor der fraktalen Dimension, ist am Anfang leer
for v=1:(length(data)-N+1) % Fensterverschiebung durch das Signal
ausschnitt=data(v:v+N-1); % Fensterausschnitt
for k=1:kmax,
for m=1:k
L(m,k)=0;
for i=1:fix((N-m)/k)
L(m,k)=L(m,k)+abs(ausschnitt(m+i*k)-ausschnitt(m+(i-1)*k))
end
L(m,k)=((N-1)/(fix((N-m)/k)*k))*L(m,k)/k;
end
end
for k=1:kmax
L_mean(k) = mean(L(1:k,k));
end
k=1:kmax;
X(k)=log(1./k);
Y=log(L_mean);
D=polyfit(X,Y,1);
% p = polyfit(x,y,n) finds the coefficients of a polynomial p(x) of degree
% n that fits the data, p(x(i)) to y(i), in a least squares sense.
%The result p is a row vector of length n+1 containing the polynomial
%coefficients in descending powers
Df=D(1);
Df_matrix=[Df_matrix Df];
end
hier der link zu dem Paper in dem der Algorithmus besshrieben wird:
http://www.sciencedirect.com/scienc.....mp;_udi=B6TVK-46J2R...c31
eine anderes Paper in dem es auch nocheinmal erklärt ist:
http://www.ncbi.nlm.nih.gov/pubmed/17908344?dopt=Citation
ich habe auch versucht den Algorithmus zu testen in dem ich eine Testfunktion-Weierstrassfunktion- ertsellt habe. leider hab ich auch dort probleme. Die Funktion sieht einfach anders aus als sie im Paper abgebildet ist!!!
code:
function [W, W_apu, W_0] = Wei()
%Weierstrass fractal trace
%FD should be 2-H.
clear all
clc
close all
H=0.5;
y=5;
for t=1:1000;
W_0(t)=(y^(0*H))*cos(2*pi*(y^(0))*t);
for i=1:26
W_apu(i,t)=(y^(i*H))*cos(2*pi*(y^i)*t);
end
W(t)=sum(W_apu(:,t))+W_0(t);
end
hier mal der Link in für das Paper in dem die Funktion beschrieben ist:
http://www.sciencedirect.com/scienc.....mp;_udi=B6TY8-4NSWY...1b7
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.07.2010, 14:18
Titel: Re: HILFE-Berechnung fraktale Dimension mit Higuchi Algorith
|
 |
Hallo Rob,
rob hat Folgendes geschrieben: |
Das ist ein Teil meiner Bachelorarbeit und muss bald fertig werden!!!In anderen Matlab Foren kann habe ich den code gefunden, leider funktioniert dieser nicht so ohne weiteres ... |
Wenn Du fremden Code postest, ist es gut den Autor und die zu erwähnen. Dann könnte ich mal nachschauen, ob es vielleicht Einschränkungen oder andere Hinweise in der Orginal-Quelle gibt.
Wenn das Programm nicht funktioniert, solltest Du dazu schreiben, was nicht läuft, ob es eine Fehlermeldung gibt, wenn ja, in welcher Zeile. Oder weichen die Ergebnisse von Deinen Erwartungen ab?
Am besten lassen sich immer konkrete Fragen beantworten.
Gruß, Jan
|
|
|
rob |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 27.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2010, 15:42
Titel:
|
 |
|
 |
|
hallo!!
also den code habich von "vo quang ha" aus: http://compgroups.net/comp.soft-sys.....using-Higuchi-s-algorithm
das orgionalpaper in dem das beschrieben wurde heißt:approach to am irregular time series on the basis of the fractale theory, in physika D vol.31: pp.277-283
oder es ist noch beschrieben in: from conforms to human brains: an informal overview of nonlinear dynamics and its application in biomedicine , Nonlinear Biomedical Physiks 2007 vol1: issue:5
------
Mein problem mit der weierstrassfunktion hab ich nun gelöst denke ich . hab eine ander funktiuon genommen und hab etwas vergessen ..
function [W, W_apu, W_0] = Wei()
%FD=1.5
clear all
clc
close all
a=0.5;
b=4;
Fs=1000;
x=0;
for t=-2:1/Fs:2;
x=x+1;
W_0(x)=(a^0)*cos((b^0)*pi*t);
for n=1:26
W_apu(n,x)=(a^n)*cos((b^n)*pi*t);
end
W(x)=sum(W_apu(:,x))+W_0(x);
end
plot(W);
end
????
------------
ich habe mir über diesen link wav-files herunter geladen
http://www.soft-ware.net/add.asp?ur.....-ware.net%2Fdownloads.asp
wenn ich nun mein programm mit mit der datei:animal01 , fensterlänge von 500 und kmax=3 oder höher teste, komm ich werte die zwischendrin höher als 2 sind????
es kommen keine fehlermeldungen...
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 27.07.2010, 17:44
Titel:
|
 |
Hallo Rob,
Danke für die sehr guten Quellen-Angaben.
Roger Stafford hat sich den code angeschaut und festgestellt, dass es sehr gut möglich ist Werte über 2 zu bekommen. Nun genießt Roger mein volles Vertrauen in wissenschaftlichen Fragen und wenn er schreibt:
Zitat: |
Having the fractal dimension lying within [1,2] is only a statistical claim and it is easy to defeat this with aberrant kinds of data irregularities. |
dann glaube ich ihm das.
Wieso meinst Du, dass der Wert unter 2 sein muss.
Gruß, Jan
|
|
|
rob |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 27.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2010, 18:54
Titel:
|
 |
meine werte Werte variieren bis zu 2,3 und ich denke, dass das zu viel ist. in den meisten publikationen wird gesagt das der werte der dimension nur zwischen 1 und 2 schwanken. hmmm.....
....ein weiteres problem besteht darin, dass ich bei anwendung der testfunktion, die in dem Higuchi paper von 1988 beschrieben ist, werte herausbekommen die um den wert 2 schwanken. dort wird aber gesagt das die dimension ebenfalls 1,5 ist!
Testfunktion Y(i):
Z(j) -->gaussches Rauschen mit dem mittelwert 0 und einer standardabweichung von 1
Y(i)=sum(Z(j),i=0,i=1000+j)
i=1,2,...,N
N=2^17
so hab ich die funktion ertstellt:
for i=1:2^17
Y(i)=sum(wgn(1000+i,1,0));
end
Grüße rob
|
|
|
rob |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 7
|
 |
|
 |
Anmeldedatum: 27.07.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.07.2010, 21:44
Titel:
|
 |
..hab ein fehler entdeckt:
Testfunktion Y(i):
Z(j) -->gaussches Rauschen mit dem mittelwert 0 und einer standardabweichung von 1
Y(i)=sum(Z(j),j=0,j=1000+i)
i=1,2,...,N
N=2^17 [/b]
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|