%--------------------------------------------------------------------------
% frac_d is a Toolbox developped by J.C. COMTE comtejc@gmail.com
% CNC UMR CNRS 5229.
% Last Release April. 2007
% This function allow you to calculate the Fractal
% dimension D of a curve defined by z.
%
% This work is protected by the CeCILL-C Licence (see below).
%
% z : represents the signal s(t) or s(x).
%
% N: Are the numbers of elements in the hyperspheres of radius r.
% r: Are the differents hyperspher radius allowing to calculate de
% fractal dimension.
%
% D: Is the fractal dimension.
% y: is the theoretical fit of the power law from which
% one calculate the fractal dimension D (slope).
%
%
%
% This software is governed by the [CeCILL|CeCILL-B|CeCILL-C] license under French law and
% abiding by the rules of distribution of free software. You can use,
% modify and/ or redistribute the software under the terms of the [CeCILL|CeCILL-B|CeCILL-C]
% license as circulated by CEA, CNRS and INRIA at the following URL
% "http://www.cecill.info".
%
% As a counterpart to the access to the source code and rights to copy,
% modify and redistribute granted by the license, users are provided only
% with a limited warranty and the software's author, the holder of the
% economic rights, and the successive licensors have only limited
% liability.
%
% In this respect, the user's attention is drawn to the risks associated
% with loading, using, modifying and/or developing or reproducing the
% software by the user in light of its specific status of free software,
% that may mean that it is complicated to manipulate, and that also
% therefore means that it is reserved for developers and experienced
% professionals having in-depth computer knowledge. Users are therefore
% encouraged to load and test the software's suitability as regards their
% requirements in conditions enabling the security of their systems and/or
% data to be ensured and, more generally, to use and operate it in the
% same conditions as regards security.
%
% The fact that you are presently reading this means that you have had
% knowledge of the [CeCILL|CeCILL-B|CeCILL-C] license and that you accept its terms.
%
%--------------------------------------------------------------------------
function [D, N, r, y]=frac_d(z)
z=z-mean(z);
M=abs(max(z));
m=abs(min(z));
M=max(M,m);
z=z/M;
[nl,nc]=size(z);
for k=1:10,
if k==1,
r(k)=5/nc;
else
r(k)=r(k-1)*2;
end;
N(k)=0;
for i=1:nc,
for j=1:nc,
dz=(z(i)-z(j));
dx=(j-i)/nc;
d=sqrt(dx*dx+dz*dz);
if (d