Funkcja dopasowująca wykresu w DIAdem

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.
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Funkcja dopasowująca wykresu w DIAdem

Post autor: spalinowy »

W jaki sposób można dla poniższego wykresu znaleźć funkcję dopasowującą w DIAdem? Czyli żeby zamiast tych kilku pętli była tylko jedna. Niby w palecie Curve Fitting jest Non-Linear Curve Fitting, jednak jedyne co uzyskuję to krzywą, której daleko do elipsy.
Załączniki
Wykres XY.png
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

Re: Funkcja dopasowująca wykresu w DIAdem

Post autor: micard »

Bo "Curve fitting" to tak na prawdę optymalizacja funkcyjna - a Ty chyba potrzebujsz parametrycznej.

Prostym krokiem byłoby podzielić uzyskane punkty na dwie (y>0; y<=0)lub cztery sektory oddzielone osiami i zrobić curve fitting dla każdej z nich z osobna. Tochę to mało eleganckie, ale zadziała.

Jeśli wiesz, że ma wyjść elipsa to możesz spóbować optymalizacji parametrów elipsy, lub potraktować krzywa jako zamknięty spline
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Funkcja dopasowująca wykresu w DIAdem

Post autor: PiDi »

Bez danych źródłowych ciężko mi sprawdzić, ale w Analysis -> Curve Fitting jest Calculate Circle Approximation.
circle.png
circle.png (18.47 KiB) Przejrzano 8873 razy
ObrazekObrazekObrazekObrazek
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Funkcja dopasowująca wykresu w DIAdem

Post autor: spalinowy »

Fakt, plik danych będzie pomocny.
No właśnie próbowałem w tym oknie, ale nie udało mi się. Chyba wszystkie opcje z menu testowałem. Inna sprawa, że jeszcze trudniej będzie to zrobić nie poprzez elipsę, bo wykres nie jest nią do końca.
W takim przypadku pozostaje mi pisanie skryptu w VBS dla regresji nieliniowej?
Załączniki
Plik.txt
(49.29 KiB) Pobrany 370 razy
Awatar użytkownika
dajpanspokój
Posty: 145
Rejestracja: 05 lis 2015 08:15
Wersja środowiska: LabVIEW 2016

Re: Funkcja dopasowująca wykresu w DIAdem

Post autor: dajpanspokój »

Nie znam diadema, ale nie da sie zamienic tych punktow z kartezjanskiego na polarny i wykreslic graf ktory ma w osi x 0-360?
Mozesz wtedy polaczyc trzy takie grafy (jeden -360 do 0, drugi 0-360 a trzeci 360-720) i zrobic curve fitting, wyciac srodkowy i z powrotem do kartezjanskiego. Sklejanie tych grafow ma na celu sprawienie ze pochodna w 0 i 360 jest taka sama.
Obrazek
Awatar użytkownika
micard
Posty: 207
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2017
Kontakt:

Re: Funkcja dopasowująca wykresu w DIAdem

Post autor: micard »

Czyli @dajpanspokój proponujesz prawie to samo - tylko przeniesienie do innych współrzędnych.

Jak już wrzucamy inne przestrzenie na stół - to zaproponuje przejscie w domenę parametrów elipsy (x, y, a, b, fi) i implementację transfotmaty Hough'a dla elipsy:

https://en.wikipedia.org/wiki/Randomize ... _transform
https://stackoverflow.com/questions/630 ... -transform
spalinowy
Posty: 169
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2017
Lokalizacja: Warszawa
Kontakt:

Re: Funkcja dopasowująca wykresu w DIAdem

Post autor: spalinowy »

Sprawdziłem rozwiązanie @dajpanspokój i jest jak pisze @micard.
Ciekawy sposób proponujesz @micard, jednak trochę za dużo czasu by mi to zajęło. Ostatecznie wytnę jeden reprezentatywny fragment i będzie po temacie.
Dzięki za pomoc!
ODPOWIEDZ