Forum » Programiranje » Pomoč pri izdelavi funkcije
Pomoč pri izdelavi funkcije
Highlag ::
S kontrolerjem izvajam meritve. Glede na izmerjene vrednosti pa bi rad ujel zadnjo veljavno meritev, ki bi jo prikazoval do naslednje veljavne meritve.
Recimo da so izmerjene vrednosti takšne:
Vrednost naraste iz ničle na neko vrednost, ki počasi pada, nato pa se zgodi oster padec. Čez čas vrednost ponovno naraste, ter počasi pada dokler ostro ne pade......
Torej izpis glede na zgoraj napisane dane podatke bi želel takšen:
Zadnja veljavna meritev je v prvem primeru 970, ker je naslednja več kot 1/2 manjša
Ko vrednost iz 50 skoči na 1000 je to nova veljavna meritev. Vrednost spet počasi pada do 960, ki je druga zadnja veljavna meritev.
Vrednosti, ki so prenizke je lahko poljubno veliko. V seznamu so samo 4.
Podatki se trenutno shranjujejo v array, ki je dolg trenutno 5 mest, ko se zadnje mesto zapolni se prepisuje od začetka.
Kakšna ideja kako pristopiti k problemu?
Recimo da so izmerjene vrednosti takšne:
0, 1000, 1000, 995, 994, 990, 980, 970, 200, 100, 50, 50, 1000, 1000, 995, 990, 980, 970, 960, 200, 100, 50, 50, 1000 ....
Vrednost naraste iz ničle na neko vrednost, ki počasi pada, nato pa se zgodi oster padec. Čez čas vrednost ponovno naraste, ter počasi pada dokler ostro ne pade......
Torej izpis glede na zgoraj napisane dane podatke bi želel takšen:
0, 1000, 1000, 995, 994, 990, 980, 970, 970, 970, 970, 970, 1000, 1000, 995, 990, 980, 970, 960, 960, 960, 960, 960, 1000
Zadnja veljavna meritev je v prvem primeru 970, ker je naslednja več kot 1/2 manjša
Ko vrednost iz 50 skoči na 1000 je to nova veljavna meritev. Vrednost spet počasi pada do 960, ki je druga zadnja veljavna meritev.
Vrednosti, ki so prenizke je lahko poljubno veliko. V seznamu so samo 4.
Podatki se trenutno shranjujejo v array, ki je dolg trenutno 5 mest, ko se zadnje mesto zapolni se prepisuje od začetka.
Kakšna ideja kako pristopiti k problemu?
Never trust a computer you can't throw out a window
Randomness ::
xs = [0, 1000, 1000, 995, 994, 990, 980, 970, 200, 100, 50, 50, 1000, 1000, 995, 990, 980, 970, 960, 200, 100, 50, 50, 1000] # filtriraj for i in range(1, len(xs)): k = xs[i] / (xs[i-1] + 0.0001) if k < 0.5: xs[i] = xs[i-1] for i in range(len(xs)): print(xs[i])
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kako do hitrega internetaOddelek: Omrežja in internet | 5755 (3880) | jb_j |
» | GTX770 vs GTX970 (strani: 1 2 )Oddelek: Strojna oprema | 4187 (2750) | abazuu |
» | Java - prve števke številaOddelek: Programiranje | 1427 (1153) | technolog |
» | Kruskalov algoritem težave pri implementacijiOddelek: Programiranje | 1602 (1376) | zacetnik11 |