| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Набор сложных для интерполяции функций |
| Автор: overvolt 18.6.2012, 20:09 |
| Подскажите где можно взять набор тестовых функций одной переменной для проверки корректности работы алгоритма интерполяции (нужно около 300 функций, желательно с указанием интервалов) например 1. f(x)=sin(1/x) [0.001; 1] 2. ... |
| Автор: Pavia 19.6.2012, 18:32 | ||
Интерполяция это всего на всего попытка отгадать что находится между двума точками. Так что о какой корректности может идти речь не понятна. Зачем тебе 300 функций? 2)10000*exp((x)*0.09)-32768 [0;20] 3)5000*Sin(6*2*Pi/20*x)+2 [0;20] 4) 16000*((Round(x-0.5) div 3) mod 2) [0;20]; Думаю этого тебе хватит. |
| Автор: overvolt 19.6.2012, 20:27 |
| Вот что уже нашёл: 1) ф-ия Рунге f(x) = 1 / (1+x^2) , x[-5; 5] ещё лучше использовать вариант f(x) = 1 / ( 1+25*(x^2) ) 2) Бернштейн f(x) = |x| , x[-1; 1] 3) ф-ия шага (The Step function) , x[-1; 1] if (x<0) return 0; else return 1; 4) Ф-ия Допплера (The Doppler function) F(X) = sqrt ( x * ( 1 - x ) ) * sin ( 2.1 * pi / ( x + 0.05 ) ) , x[0; 1] 5) The Rabbit Ears function F(X) = max ( sin(x) + sin(x^2), 1 - abs(x-5)/5 ) , x[0; 10] |
| Автор: Pavia 19.6.2012, 20:40 |
| overvolt, Ещё функция Дирака. [-100;+100] |
| Автор: MaXL 26.6.2012, 08:06 |
| f(x) = 1 - (exp(100 * x) - exp(-100 * x)) / (exp(100) - exp(-100)), 0 <= x <= 1 интересно, сколько. и какие точки оно у вас выберет. Полученная вами функция, после интерполяции должна удовлетворять таким же качественными характеристикам, как и исходная, например выпуклость ? Вот подобный пример 1 / 250 * (5 * x - 3)^2, если x <= 0.6 f(x) = 1 / 16 * (25 * x^2 - 9), если x > 0.6 0 <= x <= 1. |