Dopiero zaczynam przygodę z labview i na początek mam takie dwa problemy.
1.Jak zrobić komparator który porównuje dwie ostatnie liczby, które są wpisywane do tablicy. Jeżeli liczby są sobie równe to nic nie wpisuje a jeżeli się różnią to wartość jest wpisana do tablicy.
2.Jak odczytać dane z danej kolumny w pliku ale na zasadzie średniej kroczącej. Tzn. mamy w kolumnie 200 pozycji ale chce odczytać ostatnich 10 jezeli kolumna się powiększy to przedział się przesunie i chce odczytać znowu 10 od konca. Chciałbym to zastosować w tym programie:
Nie wiem czy o to Ci chodziło.
Program porównuje kolejne liczby z tablicy wejściowej i jeżeli liczby pojawiają się pod rząd wielokrotnie to dodaje je do tablicy tylko jeden raz. Na końcu wyświetla 10 ostatnich elementów tablicy.
Góras pisze:Kolejne dane x i dane y mają być porównywane niezależnie? I czy będzie ok, jeśli w takim wypadku danych y będzie mniej od danych x?
Tak, niezależnie od siebie. Moglby to byc jakis problem jezeli danych x bedzie mniej niz y ale w moim przypadku gdzie komunikuje się z modułem gps dane o szerokosci i dlugosci geograficznej, ktore chce uzyskać przychodzą w jednej lini danych i zauwazyłem, że jezeli np. 5 razy powtorzy się wartosc dł. geog. to i 5 razy się powtórzy wartość szerokości. Wygląda to tak jakby ta sama linia danych przychodziła pare razy pod rząd. Więc raczej powinno być tyle samo danych w obu kolumnach
No to dodałam wczytywanie pliku. Jeśli nie będzie ok, to albo ustaw delimiter w Read from Spreadsheet File (aktualnie ustawiony jest na domyślny czyli \t) na taki jaki masz w pliku lub wrzuć przykładowy plik.
Teraz niestety mam kolejny problem z tym jak są zapisywane moje pomiary. Pierwsza kolumna to czas, który chciałem żeby był zsynchronizowany z pomiarem szer. i dług. geogr. Kolejne kolumny to niepewności. Dziwne jest to, że co jakiś czas zamiast sekund pojawiają się 0. Jest to bardzi uciążliwe ponieważ uniemożliwia to zrobienie wykresu z tych danych.
W załączniku przesyłam swój program.
Dzieje się tak dlatego, że do w pewnym momencie "sklejasz" tablicę dwuwymiarową z jednowymiarowej tablicy Lattitiude, jednowymiarowej tablicy Longitiude oraz z czasu, niepewności długości i niepewności szerokości, które w Twoim przypadku są tablicami jednoelementowymi. Dla większej ilości danych w tablicy Lattitiude/Longitiude (więcej niż jeden element) pozostałe wartości (czas i niepewności) ustawiane są na wartości domyślne czyli zera.
W miejsce bloczków Build Array wstaw Initialize Array - do wejścia Element podepnij odpowiednie wartości (czas, niepewności), a do Dimension size rozmiar tablicy Lattitiude/Longitiude po komparacji (musisz dołożyć jeszcze jeden bloczek Array Size).
Kolejny raz musze zmienić troszke działanie programu. Teraz chciałbym by wyglądało to tak:
Przychodzą dane numeryczne jedna po drugiej i są wyświetlane na wykresie w funkcji czasu trwania programu. Jest możliwość ustawienia, że wykres bierze do pomiaru tylko 10 ostatnich wyników. Brak zapisu i odczytu do pliku.