Aproksymacja danych

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.
jolad
Posty: 5
Rejestracja: 13 cze 2015 17:43
Wersja środowiska: LabVIEW 2011

Aproksymacja danych

Post autor: jolad »

Witam, to są moje początki z lab view. Otóż napotakałam pewien problem z zapisem, odczytem i aproksymacją danych, czy może mi ktoś pomóć. z góry dziękuję
Progr..vi
(254.06 KiB) Pobrany 323 razy
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Aproksymacja danych

Post autor: aaddaas »

Jaki jest Twój problem dokładnie?
Z tego co widzę, w pierwszej ramce masz zapis do pliku, a następnie odczyt z tego samego pliku, ale odczytane dane już nie idą nigdzie. Druga ramka zaś nie dostaje żadnych danych, by móc na nich pracować.
Obrazek
jolad
Posty: 5
Rejestracja: 13 cze 2015 17:43
Wersja środowiska: LabVIEW 2011

Re: Aproksymacja danych

Post autor: jolad »

Na początku dziękuję za odpowiedz. Odczyt nigdzie nie idzie bo jak go łącze z bloczkiem do aproksymacji to wyskakuje mi bląd. to jest zasymulowany sygnał gdyż ogolnie korzystam z bloczka DAQi modułu gpib. Moim problemem jest odnalezienie takich bloczków które zapisuje mi i odczytuje w notatniku (nie mam możliwośći ustawienia excele) a póżniej ten sygnał jest aproksymowany funkcją y=a*exp(-x/b)+c. (b - szukany czas charakterystyczny )
Ogólnie moim zadaniem jest zautomatyzować jednego z laboratorium na uczelni. Używam do tego karty temperaturowej NI 9211(pomiar temperatur w kanale powietrznym) i przy użyciu NI DAQ i połączonego multimetru ( złącze GPIB) obliczam napiecie oraz prędkość przepływu powietrza, w kanale powietrznym, gdzie mierze temperatury. powinnam uzyskac charakterystyki temperaturowe, przez co obliczam czas charakterystyczny (w funkcji wsp. b) - aproksymując dane pomiary
Lab View zad.vi
(216.69 KiB) Pobrany 313 razy
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Aproksymacja danych

Post autor: aaddaas »

Na początku pozbyłbym się sequence structure, ponieważ jest tutaj całkowicie zbędna.
Jeśli zaś chodzi o dopasowanie danych: w bloczku curve fitting możesz wybrać sposób dopasowania, więc w Twoim przypadku będzie "non linear".
Do tej funkcji musisz doprowadzić sygnał, który jest jednowymiarową tablicą danych, czyli jedna wartość mierzona w danej chwili czasu.
Jakie są dokładnie te charakterystyki? Są to czasowe charakterystyki? Jeśli tak, to nie powinno z tym być problemu.
Obrazek
jolad
Posty: 5
Rejestracja: 13 cze 2015 17:43
Wersja środowiska: LabVIEW 2011

Re: Aproksymacja danych

Post autor: jolad »

tak, jest to charakterystyka temperatura w funkcji czasu. nie wiem czy dobrze zrozumiałam ide tej aproksymacji, ale rozwiazujac równanie znow mi nie aproksymuje i nie mam wyników parametrow a,b,c które zadałam w funkcji w curve expert. Przepraszam ze zadaje tyle pytan ale chyba nie dokonca czuje tą aproksymacje ;/(nie jestem pewna czy bloczki jakie używam sa ok)
zadanko.vi
(214.92 KiB) Pobrany 328 razy
jolad
Posty: 5
Rejestracja: 13 cze 2015 17:43
Wersja środowiska: LabVIEW 2011

Aproksymacja danych

Post autor: jolad »

wydaje mu się że przyczyna tego iż nie uzyskuje wyników aproksymacji może być fakt iż nie zapisuje wartości w excelu a w notatniku? myślisz ze to jest tego przyczyna? mam możliwośći zapisu tylko w LVM, TDM, TDMS.
Awatar użytkownika
aaddaas
Posty: 202
Rejestracja: 26 cze 2013 20:42
Wersja środowiska: LabVIEW 2015

Aproksymacja danych

Post autor: aaddaas »

Miejsce zapisu pliku nie powoduje problemu. A możesz powiedzieć jaki błąd Ci wyskakuje, gdy połączysz bloczki?
Obrazek
Paco_MS
Posty: 43
Rejestracja: 25 paź 2011 15:04
Wersja środowiska: LabVIEW 2014

Re: Aproksymacja danych

Post autor: Paco_MS »

Jeżeli korzystasz z funkcji z palety Express to na wejściu muszą się pojawić dwa parametry:
Signals - odpowiada wsp. Y wykresu (temperatura)
Locations - odpowiada wsp. X wykresu (czas)
Niestety, samo podłączenie danych do Signals nie rozwiązuje problemu, gdyż czas jest ukryty w strukturze danych DynamicData, który jest obsługiwany przez funkcje z palety Express. Trzeba sobie tę oś czasu samemu wygenerować.
Jeżeli znamy cz. próbkowania, to problem jest dosyć prosty. W załączeniu plik, w którym dane symulowane są zamieniane na przebieg w postaci Waveform, z którego łatwo wyciągnąć wartości Y oraz dt.
Teraz w pętli LoopFor generuję oś czasu mnożąc dt przez licznik i odbieram dane przez wejście indeksowane.
Jako rezultat otrzymuję tablicę z osią czasu dla tablicy wartości Y i te dwie tablice podłączam do funkcji CurveFit.
Stosowanie funkcji Express zwykle ułatwia sprawę, ale nie w tym przypadku. No chyba, że ktoś WIE I PODZIELI SIĘ jak w prosty sposób wyrwać czas z Dynamic Data i podpić go do terminala Locations.

pozdrawiam
Załączniki
regresja.vi
(133.1 KiB) Pobrany 310 razy
ODPOWIEDZ