![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
W tabeli mam parametry z wartoscią liczbowa i timestamp co minutę.
Obecnie pobieram średnią z ostaniej godziny. Sprawdzam też jak długo wstecz średnia utrzymuje się w danym przedziale. Obecnie robie to w pętli php zmniejszając datę/czas początkowe o pięć minut i sprawdzam czy jeszcze średnia jest w danym przedziale. Czy można to samo zrealizować wyłącznie poprzez jedno zapytanie do mySQL? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.06.2017 Ostrzeżenie: (0%) ![]() ![]() |
To jest tak...
Jest część prezentująca stan obecny, to te wartości na 'kafelkach' i jest część odpowiedzialna za predykcje. To wlaśnie na potrzeby predykcji sprawdzam (teraz w petli) jak dlugo srednia utrzymuje sie w danym zakresie. Niby dużego opóźnienia ta pętla nie wprowadza, bo jeśli średnia za ostanią godzinę jest poniżej pewnej wartości (albo powyżej zera dla Bz które działa odwrotnie) to nic więcej się nie liczy i algorytm nie wchodzi w pętle. To działa, liczy, ale jak to bywa, z czasem szukamy bardziej eleganckich rozwiązań. x= 60min srednią liczy dz wartości miedzy (teraz - x) a teraz.. jeśli średnia wieksza niż wartość progowa, wchodzi w pętle.. petla tylko zwiększa x o 5min i wykonuje się póki średnia nie spadnie ponizej zadanej wartosci. x - 5min to czas używany do predykcji. Dla każdego parametru jest 5 przedzialów, z tym że jeden jest poniżej progu wejścia w pętle (zielony kafelek) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 16:16 |