| sinon, si c'est pour des time series...vous avez l'algoritme suivant de l' ami Yuri Logunov: function maximal_lyap_exp(x); % Usage: maximal_lyap_exp(x); % x - data structure with required fields: % .data - time series array (attractor). columns - observables, rows - % observations % .time - vector of observation times % Computed maximal Lyapunov exponent printed in GUI % % References: % Eckmann J.-P., Kamphorst S.O., Ruelle D., Gilberto D. Lyapunov % exponents from a time series - Phys. Rev. 1986. V. A34. P. 4971-4979. % % Wolf A., Swift J. B., Swinney H.L., Vastano J.A. Determining Lyapunov % exponents from a time series - Physica. 1985. V. D16. P. 285-317. % last modified 9.02.05 global mleContinue if isa(x,'struct039;) MAX=max(x.data); MIN=min(x.data); R=max(MAX-MIN); T0=(x.time(end)-x.time(1))/30; if var(diff(x.time))>1e-7 warning('Time samples should be equidistant'); end max_lyap_exp.x=x.data; max_lyap_exp.t=x.time; max_lyap_exp.fig=figure('numbertitle','off39;,'name','Maximal Lyapunov exponent'); uicontrol('parent',gcf,'units','normalized','position',[0.045 0.91 0.60 0.04],... 'style',039;text',';String',sprintf('Maximal distance along dimensions: %f',R),... 'horizontalal039;,'left';,'fontsize9;,9); uicontrol('parent',gcf,'units','normalized','position',[0.045 0.86 0.30 0.04],... 'style',039;text',';String','E_min: ',... 'horizontalal039;,'left';,'fontsize9;,9); uicontrol('parent',gcf,'units','normalized','position',[0.045 0.81 0.30 0.04],... 'style',039;text',';String','E_max: ',... 'horizontalal039;,'left';,'fontsize9;,9); uicontrol('parent',gcf,'units','normalized','position',[0.045 0.76 0.250 0.04],... 'style',039;text',';String','T_min: ',... 'horizontalal039;,'left';,'fontsize9;,9); max_lyap_exp.t0=uicontrol('parent039;,gcf,'units','normalized','position',[0.2 0.76 0.12 0.04],... 'style',039;edit',';String',sprintf('%f',T0),'horizontalal','left9;,'fontsize39;,9,'backgr039;,[1 1 1]); max_lyap_exp.E_max=uicontrol('parent',gcf,'units','normalized','position',[0.2 0.81 0.12 0.04],... 'style',039;edit',';String',sprintf('%f',R/10),'horizontalal','left039;,'fontsize',9,'backgr',[1 1 1]); max_lyap_exp.E_0=uicontrol('parent',gcf,'units','normalized','position',[0.2 0.86 0.12 0.04],... 'style',039;edit',';String',sprintf('%f',R/200),'horizontalal','left','fontsize',9,'backgr',[1 1 1]); max_lyap_exp.compute_button=uicontrol(039;parent',gcf,'units','normalized';,'position9;,[0.1 0.67 0.20 0.06],... 'style',039;push',';String','Compute','horizontalal','center',039;fontsize',10,'callback9;,'maximal_lyap_exp(''compute'')039;); max_lyap_exp.stop_button=uicontrol(';parent',gcf,039;units',9;normalized','position',[0.1 0.6 0.20 0.06],'visible','off';,... 'style',039;push',';String','Stop','horizontalal',9;center',';fontsize',10,'callback','global mleContinue; mleContinue=0;'); max_lyap_exp.axes=axes('parent';,gcf,'units39;,'normalized','position',[0.4 0.15 0.53 0.53],... 'fontsize',8,'visible9;,'off'); max_lyap_exp.text_exp=uicontrol('parent',gcf,';units','normalized',9;position',[0.5 0.86 0.45 0.05],... 'style',039;text',';String','','horizontalal','left','fontsize',10,'visible','off'); set(max_lyap_exp.fig,'userdata';,max_lyap_exp); else max_lyap_exp=get(gcf,'userdata';); X=max_lyap_exp.x; L=length(X(1,:)); T=max_lyap_exp.t; N=length(T); MAX=max(X); MIN=min(X); R=max(MAX-MIN); e_max=str2num(get(max_lyap_exp.E_max,39;string')); e_0=str2num(get(max_lyap_exp.E_0,'string')); T0=str2num(get(max_lyap_exp.t0,'string')); set(max_lyap_exp.stop_button,'visible','on39;,'enable9;,'on'); set(max_lyap_exp.axes,'visible';,'on',39;nextplot',039;add'); xlabel('samples'); ylabel('L_{+}039;); set(max_lyap_exp.compute_button |