Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите подобрать функцию
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Lelikk
Доброе время суток!

Посоветуйте наиболее подходящую функцию, желательно которую проще считать пусть даже в ущерб точности.
Нужно, чтобы можно было варьировать параметры A (амплитуда), K (скорость нарастания) и T (время выхода на почти плоский участок).
Понятно, что K и T отчасти взаимосвязаны, но некоторая разница есть. Подобрал функцию на основе arctg(x), но задумался - нет ли варианта поудобнее.
Вид функции - в приложении.

Нажмите для просмотра прикрепленного файла
Xenia


Логистическая кривая
AndreyVN
Цитата(Lelikk @ Feb 25 2012, 21:44) *
Посоветуйте наиболее подходящую функцию, желательно которую проще считать пусть даже в ущерб точности.


Похожая ситуация с магнитным насыщением, для которого есть "рекомендованный набор" аппроксимации B(H):

B = a H - b H^3;
B = a arctg(bH);
B = a H - b sh(H);
B= a th(H);
B = a H exp(-b^2*H^2);
UMP
При наличии таблицы значений дело продвинется лучше.
AlexeyW
Ну, можно еще типа X^N со сдвигом, N нечетное - но арктангенс красивее (хотя, пожалуй, дольше вычисляется, чем третья степень).
Поздравляю - юбилейная стотысячная тема sm.gif
Lelikk
Цитата(AlexeyW @ Feb 26 2012, 21:34) *
Ну, можно еще типа X^N со сдвигом, N нечетное - но арктангенс красивее (хотя, пожалуй, дольше вычисляется, чем третья степень).
Поздравляю - юбилейная стотысячная тема sm.gif


Ого, стотысячный гет sm.gif
Если бы я сразу соотнес с аппроксимацией чего-то вроде магнитного насыщения, то наверное бы и не создавал sm.gif
Логистическая кривая меня подкупает тем, что в ней можно независимо варьировать крутизну наклона и масштабирование по оси X.
Хотя ее вычисление обойдется в 2.5 раза дороже вычисления arctg. Но пару мкс можно найти.
Если подойдет использование только масштабных преобразований, то действительно можно пользоваться предвычисленными таблицами.
AndreyVN
Цитата(Lelikk @ Feb 26 2012, 21:11) *
Если бы я сразу соотнес с аппроксимацией чего-то вроде магнитного насыщения, то наверное бы и не создавал sm.gif

С точки зрения математики - не вижу разницы, или Вам буквы B и H не подходят?
Цитата(Lelikk @ Feb 26 2012, 21:11) *
Если подойдет использование только масштабных преобразований, то действительно можно пользоваться предвычисленными таблицами.

Кусочно-линейная аппроксимация. Как вариант. Тоже используется для аппроксимации B(H), так что, будьте осторожны!
Lelikk
Цитата(AndreyVN @ Feb 27 2012, 12:38) *
С точки зрения математики - не вижу разницы, или Вам буквы B и H не подходят?


С точки зрения математики ее нет, но это немного из другой области, поэтому сразу о нем не задумался.
3601
Можно вывернуться разбив пополам на две степенных функции вида
y=a*xn для x<T/2 и
y=A - a*(T-x)n для x>T/2
коэффиценты a и n легко вычисляються исходя из заданных A,T,K
n=K*T/A a=(A/2)*(T/2)-n
получаеться такая вот почти простая функция. не уверен, что считаться будет быстрее, конечно, но вот что с разгону пришло на ум
Lelikk
Цитата(3601 @ Mar 23 2012, 16:37) *
Можно вывернуться разбив пополам на две степенных функции вида
y=a*xn для x<T/2 и
y=A - a*(T-x)n для x>T/2
коэффиценты a и n легко вычисляються исходя из заданных A,T,K
n=K*T/A a=(A/2)*(T/2)-n
получаеться такая вот почти простая функция. не уверен, что считаться будет быстрее, конечно, но вот что с разгону пришло на ум


Считаться будет дольше, так как потенцирование в дробную степень предполагает дополнительное логарифмирование по сравнению с вычислением экспоненты.
Логистическая кривая работает очень неплохо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.