Prosty komparator i średnia krocząca

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Prosty komparator i średnia krocząca

Post autor: martial » 09 sty 2013 16:04

Witajcie!

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:

Obrazek

Proszę o wyrozumiałość i zgóry dziękuje za pomoc!

Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: Góras » 09 sty 2013 17:55

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.
Załączniki
Arrays.vi
(9.56 KiB) Pobrany 160 razy

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Prosty komparator i średnia krocząca

Post autor: martial » 10 sty 2013 00:48

Wielkie dzięki ale czy dałbyś rade zrobić to tak żeby dane były wczytywane z pliku na zasadzie:

przykładowy plik

dane x dane y
23 10
24 11
25 9
26 9
. .
. .
n n

Ponieważ nie bardzo wiem jak odnieść to co zrobiłeś do swojego przykładu gdzie następnie chce z tych danych zrobić wykres.

Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Prosty komparator i średnia krocząca

Post autor: Góras » 10 sty 2013 08:31

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?

TMa
Posty: 198
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017
Been thanked: 3 times

Re: Prosty komparator i średnia krocząca

Post autor: TMa » 10 sty 2013 11:01

Przykładowy sposób na zczytanie pliku:
Załączniki
Test Results.txt
(32 Bajtów) Pobrany 140 razy
odczyt.png
odczyt.png (14.83 KiB) Przejrzano 4890 razy

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: martial » 10 sty 2013 11:22

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

Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: Góras » 10 sty 2013 14:13

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.
Załączniki
Arrays.vi
(14.72 KiB) Pobrany 146 razy

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: martial » 11 sty 2013 15:10

Wielkie dzięki wszystko działą OK!

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.

11,188505 50,293947 18,677818 0,167619 0,130757
0,000000 50,293945 18,677822 0,000000 0,000000
13,196377 50,293947 18,677818 0,493458 0,282466
0,000000 50,293945 18,677822 0,000000 0,000000
0,000000 50,293942 18,677832 0,000000 0,000000
13,940077 18,677818 0,524508 0,261513
0,000000 50,293945 18,677822 0,000000 0,000000
0,000000 50,293942 18,677832 0,000000 0,000000
0,000000 50,293947 18,677833 0,000000 0,000000
14,939047 50,293945 18,677822 0,000000 0,000000
0,000000 50,293942 18,677832 0,000000 0,000000
0,000000 50,293947 18,677833 0,000000 0,000000
0,000000 0,000000 18,677848 0,000000 0,000000
15,945969 50,293947 18,677818 1,246296 0,241103
0,000000 50,293945 18,677822 0,000000 0,000000
0,000000 50,293942 18,677832 0,000000 0,000000
0,000000 50,293943 18,677848 0,000000 0,000000
0,000000 0,000000 18,677865 0,000000 0,000000
16,939903 50,293947 18,677818 1,633546 0,216177
0,000000 50,293945 18,677822 0,000000 0,000000
0,000000 50,293942 18,677832 0,000000 0,000000
0,000000 50,293947 18,677833 0,000000 0,000000
0,000000 50,293943 18,677848 0,000000 0,000000
0,000000 50,293945 18,677865 0,000000 0,000000
18,197087 50,293947 18,677818 2,033201 0,205757
Załączniki
progr.vi
(96.57 KiB) Pobrany 154 razy

Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Prosty komparator i średnia krocząca

Post autor: Góras » 11 sty 2013 21:19

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.

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: martial » 11 sty 2013 22:14

Da sie to jakoś naprawić?

Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Prosty komparator i średnia krocząca

Post autor: Góras » 11 sty 2013 22:51

Wszystko się da :)

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).

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: martial » 11 sty 2013 23:10

Góras pisze:
a do Dimension size rozmiar tablicy Lattitiude/Longitiude po komparacji (musisz dołożyć jeszcze jeden bloczek Array Size).
jaki to bedzie rozmiar i gdzie dolozyc ten bloczek Array Size?
Przepraszam za głupie pytania... :)

Awatar użytkownika
Góras
Posty: 88
Rejestracja: 13 sie 2012 10:15
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: Góras » 12 sty 2013 09:57

Nie ma głupich pytań :)
Załączniki
Array Size.png
Array Size.png (8.75 KiB) Przejrzano 4786 razy

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: martial » 17 sty 2013 21:14

Super! Wkoncu działa tak jak należy jestem Ci dłużny duże piwo :D

martial
Posty: 23
Rejestracja: 09 sty 2013 15:37
Wersja środowiska: LabVIEW 2012

Re: Prosty komparator i średnia krocząca

Post autor: martial » 21 sty 2013 19:24

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.

ODPOWIEDZ