±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 2622  |  »Ø¸´: 10

Bai_xuan

Í­³æ (³õÈëÎÄ̳)

[ÇóÖú] matlabºÍfortranÓïÑÔ¼ÆËã½á¹û²î±ðºÜ´ó ÒÑÓÐ1È˲ÎÓë

ÇóÖúѽ¡«
ͬһ¸ö³ÌÐòͬһÌ×Êý¾ÝΪʲôÓÃfortranºÍÓÃmatlab¼ÆËãµÄ½á¹û²îºÜ¶à£¿
µÚÒ»´Î¼ÆËãµÄ½á¹û»ù±¾Ò»Ö£¬µ±µü´ú5000´ÎÒÔºó½á¹û¾¹È»²îÁ˽«½ü5±¶¡£
Õâ¸ÃÔõô°ìѽ£¿ÎªÊ²Ã´»áÕâÑù°¡¡£¡£¡£ÒªÏàÐÅÄÄÌ×½á¹û£¿

[ ·¢×ÔÊÖ»ú°æ http://muchong.com/3g ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ä±¾£

ľ³æ (ÕýʽдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
ÈκÎÓïÑÔ¶¼ÊÇͼÁéµÈ¼ÛµÄ£¬½á¹û²»Í¬¿Ï¶¨ÊÇ´úÂëµÄÎÊÌâ¡£
Äã¿´¿´Á½Ì×´úÂëËã·¨ÊÇ·ñÏàͬ£¬Êý¾Ý½á¹¹¡¢ÀàÐÍÊÇ·ñÒ²Ïàͬ£¿
¿ÉÒÔ°ÑÔ´´úÂëÌùÉÏÀ´Èôó¼Ò°ïÄã·ÖÎö·ÖÎö¡£
2Â¥2015-04-20 09:20:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Bai_xuan

Í­³æ (³õÈëÎÄ̳)

matlab³ÌÐòÈçÏÂ


function Lambda_1 = Wolf_lyap_timeseries(data,N,m,tau,DT,LMX,LMN,EVOLV)

global LE;
global ITS;

% ¸Ãº¯Êý¸ù¾ÝAlan Wolf 1985Äê·¢±íµÄÎÄÕÂÖи½Â¼B¸ø³öµÄfortran´úÂë½øÐз­Òë
% Determining lyapunov exponents from a time series,Physica 16D,1985
% data£ºËùÇóʵÑéϵͳµÄʱ¼äÐòÁÐ
% N£ºdataÊý¾ÝµÄ³¤¶È
% m£ºÏà¿Õ¼äÖØ¹¹Ê±µÄǶÈëάÊý
% tau£ºÏà¿Õ¼äÖØ¹¹Ê±µÄʱ¼äÑÓ³Ù(s)
% DT£ºÊý¾ÝµÄ²ÉÑù¼ä¸ô(s)
% EVOLV£ºÌæ»»²½Ö®¼äµÄÑÝ»¯Ê±¼ä(s)
% LE£ºÊ±¼äÐòÁеÄ×î´óLyapunovÖ¸Êý(bits/s)

Y = reconstitution(data,N,m,tau);               
IND = 1;                                       
SUM = 0.0;                                      
ITS = 0;                                       

N = N - m * tau - EVOLV;                        

% ѰÕÒ³õʼµãµÄ×î½üµã£¬²¢¼ÆËã×î¶Ì¾àÀëDI
DI = 1e+38;                                    
for i = 11 : N                                 
    D = 0.0;                                    
    for j = 1 : m
        D = D + (Y(j,IND)-Y(j,i))*(Y(j,IND)-Y(j,i));
    end
    D = sqrt(D);
    if D > DI || D < LMN                        
        continue;
    else
        DI = D;
        IND2 = i;                              
        continue;
    end
end   

% È·¶¨ÑÝ»¯ºóµÄ×ø±êµã
Lock = 1;                                       
while ( Lock )
    for j = 1 : m
        PT1(j) = Y(j,IND+EVOLV);               
        PT2(j) = Y(j,IND2+EVOLV);
    end

% ¼ÆËãÑÝ»¯ºóµÄ¾àÀëDF
    DF = 0.0;
    for j = 1 : m
        DF = DF + (PT1(j)-PT2(j))*(PT1(j)-PT2(j));
    end
    DF = sqrt(DF);
    ITS = ITS + 1;                              
    SUM = SUM + log(DF/DI)/(EVOLV*DT*log(2));   
    LE(ITS) = SUM/ITS;                           
     
    % ѰÕÒÌæ»»µã
    INDOLD = IND2;                              
   
    Lock1 = 1;
    ZMULT = 1.0;                                
    ANGLMX = 0.3;                              
    while ( Lock1 )                                   
        THMIN = 3.14;
        for i = 1 : N
            iii = abs(i-(IND+EVOLV));           
            if iii > 10   
                DNEW = 0.0;                        
                for j = 1 : m
                    DNEW = DNEW + (PT1(j)-Y(j,i))*(PT1(j)-Y(j,i));
                end
                DNEW = sqrt(DNEW);
        
                if DNEW < ZMULT*LMX && DNEW > LMN
                    DOT = 0.0;                     
                    for j = 1 : m
                        DOT = DOT + (PT1(j)-Y(j,i)*(PT1(j)-PT2(j)));
                    end
                    CTH = abs(DOT/DNEW*DF);         
                    if CTH > 1
                        CTH = 1;
                    end
                    TH = acos(CTH);
        
                    if TH < THMIN
                        THMIN = TH;                 
                        DII = DNEW;                 
                        IND2 = i;                  
                    end
                end
            end
        end
   
        if THMIN > ANGLMX                       
            ZMULT = ZMULT + 1;                  
            if ZMULT > 5                        
                ZMULT = 1.0;                  
                ANGLMX = ANGLMX*2;            
                if ANGLMX > 3.14               
                    IND2 = INDOLD + EVOLV;     
                    DII = DF;                  
                    Lock1 = 0;                  
                end
            end
        else
            Lock1 = 0;                          
        end
    end
   
    IND = IND + EVOLV;                          
    if IND >= N                                 
        Lambda_1 = LE(end);                     
        Lock = 0;                              
    else
        DI = DII;                              
    end
end
3Â¥2015-04-20 19:33:33
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Bai_xuan

Í­³æ (³õÈëÎÄ̳)

fortran³ÌÐòÈçÏ£º ÕâÊÇWolfÎÄÏ×Öеģ¬Ã»ÓнøÐÐÈκθı䡣


    PROGRAM FET1
    INTEGER DIM,TAU,EVOLV
    DIMENSION X(50000),PT1(30),PT2(30)
!
!   **DEFINE DELAY COORDINATES WITH A STATEMENT FUNCTION**
!   **Z(I,J)=JTH COMPONENT OF ITH RECONSTRUCTED ATTRACTOR POINT**
!
    Z(I,J) = X(I+(J-1)*TAU)
!
    OPEN (UNIT=1,FILE='a.txt',STATUS='OLD')
    OPEN (UNIT=20,FILE='result.txt',STATUS='OLD')
!
    TYPE*,'PLEASE INPUT NPT,DIM,TAU,DT,SCALMX,SCALMN,EVOLV'
    ACCEPT*,NPT,DIM,TAU,DT,SCALMX,SCALMN,EVOLV
!
!   **IND POINTS TO FIDUCIAL TRAJECTORY**
!   **IND2 POINTS TO SECOND TRAJECTORY**
!   **SUM HOLDS RUNNING EXPONENT ESTIMATE SANS 1/TIME**
!   **ITS IS TOTAL NUMBER OF PROPAGATION STEPS**
!
    IND = 1
    SUM = 0.0
    ITS = 0
!
!   **READ IN TIME SERIES**
!
    DO 10 I = 1,NPT
        READ (1,*) X(I)
10  CONTINUE
!
!   **CALCULATE USEFUL SIZE OF DATAFILE
!
    NPT = NPT - DIM*TAU - EVOLV
!
!   **FIND NEAREST NEIGHBOR TO FIRST DATA POINT**
!
    DI = 1.E38
!
!   **DONT TAKE POINT TOO CLOSE TO FIDUCIAL POINT**
!
    DO 30 I = 11,NPT
!
!   **COMPUTE SEPARATION BETWEEN FIDUCIAL POINT AND CANDIDATE**
!
        D = 0.0
        DO 20 J = 1,DIM
            D = D + (Z(IND,J)-Z(I,J))**2
20      CONTINUE
        D = SQRT(D)
!
!   **STORE THE BEST POINT SO FAR BUT NO CLOSER THAN NOISE SCALE**
!
        IF (D.GT.DI.OR.D.LT.SCALMN) GO TO 30
        DI = D
        IND2 = I
30  CONTINUE
!
!   **GET COORDINATES OF EVOLVED POINTS**
!
40  DO 50 J = 1,DIM
        PT1(J) = Z(IND+EVOLV,J)
        PT2(J) = Z(IND2+EVOLV,J)
50  CONTINUE
!
!   **COMPUTE FINAL SEPARTION BETWEEN PAIR,UPDATE EXPONENT**
!
    DF = 0.0
    DO 60 J = 1,DIM
        DF = DF+(PT1(J)-PT2(J))**2
60  CONTINUE
    DF = SQRT(DF)
    ITS = ITS + 1
    SUM = SUM + ALOG(DF/DI)/(FLOAT(EVOLV)*DT*ALOG(2.))
    ZLYAP = SUM/FLOAT(ITS)
    TYPE*,ZLYAP,EVOLV*ITS,DI,DF
    WRITE(20,*) ZLYAP
!
!   **LOOK FOR REPLACEMENT POINT**
!   **ZMULT IS MULTIPLIER OF SCALMX WHEN GO TO LONGER DISTANCES**
!
    INDOLD = IND2
    ZMULT = 1.0
    ANGLMX = 0.3
70  THMIN = 3.14
!
!   **SEARCH OVER ALL POINTS**
!
    DO 100 I = 1,NPT
!
!   **DONT TAKE POINTS TOO CLOSE IN TIME TO FIDUCIAL POINT**
!
        III = IABS(I-(IND+EVOLV))
        IF (III.LT.10) GO TO 100
!
!   **COMPUTE DISTANCE BETWEEN FIDUCIAL POINT AND CANDIDATE**
!
        DNEW = 0.0
        DO 80 J = 1,DIM
            DNEW = DNEW + (PT1(J)-Z(I,J))**2
80      CONTINUE
        DNEW = SQRT(DNEW)
!
!   **LOOK FURTHER AWAY THAN NOISE SCALE,CLOSER THAN ZMULT*SCALMX**
!
        IF (DNEW.GT.ZMULT*SCALMX.OR.DNEW.LT.SCALMN) GO TO 100
!
!   **FIND ANGULAR CHANGE OLD TO NEW VECTOR**
!
        DOT = 0.0
        DO 90 J = 1,DIM
            DOT = DOT + (PT1(J)-Z(I,J))*(PT1(J)-PT2(J))
90      CONTINUE
        CTH = ABS(DOT/(DNEW*DF))
        IF (CTH.GT.1.0) CTH = 1.0
        TH = ACOS(CTH)
!
!   **SAVE POINT WITH SMALLEST ANGULAR CHANGE SO FAR**
!
        IF (TH.GT.THMIN) GO TO 100
        THMIN = TH
        DII = DNEW
        IND2 = I
100 CONTINUE
    IF (THMIN.LT.ANGLMX) GO TO 110
!
!   **CANT FIND A REPLACEMENT - LOOK AT LONGER DISTANCES**
!
    ZMULT = ZMULT + 1.
    IF (ZMULT.LE.5.) GO TO 70
!
!   **NO REPLACEMENT AT 5*SCALE,DOUBLE SEARCH ANGLE,RESET DISTANCE**
!
    ZMULT = 1.0
    ANGLMX = 2.*ANGLMX
    IF (ANGLMX.LT.3.14) GO TO 70
    IND2 = INDOLD + EVOLV
    DII = DE
110 CONTINUE
    IND = IND + EVOLV
!
!   **LEAVE PROGRAM WHEN FIDUCIAL TRAJECTORY HITS END OF FILE**
!
    IF (IND.GE.NPT) GO TO 120
    DI = DII
    GO TO 40
120 CALL EXIT
    END
4Â¥2015-04-20 19:34:28
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Bai_xuan

Í­³æ (³õÈëÎÄ̳)

ÕâÕÅͼƬÊÇÏÔʾÁ˼ÆËãµÃµ½µÄLEËæµü´ú´ÎÊýµÄ±ä»¯¡£¡£¡£matlabºÍfortran»ù±¾±£³ÖÒ»Ö£¬ËùÒÔÓ¦¸Ã²»ÊdzÌÐòµÄÎÊÌâ°É¡£¡£¡£
matlabºÍfortranÓïÑÔ¼ÆËã½á¹û²î±ðºÜ´ó
matlabºÍfortran.png

5Â¥2015-04-20 19:39:44
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Bai_xuan

Í­³æ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by ä±¾£ at 2015-04-20 09:20:56
ÈκÎÓïÑÔ¶¼ÊÇͼÁéµÈ¼ÛµÄ£¬½á¹û²»Í¬¿Ï¶¨ÊÇ´úÂëµÄÎÊÌâ¡£
Äã¿´¿´Á½Ì×´úÂëËã·¨ÊÇ·ñÏàͬ£¬Êý¾Ý½á¹¹¡¢ÀàÐÍÊÇ·ñÒ²Ïàͬ£¿
¿ÉÒÔ°ÑÔ´´úÂëÌùÉÏÀ´Èôó¼Ò°ïÄã·ÖÎö·ÖÎö¡£

³ÌÐòÒÑ·¢£¬ÇóÖ¸µ¼¡£¡£¡£
6Â¥2015-04-20 19:40:10
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

1120110239

Òø³æ (СÓÐÃûÆø)

¿´ÁËһϣ¬¹ûÈ»²»»á~~~~~~
·Ü¶·£¡
7Â¥2015-04-20 19:50:29
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Bai_xuan

Í­³æ (³õÈëÎÄ̳)


֮ǰÄÇÕÅͼƬºÃÏñû·¢³É¹¦£¬ÖØ·¢Ò»ÕÅ
8Â¥2015-04-20 19:58:34
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Bai_xuan

Í­³æ (³õÈëÎÄ̳)

¶î£¬Í¼Æ¬ÉÏÖ»¼ÆËãÁË1000¸öÊý¾Ý£¬ËùÒÔÖ»µü´úÁË300¶à´Î¡£
9Â¥2015-04-20 20:01:50
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

thomas2011

Ìú¸Ëľ³æ (ÕýʽдÊÖ)

ÒýÓûØÌû:
5Â¥: Originally posted by Bai_xuan at 2015-04-20 19:39:44
ÕâÕÅͼƬÊÇÏÔʾÁ˼ÆËãµÃµ½µÄLEËæµü´ú´ÎÊýµÄ±ä»¯¡£¡£¡£matlabºÍfortran»ù±¾±£³ÖÒ»Ö£¬ËùÒÔÓ¦¸Ã²»ÊdzÌÐòµÄÎÊÌâ°É¡£¡£¡£

matlabºÍfortran.png
...

Â¥Ö÷ÎÊÌâ½â¾öÁËÂð£¿
ÎÒÒ²Óöµ½ÁËÀàËÆµÄÎÊÌ⣬Fortran½á¹ûÓëmatlabÏà²î½Ï´ó£¬¸Õ¿ªÊ¼»¹²î²»¶àÖØºÏ£¬ºóÀ´Ïà²îÔ½À´Ô½´ó¡£
¿ìÀÖѧϰ
10Â¥2015-11-05 10:38:36
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ Bai_xuan µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 274Çóµ÷¼Á +4 Ѧ¶¨Ú̵Ļ¢¡£ 2026-04-01 4/200 2026-04-01 22:56 by wxiongid
[¿¼ÑÐ] 301Çóµ÷¼Á +12 A_JiXing 2026-04-01 12/600 2026-04-01 22:47 by peike
[¿¼ÑÐ] 0856£¬269·ÖÇóµ÷¼Á +8 ÓÐѧÉϾÍÐÐÇóÇóÁ 2026-03-30 11/550 2026-04-01 22:33 by 2026²ÄÁϵ÷¼Á
[¿¼ÑÐ] 265Çóµ÷¼Á +4 ÁÖÉîÎÂÀ½ 2026-04-01 6/300 2026-04-01 22:30 by ÁÖÉîÎÂÀ½
[¿¼ÑÐ] »·¾³¹¤³Ì297·ÖÇóµ÷¼ÁÒ»Ö¾Ô¸º¼¸ßÔº +10 GENJIOW 2026-03-31 11/550 2026-04-01 21:38 by GENJIOW
[¿¼ÑÐ] 085600 Ò»Ö¾Ô¸9 ×Ü·Ö351 Çóµ÷¼ÁѧУ +7 czhcz 2026-03-31 9/450 2026-04-01 19:24 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 0710ÉúÎïѧÇóµ÷¼Á£¡ +6 ÐðÊöÎÄ 2026-03-31 6/300 2026-04-01 09:39 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á£¬Ò»Ö¾Ô¸±±ÁÖʳƷÓëÓªÑø095500£¬301·Ö£¬ÒѹýÁù¼¶£¬ÓпÆÑо­Àú +4 ¿ìÀÖ´¢Ðî¹Þ 2026-03-31 4/200 2026-04-01 09:26 by JourneyLucky
[¿¼ÑÐ] 329Çóµ÷¼Á£¬Ò»Ö¾Ô¸Î÷±±¹¤Òµ´óѧ£¬²ÄÁϹ¤³Ì£¨085601£© +6 СС»úÁ鳿 2026-03-29 12/600 2026-03-31 16:58 by ¼Çʱ¾2026
[¿¼ÑÐ] ±¾¿Æ211°²È«¹¤³Ì£¬³õÊÔ290·Ö£¬Çóµ÷¼Á +3 2719846834 2026-03-28 3/150 2026-03-31 13:52 by ÈÈÇéɳĮ
[¿¼ÑÐ] 085404 22408 315·Ö +5 zhuangyan123 2026-03-31 6/300 2026-03-31 13:48 by limeifeng
[¿¼ÑÐ] 0703»¯Ñ§ +20 ÄÝÄÝninicgb 2026-03-27 20/1000 2026-03-31 13:33 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 334Çóµ÷¼Á +7 Trying] 2026-03-31 7/350 2026-03-31 12:33 by Î޼ʵIJÝÔ­
[¿¼²©] ²ÄÁÏרҵÉ격 +5 ¶ÅÓêæÃdyt 2026-03-29 5/250 2026-03-31 11:19 by oooqiao
[¿¼ÑÐ] 08¹¤¿Æ£¬295£¬½ÓÊÜ¿çרҵµ÷¼Á +6 lmnlzy 2026-03-30 6/300 2026-03-31 10:04 by cal0306
[¿¼ÑÐ] Çóµ÷¼Á +7 Çà´º²ÃΪÈý½Ø 2026-03-29 7/350 2026-03-30 13:14 by laoshidan
[¿¼ÑÐ] 085602 »¯Ñ§¹¤³Ìר˶ 340·ÖÇóµ÷¼Á +4 qianbai11 2026-03-29 4/200 2026-03-30 11:34 by ÌÆãå¶ù
[¿¼ÑÐ] 291Çóµ÷¼Á +5 Y-cap 2026-03-29 6/300 2026-03-29 13:18 by mumin1990
[¿¼ÑÐ] 279Çóµ÷¼Á +4 µûÎèÇáÈÆ 2026-03-29 4/200 2026-03-29 09:45 by laoshidan
[¿¼ÑÐ] Çó·ð +7 ÃÔÈ˵Ĺþ¹þ 2026-03-28 7/350 2026-03-28 16:47 by ´ß»¯´ó°×
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û