Алгебраические и тригонометрические функции

Материал из K3-Macro
Макро | Математические функции | Алгебраические и тригонометрические | Работа с матрицами | Аффинные преобразования | Работа с векторами | Геометрические вычисления | Преобразование координат точек и векторов | Работа с битовыми масками

В данном разделе собраны функции, результатом работы которых является скалярная величина или набор скалярных величин.

Вычисление абсолютного значения числа

DOUBLE Abs(DOUBLE <X>)

Функция Abs возвращает абсолютное значение числа <X>

Пример:

=Abs(3);
3
=Abs(-7);
7

Вычисление квадратного корня

DOUBLE Sqrt(DOUBLE <X>)

Функция Sqrt вычисляет корень квадратный из <X>. <X> должен быть больше или равен нулю.

Пример:

=Sqrt(4);
2

Вычисление логарифмов

DOUBLE Ln(DOUBLE <X>)

Функция Ln вычисляет натуральный логарифм числа <X>.

DOUBLE Lg(DOUBLE <X>)

Функция Lg вычисляет десятичный логарифм числа <X>.

DOUBLE Log(DOUBLE <X>, DOUBLE <Y>)

Функция Log вычисляет логарифм числа <X> по основанию <Y>. Аргументы <X> и <Y> должны быть строго больше ноля.

Вычисление экспоненты

DOUBLE Exp(DOUBLE <X>)

Функция Exp возводит число e (2.71828...) в степень <X>.

Возведение в степень

DOUBLE Pow(DOUBLE <X>, INT <N>)

Функция Pow возводит число <X> в степень <N>. <N> не должно быть отрицательным.

Пример:

=Pow(2,3);
8

Вычисление значений полинома

DOUBLE Poly(DOUBLE <X>, INT <N>, DOUBLE ARRAY <C>)

Функция Poly вычисляет значение полинома с аргументом <X>, степени <N> по формуле: Poly-1.png

В массиве <C> должны храниться <N>+1 коэффициентов полинома. Первый элемент массива соответствует свободному члену, <N>+1-й — коэффициенту <X> в степени <N>

Пример:

Defarr c[3]; 
c[1]=6; c[2]=3; c[3]=2;
=Poly(5,2,c)        // Poly-2.png
71

Число Пи

DOUBLE Pi()

Функция Pi возвращает значение числа π (3.1415926...).

Пример:

=Pi();
3.142

Функции округления

DOUBLE Round(DOUBLE <Num>[, DOUBLE <Precision>])

Функция Round осуществляет округление с заданной точностью. Если параметр <Precision> не задан, то округляет с точностью 1.0

Округление осуществляется по формуле Round-1.png,

где floor(x) – наибольшее целое, меньшее или равное числа x.

Пример:

=Round(1.456);
1
=Round(1.456,0.1);
1.5


Int Floor(Double <Num>)

Функция Floor округляет число <Num> до ближайшего целого в меньшую сторону


Int Ceil(Double <Num>)

Округляет Ceil число <Num> до ближайшего целого в большую сторону

Пример:

=floor(3.2);
3
=ceil(3.2);
4
=floor(3.9);
3
=ceil(3.9);
4
=floor(-3.2);
-4
=ceil(-3.2);
-3

Вычисление максимума и минимума

DOUBLE Min(DOUBLE <X>, DOUBLE <Y>[, double <Z>[, double <XX>]])

Double Min(double array <Arr>[, int <Beg>[, int <Numb>]])

Функция Min возвращает минимальное из чисел <X> и <Y> и т. д. или из массива <Arr>. Необязательные параметры <Beg> и <Numb> задают соответственно начальный элемент массива, с которого производится поиск и количество элементов массива.


DOUBLE Max(DOUBLE <X>, DOUBLE <Y>[, double <Z>[, double <XX>]])

Double Max(double array <Arr>[, int <Beg>[, int <Numb>]])

Функция Max возвращает максимальное из чисел <X> и <Y> и т.д. или из массива <Arr>. Необязательные параметры <Beg> и <Numb> задают соответственно начальный элемент массива, с которого производится поиск и количество элементов массива.

Пример:

=Min(5,2);
2
=Max(5,2);
5
=Max(1,4,3,6,4);
6

Целая часть числа

INT Int(DOUBLE <X>)

Функция Int возвращает целую часть числа <X>.

Пример:

=Int(2.3);
2
=Int(-2.9)
-2
I.png Для округления числа рекомендуется пользоваться функциями округления (см. выше)


Случайные числа

VOID Randomize()

Функция Randomize осуществляет начальную установку для получения последовательности случайных чисел.

DOUBLE Random(DOUBLE <A>, DOUBLE <B>)

Функция Random возвращает случайное число из интервала (<A>,<B>)

Пример.

//-- Фрагмент макрокоманды отрисовки от 10 до 100 окружностей
//-- с центрами в квадрате от -100 до 100 и радиусами от 10 до 50
Randomize();
n=Random(10,100);
i=1;
met:
Circle Random(-100,100), Random(-100,100), 0, Normal 0,0,1;
if (i<n) 
{ 
 i=i+1;
 goto met;
}
exit;

Знак числа

INT Sgn(DOUBLE <X>,[DOUBLE <Eps>])

Функция Sgn возвращает знак числа. Если число <X> положительно, функция возвращает 1, если число <X> отрицательно, возвращает -1, если число <X> равно нулю, возвращает 0.

Необязательный параметр <Eps> определяет диапазон значений, в пределах которых число считается нулевым и функция возвращает 0. Если <Eps> отрицательно, то считается, что оно равно нулю.

Пример:

=Sgn(10);
1
=Sgn(-10);
-1
=Sgn(0);
0
=Sgn(0.5,1);
0
=Sgn(-0.5,1);
0
=Sgn(1,-5);
1

Остаток от деления

INT Fmod(INT <X>, INT <Y>)

Функция Fmod возвращает остаток от деления <X> на <Y>

Пример:

=fmod(5,3);
2

Функции перевода величин

DOUBLE Grad(DOUBLE <X>)

Функция Grad переводит значение угла <X> из радиан в градусы.

Пример.

=Grad(Pi());
180


DOUBLE Radian(DOUBLE <X>)

Функция Radian переводит значение угла <X> из градусов в радианы.

=Radian(90);
1.571

Тригонометрические функции

DOUBLE Sin(DOUBLE <X>)

Функция Sin вычисляет синус угла <X>. Угол <X> задается в радианах.

Пример.

=Sin(Radian(90));
1


DOUBLE Cos(DOUBLE <X>)

Функция Cos вычисляет косинус угла <X>. Угол <X> задается в радианах.


DOUBLE Tan(DOUBLE <X>)

Функция Tan вычисляет тангенс угла <X>. Угол <X> задается в радианах. Аргумент <X> не должен равняться Tan-1.png

Обратные тригонометрические функции

DOUBLE Asin(DOUBLE <X>)

Функция Asin вычисляет арксинус числа <X>. Аргумент должен быть в переделах (-1,1).

Пример.

=Asin(1);
1.571


DOUBLE Acos(DOUBLE <X>)

Функция Acos вычисляет арккосинус числа <X>. Аргумент должен быть в переделах (-1,1).


DOUBLE Atan(DOUBLE <X>)

Функция Atan вычисляет арктангенс числа <X>.


Макро | Математические функции | Алгебраические и тригонометрические | Работа с матрицами | Аффинные преобразования | Работа с векторами | Геометрические вычисления | Преобразование координат точек и векторов | Работа с битовыми масками