Sziasztok,
Periodiszitast kell tesztelnem kulombozo fuggvenyeken. Irtam, egy megoldast (Python-ban) ami ugy nez ki mukodik:
""" Visulation """
import matplotlib.pyplot as plt
""" szamitas """
from numpy import median, mean, greater, less, array as narray, append as nappend
from scipy.signal import argrelextrema
f, sp = plt.subplots(2, sharex=True)
X = [ i for i in range(0,len(fuggveny))]
sp[0].plot( X, fuggveny, c='red' )
def periodic(threshold):
    """ fuggveny eltolasa es az eredetihez kepesti kulombbsegenek szamitasa """
    diff = []
    for i in range(0,len(threshold)):
        diff.append( sum(map(lambda x,y: abs(x-y), threshold,threshold[-i:] + threshold[0:-i])))
    """
    " A fuggveny szelsoertekeinek szamitasa
    """
    localmax = argrelextrema(narray(diff), greater)
    localmin = argrelextrema(narray(diff), less)
    if len(localmax) > len(localmin) :
        periodlen =  [  localmax[0][i+1]-localmax[0][i] for i in range(0,len(localmax[0])-1) ]
    else:
        periodlen =  [  localmin[0][i+1]-localmin[0][i] for i in range(0,len(localmin[0])-1) ]
    """
    " Eredmeny tesztelese:
    "     ha tobb mint 4 lehetseges periodosunk van
    "     elfogadjuk a periodicitast ha a fuggveny szelsoertekek kozotti tavolsag szimetrikusak
    """
    if len(periodlen) > 4 :
        medianp = median(periodlen)
        if ( mean(periodlen) > 0.95*medianp) and (mean(periodlen) < 1.05*medianp):
            print "There is periodicity!  Length of period: " + str(int(medianp))
            """ eredmeny abrazolasa """
            sp[1].plot( [ i for i in range(0,len(diff)) ], diff)
            return int(medianp)
        else:
            return periodic(diff)
    else:
        return 0
periodic(fuggveny)
plt.show()
A kovetkezo kerdeseim lennenek:
   * helyese-e?  Ugy ertem van-e olyan bemenet ami vegtelen ciklusba kuldi?
   * tudtok-e gyorsabb megoldast, az eddigi teszteken elegedet voltam az eredmennyel, de ugy erzem eleg eroforras igenyes, mivel n* kell eltolnunk minden egyes tesztelesnel, igy ha jol lattom n^2 matrix-al dolgozun.  Biztos, vagyok benne, hogy van valami gyorsabb algoritmus erre.  Statisztikai elemzeshez kell, muszaly rubusztnak lennie.
- 1253 megtekintés
 
Hozzászólások
[OFF]
Ez valami elméleti tantárgyhoz kell vagy a való életből szedett példa? Van olyan munkahely, ahol:
- magyarul beszélnek és/vagy engedik a hup.hu-t a proxiban
- periodicitást tesztelnek
- szebb megoldásért (mert érzi a kolléga hogy van szebb) a fórumhoz fordul
?
- A hozzászóláshoz be kell jelentkezni
 
A magyarul beszélnek rész nem biztos :)
- A hozzászóláshoz be kell jelentkezni
 
Gonosz, de nekem is ez volt az elso gondolatom. :^)
----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
--> YouTube csatornám
- A hozzászóláshoz be kell jelentkezni
 
"- magyarul beszélnek és/vagy engedik a hup.hu-t a proxiban"
Ezt nem is ertem. Szakmai portalt miert ne bongeszhetne az ember a cegnel?
- A hozzászóláshoz be kell jelentkezni
 
Rovid valasz:
  - van
  - nem magyarul beszelnek
- A hozzászóláshoz be kell jelentkezni
 
"- magyarul beszélnek és/vagy engedik a hup.hu-t a proxiban"
:D
----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"
--> YouTube csatornám
- A hozzászóláshoz be kell jelentkezni
 
Bazz, szétszedtetek... nem voltam elég precíz: "Van olyan magyar cég (vagy Magyarországhoz közeli = magyarul is tud), amelyikben periodicitást tesztelnek és szebb megoldást keres a fejlesztő" :)
- A hozzászóláshoz be kell jelentkezni
 
Keresztkorrelálod saját magával.
- A hozzászóláshoz be kell jelentkezni
 
Nekem ugy tunik ugyanezt csinalom. Mostmar legalabb tudom a nevet :-) ez sokat segit, hogy talaljak valami gyorsabb algoritmust. Koszi.
- A hozzászóláshoz be kell jelentkezni
 
Nem ezt hívják autokorrelációnak?
- A hozzászóláshoz be kell jelentkezni
 
Szerintem Jean-Baptiste Joseph Fourier a barátod.
Fuszenecker Róbert
- A hozzászóláshoz be kell jelentkezni