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?
Problem z Gaussem
-
- Posty: 114
- Rejestracja: 31 paź 2005 00:00
- Wersja środowiska: LabVIEW 8.2
- Lokalizacja: Cz-wa / Wa-wa
Problem z Gaussem
kapitan7
Re: Problem z Gaussem
Zamieść swoje fitowanie oraz dane.
-
- Posty: 114
- Rejestracja: 31 paź 2005 00:00
- Wersja środowiska: LabVIEW 8.2
- Lokalizacja: Cz-wa / Wa-wa
Re: Problem z Gaussem
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. 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łą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. 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 209 razy
-
- test.TXT
- dane pomiarowe
- (99.94 KiB) Pobrany 218 razy
kapitan7
Re: Problem z Gaussem
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. Pozdrawiam,
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. Pozdrawiam,
-
- Posty: 114
- Rejestracja: 31 paź 2005 00:00
- Wersja środowiska: LabVIEW 8.2
- Lokalizacja: Cz-wa / Wa-wa
Re: Problem z Gaussem
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....).
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
-
- Posty: 114
- Rejestracja: 31 paź 2005 00:00
- Wersja środowiska: LabVIEW 8.2
- Lokalizacja: Cz-wa / Wa-wa
Re: Problem z Gaussem
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.
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