Страница 1 из 1

Плохая синусоида с waveform и плохой curve fit

Добавлено: 26 мар 2020, 16:08
dakishi
Добрый день!

Проблема в следующем.
Вывожу с Basic Function Generator синусоиду, подаю на XY Graph без фиттинга и после Nonlinear curve fit.
Обнаруживаю, что период синуса у оригинала немного плывет (см. рис, белая кривая) в сторону увеличения, а Nonlinear curve fit (красная кривая) не может подобрать параметры фита - фитовая частота в районе 1 (на оригинале было 1, 10, 20, 30 - без разницы), амплитуда очень маленькая. При этом Tolerance 10E-8 - т.е. он не должен выдавать результат с такими большими (на порядки установленного) отклонениями от точек оригинала, как я понимаю, ведь это Tolerance и определяет.

При этом, фиту в качестве начальных параметров я подавал также данные, точно соответствующие начальным данным базового синуса. (на рисунке стоит а2 = 1, а не 10 просто).

*Аналогичный результат получен, если использовать "хороший" синус из математических функций - программа точно такая же, просто генератор синуса заменил на цикл с мат. функцией. Фит тоже не работает - график примерно тот же.


Почему
1) Базовый синус так себя ведёт ?
2) Все же это синус визуально (допустим, зашумленный) - почему фит совсем не помогает ?
2)* Почему он не помогает даже в случае "хорошего синуса" ?
3) Почему фит вообще выдает такие результаты при Tolerance 10E-8 ?

PS. До этого похожие коды (на базе такого, и на базе интерактивного curve fit - с окошком который - та же синусоида фитилась 1 в 1 при этих параметрах) - работали. Может я конечно сделал что то не так (хотя, вроде всё правильно). Единственное, что изменилось - я поставил на компьютер labview 2019 - до того был 2018. При этом 2018-ю версию пока оставил на компьютере.

Re: Плохая синусоида с waveform и плохой curve fit

Добавлено: 26 мар 2020, 22:22
Artem.spb
dakishi писал(а):Может я конечно сделал что то не так (хотя, вроде всё правильно). Единственное, что изменилось - я поставил на компьютер labview 2019 - до того был 2018. При этом 2018-ю версию пока оставил на компьютере.
определённо не так:
писать в профиле, что версия 16, а выкладывать в 19 - неразумно. Далеко не все гонятся за новинками

Re: Плохая синусоида с waveform и плохой curve fit

Добавлено: 26 мар 2020, 22:29
Artem.spb
dakishi писал(а):Обнаруживаю, что период синуса у оригинала немного плывет (см. рис, белая кривая) в сторону увеличения.
С синусом всё в порядке, у вас оригинальный (и не правильный) способ вычислять X, практически числа Фибоначчи. Потому всё и плывёт
wave.PNG

Re: Плохая синусоида с waveform и плохой curve fit

Добавлено: 27 мар 2020, 09:51
dakishi
Artem.spb писал(а):определённо не так:
писать в профиле, что версия 16, а выкладывать в 19 - неразумно. Далеко не все гонятся за новинками
Извините, забыл. А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?

Re: Плохая синусоида с waveform и плохой curve fit

Добавлено: 27 мар 2020, 09:55
dakishi
dt returns the time interval in seconds between data points in the waveform.

Y returns the data values of the waveform.

Re: Плохая синусоида с waveform и плохой curve fit

Добавлено: 28 мар 2020, 00:07
Artem.spb
dakishi писал(а): А почему числа Фибоначчи - шаг по времени же задан в сигнале ? Как это запихнуть тогда именно в XY Graph ?
Потому что надо использовать ИЛИ умножение, ИЛИ суммирование, а не и то и другое (как у вас)
x.png
x.png (8.13 КБ) 2396 просмотров
Попробуйте нарисовать ваши Х на графике, сразу стане понятно, что там не прямая.

Re: Плохая синусоида с waveform и плохой curve fit

Добавлено: 28 мар 2020, 13:46
dakishi
Artem.spb писал(а): Потому что надо использовать ИЛИ умножение, ИЛИ суммирование, а не и то и другое (как у вас)
Untitled 1.vi
(13.55 КБ) 117 скачиваний
Попробуйте нарисовать ваши Х на графике, сразу стане понятно, что там не прямая.
Увидел сумму, спасибо.

Это VI в 2016 и картинка, если кто то будет скачивать (в отдельное сообщение не крепится). Ошибок теперь вроде нет, параметры аппроксимации те же что и у базового синуса - однако результат совершенно отличен от синуса.