Jak odtworzyć próbki w czasie

0

Witam, mam zgromadzoną pewną listę w postaci pary wartości oraz chwili w której wystąpił pomiar, występują one w różnych interwałach. Chciałbym teraz zgodnie z ich chwilą wystąpienia odtworzyć je w . czasie. Jak to zrobić, czy są jakieś mechanizmy w .NET służące do odtwarzania próbek w czasie.

0

Co znaczy odtwarzania próbek w czasie ?
Chcesz posortować słownik względem czasu?

0

chyba chodzi o interpolację wielomianową, dla której nie ma wsparcia w standardowej bibliotece, ale pewnie jakieś numeryczne biblioteki by się znalazły.

0

Mam posortowane te wartości względem czasu, chodzi mi tylko o wyświetlenie ty wartości w czasie w którym zostały zapisane. np w 1 i 3 i 4 sekundzie próbki zostały zarejestrowane, więc po przyciśnięciu w przycisk play właśnie po takim czasie próbki powinny się wyświetlić w labelce/labelkach.

0

Zapis pierwszego czasu do zmiennej timeStart.
Timeer co 1s.
W zdarzeniu tunera dodajesz ilość sekund jakie upłynęły ( trzeba zaliczać w zmiennej), dodajesz do pierwszego czasu i wyświetlacz pierwszą wartość, która ma czas mniejszy niż timeStart - ilooscsekund. Jesli nie pokreciles bo mnie łeb napierd...

0

Możesz to zrobić coś a'la:

        private void ChangeLabelText()
        {
            _dict = new Dictionary<double, string>
            {
                {1000, "test1"}, {4000, "test2"}, {6000, "test3"}, {10000, "test4"}
            };
            const double startTime = 1000;
            _stringTimer = new Timer {Interval = startTime};
            _stringTimer.Elapsed += OnLabelTextElapsed;
            _stringTimer.Start();
        }

        private void OnLabelTextElapsed(object sender, ElapsedEventArgs e)
        {
            if (sender is Timer s) s.Interval = _dict.ElementAt(_index).Key;
            label1.Text = _dict.ElementAt(_index).Value;
            ++_index;
        }
0

Pomysł dosyć dobry, ale będzie problem bo czas jest wyrażony w mikrosekundach i jest z dokładnością do 20 mikrosekund, a z tego co wyczytałem nie da się zejść z timerem poniżej 1 ms

0

No ale te wartości zmieniają się realnie co 20 mikrosekund? I chcesz zobaczyć taką zmianę białkowym okiem?
Win w ogóle nie przerysuje okna w 20 mikrosekund. Fizyka Panie.
Jakie jest realny czas zmian wartości?

Przeskaluj sobie te mikrosekundy do milisekund w Dictionary w przykładzie @jarzi. I Timer co, no nie wiem, 10 ms (i tak chyba będą problemy).

1

Powoli, powoli.

  1. Co zawierają te Twoje próbki?
  2. Co rozumiesz poprzez odtworzenie w czasie?
  3. Co chcesz osiągnąć?

Nie skupiaj się w ogóle na szczegółach implementacyjnych (w stylu timer nie może działać z prędkością 20 us) - opowiedz o o co chodzi z punktu widzenia biznesu.

0

Nie wiem dokładnie jaki ma być efekt końcowy, mam zrobić wedle własnego pomysłu więc mówię, jak zrobię całość zobaczymy jakie są uwagi od kierowników i ewentualnie wam powiem.

0

WTF? Nie wiesz jaki ma być efekt końcowy? To jakiś wyższy poziom agile-a czy praca w NSA? :)

0

mam zrobić wedle własnego pomysłu

Ale co masz zrobić według własnego pomysłu? Jaka jest idea całego projektu?

Nie odpowiedziałeś na ani jedno z trzech pytań - w jaki sposób mamy pomóc, skoro nie wiemy o co w tym wszystkim chodzi?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.