Problem z Gaussem

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.
kapitan7
Posty: 114
Rejestracja: 31 paź 2005 00:00
Wersja środowiska: LabVIEW 8.2
Lokalizacja: Cz-wa / Wa-wa

Problem z Gaussem

Post autor: kapitan7 »

Witam,

Ponieważ przeszukałem forum i helpa LV i nie znalazłem odpowiedzi na moje pytanie postanowiłem rozpocząć wątek.

Mam problem z Gaussem. Po wykonaniu fitowania Gaussa otrzymane parametry są niedokładne.
W moim przypadku ważna jest amplituda - zauważyłem że LV tak dobiera parametry (niezależnie od metody fitowania) że amplituda niemal dokładnie pokrywa si ę z punktem maksymalnym w pomiarach. Dzieje się tak nawet gdy punkt maksymalny różni się o kilkanaście procent od pozostałych punktów pomiarowych.
Dopasowana krzywa "na oko" nie pasuje do punktów pomiarowych (pomimo wyśrubowania parametrów fitowania - fitowanie wykonane w Originie znacząco różni się od fitowania w LV).

Jak zwiększyć dokładność fitowania w LV??

Wiem że najlepiej jest wykonać samodzielnie funkcje fitującą ale obecnie nie mam czasu się tym zajmować i szukam "gotowca" czy ktoś spotkał się z innym subVI w LV który dokładnie fituje Gaussa?
kapitan7
NIKT
Posty: 26
Rejestracja: 16 mar 2011 19:34
Wersja środowiska: LabVIEW 2011

Re: Problem z Gaussem

Post autor: NIKT »

Zamieść swoje fitowanie oraz dane.
kapitan7
Posty: 114
Rejestracja: 31 paź 2005 00:00
Wersja środowiska: LabVIEW 8.2
Lokalizacja: Cz-wa / Wa-wa

Re: Problem z Gaussem

Post autor: kapitan7 »

Witam,

Załączam print screen z dopasowania Gaussa przez LV (stosuje LV 8.2)
Na rysunku łatwo zauważyć że maksimum Gaussa niemal pokrywa się z punktem pomiarowym o największej wartości - co jest błędem.
Efekt fitowania Gaussa przez LV 8.2
Efekt fitowania Gaussa przez LV 8.2
Dodatkowo dołączam dane pomiarowe. Za pojedynczy pomiar odpowiadają dwie kolejne kolumny (pierwsza para kolumn - jeden pomiar).
W załączniku aplikacja która dała takiej wyniki.

Czekam na pomoc.
Załączniki
GAUSS.vi
aplikacja
(44.37 KiB) Pobrany 208 razy
test.TXT
dane pomiarowe
(99.94 KiB) Pobrany 218 razy
kapitan7
NIKT
Posty: 26
Rejestracja: 16 mar 2011 19:34
Wersja środowiska: LabVIEW 2011

Re: Problem z Gaussem

Post autor: NIKT »

Witam,

Do fitowania można użyć metody Levenberga-Marquardta dostępnej jako bloczek "nonlinear curve fit".
Poszukaj przykładu Fit sum of 3 Gaussians with offset.vi

Przerabiając ten przykład do jednego gaussa i podstawiając Twoje dane uzyskałem wynik jak obrazku.
fit.JPG
Pozdrawiam,
kapitan7
Posty: 114
Rejestracja: 31 paź 2005 00:00
Wersja środowiska: LabVIEW 8.2
Lokalizacja: Cz-wa / Wa-wa

Re: Problem z Gaussem

Post autor: kapitan7 »

Fit wygląda już ładnie jednak w moim LV 8.2 - nie znalazłem tego przykładu.

Znalazłem inne przykłady w moim LV (dla przestrzeni 3D) - tutaj jednak mam problem ze zmianą definicji referencji tak żeby pasował w moim problemie - bloczek "non linear curve fit" wyrzuca mi błędy (co z pewnością wynika z faktu że nie umiem używać czegoś takiego jak referencja....).
kapitan7
kapitan7
Posty: 114
Rejestracja: 31 paź 2005 00:00
Wersja środowiska: LabVIEW 8.2
Lokalizacja: Cz-wa / Wa-wa

Re: Problem z Gaussem

Post autor: kapitan7 »

Yyyyyy.... no już wyszło

Wystarczyło (jak dla mnie) zmienić sposób definicji funkcji w "non linear curve fit" i sobie bez problemu poradziłem.
Gauss jest już fitowany w granicach błędu dość ładnie.

Jak rozumiem w ten sam sposób mogę fitować inne funkcje (np lorentza itp...).

Czy ktoś z Was wie jakie są ograniczenia stosowania bloczku "non linear curve fit" ?

Czy oprócz metody Levenberga-Marquardta LV udostępnia inne modele fitowania?

NIKT - serdeczne dzięki za pomoc.
kapitan7
ODPOWIEDZ