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






