Login:
Password:
Auth @ DIMS.PRV
Регистрация

Аналитический способ задания функций

Вещественные функции, обрабатываемые этой службой, могут быть заданы в виде формул. В формулах вы можете использовать арифметические, логические и побитовые операции (в таблице приведены в порядке приоритета вычислений):
ОперацияОписаниеАссоциативность
!   ~логическое отрицание, побитовая инверсияправая
*   /   %умножение, деление, остаток от делениялевая
+   -сложение, вычитаниелевая
>>   <<побитовый сдвиг вправо, побитовый сдвиг влеволевая
<   >   <=   >=меньше, больше, меньше или равно, больше или равно -
==   !=равно, не равно -
&побитовое "И"левая
^побитовое "ИСКЛЮЧАЮЩЕЕ ИЛИ"левая
|побитовое "ИЛИ"левая
&&логическое "И"левая
||логическое "ИЛИ"левая
?:условная операцияправая

Правая ассоциативность означает, что выражение 2**2**3 эквивалентно выражению 2**(2**3). Левая ассоциативность означает, что выражение 2<<2<<1 эквивалентно выражению (2<<2)<<1.

Допустимо использовать следующие встроенные функции:
ОбозначениеОписание
abs(x)абсолютное значение выражения (модуль)
acos(x), asin(x), atan(x)обратные тригонометрические функции
acosh(x), asinh(x), atanh(x)обратные гиперболические функции
atan2(x1,x2)арктангенс отношения x1/x2
cos(x), sin(x), tan(x)тригонометрические функции
cosh(x), sinh(x), tanh(x)гиперболические функции
exp(x)экспонента (натуральный антилогарифм)
floor(x), ceil(x), round(x)округление к меньшему/большему/ближайшему
log(x)натуральный логарифм
log10(x)десятичный логарифм
max(x1,x2,...)максимальное среди перечисленных значений
min(x1,x2,...)минимальное среди перечисленных значений
sqrt(x)квадратный корень
pow(x1,x2)возведение в степень: x1x2
Специальные функции
gauss(σ,x,y)гауссиан: exp(-x*x/(2*s*s)-y*y/*(2*s*s))
gauss1(σ12,x,y)гауссиан: exp(-x*x/(2*s1*s1)-y*y/*(2*s2*s2))
smooth(R,σ,x,y)"гладкий" фильтр: x*x+y*y>R*R ? gauss(s,x-R*cos_a,y-R*sin_a) : 1
rand(x)псевдослучайное число (равномерное распределение 0...x)
nrand(x)псевдослучайное число (нормальное распределение с мат.ожиданием 0 и дисперсией x2)

Аргументами определяемой функции являются переменные x и/или y. Для создания выборки значения аргументов перебираются от h0 до h0+dh*(num-1), где dh - поле "Шаг", num - поле "Размер", а h0 вычисляется как -0.5*dh*num.

Примеры:
Двумерные функции* Одномерные функции
gauss(0.2,x+0.5,y)+gauss(0.2,x,y-0.5) gauss(0.2,x+0.5)+gauss(0.2,x-0.5)
smooth(0.5,0.3,x,y) smooth(0.5,0.2,x)
cos(2*x*x+3*y*y) abs(x)>2 ? 0 : sqrt(4-x*x)
(1-abs(x)/1.6)*(1-abs(y)/1.6) 1/(x*x+1)
*интенсивность пропорциональна модулю значений функции