Previous: Тригонометрия в Maxima, Up: Тригонометрия   [Contents][Index]

13.2 Функции и переменные для тригонометрии

Управляющая переменная: %piargs

Значение по умолчанию: true

Если %piargs равно true, то тригонометрические функции упрощаются до алгебраических констант, если аргумент кратен %pi, %pi/2, %pi/3, %pi/4 или %pi/6.

Maxima использует некоторые тождества, применимые, если %pi домножается на целую переменную (символ, определенный как целое число).

Примеры:

(%i1) %piargs : false;
(%o1)                         false
(%i2) [sin (%pi), sin (%pi/2), sin (%pi/3)];
                                %pi       %pi
(%o2)            [sin(%pi), sin(---), sin(---)]
                                 2         3
(%i3) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
                      %pi       %pi       %pi
(%o3)            [sin(---), sin(---), sin(---)]
                       4         5         6
(%i4) %piargs : true;
(%o4)                         true
(%i5) [sin (%pi), sin (%pi/2), sin (%pi/3)];
                                sqrt(3)
(%o5)                    [0, 1, -------]
                                   2
(%i6) [sin (%pi/4), sin (%pi/5), sin (%pi/6)];
                         1         %pi   1
(%o6)                [-------, sin(---), -]
                      sqrt(2)       5    2
(%i7) [cos (%pi/3), cos (10*%pi/3), tan (10*%pi/3), cos (sqrt(2)*%pi/3)];
                1    1               sqrt(2) %pi
(%o7)          [-, - -, sqrt(3), cos(-----------)]
                2    2                    3

Некоторые тождества применяются, если %pi и %pi/2 домножается на целую переменную (символ, определенный как целое число):

(%i1) declare (n, integer, m, even);
(%o1)                         done
(%i2) [sin (%pi * n), cos (%pi * m), sin (%pi/2 * m), cos (%pi/2 * m)];
                                      m/2
(%o2)                  [0, 1, 0, (- 1)   ]
Управляющая переменная: %iargs

Значение по умолчанию: true

Если %iargs равно true, то тригонометрические функции упрощаются до гиперболических, если аргумент явно домножается на мнимую единицу %i.

Упрощение производится, даже если аргумент явно является вещественным; Maxima лишь проверяет, просматривается ли явно в аргументе множитель %i.

Примеры:

(%i1) %iargs : false;
(%o1)                         false
(%i2) [sin (%i * x), cos (%i * x), tan (%i * x)];
(%o2)           [sin(%i x), cos(%i x), tan(%i x)]
(%i3) %iargs : true;
(%o3)                         true
(%i4) [sin (%i * x), cos (%i * x), tan (%i * x)];
(%o4)           [%i sinh(x), cosh(x), %i tanh(x)]

Упрощение проводится, даже если аргумент явно является вещественным:

(%i1) declare (x, imaginary);
(%o1)                         done
(%i2) [featurep (x, imaginary), featurep (x, real)];
(%o2)                     [true, false]
(%i3) sin (%i * x);
(%o3)                      %i sinh(x)
Функция: acos (x)

- Арккосинус.

Функция: acosh (x)

- Ареакосинус (гиперболический арккосинус).

Функция: acot (x)

- Арккотангенс.

Функция: acoth (x)

- Ареакотангенс (гиперболический арккотангенс).

Функция: acsc (x)

- Арккосеканс.

Функция: acsch (x)

- Ареакосеканс (гиперболический арккосеканс).

Функция: asec (x)

- Арксеканс.

Функция: asech (x)

- Ареасеканс (гиперболический арксеканс).

Функция: asin (x)

- Арксинус.

Функция: asinh (x)

- Ареасинус (гиперболический арксинус).

Функция: atan (x)

- Арктангенс.

Функция: atan2 (y, x)

- соответствует значению atan(y/x) на интервале (-%pi, %pi).

Функция: atanh (x)

- Ареатангенс (гиперболический арктангенс).

Пакет: atrig1

Пакет atrig1 содержит несколько дополнительных правил упрощения для обратных тригонометрических функций. Вместе с уже известными Maxima правилами, полностью реализована работа с углами 0, %pi/6, %pi/4, %pi/3 и %pi/2, а также соответствующими углами в трех других четвертях. Для использования пакета выполните load("atrig1");.

Функция: cos (x)

- Косинус.

Функция: cosh (x)

- Ареакосинус (гиперболический арккосинус).

Функция: cot (x)

- Котангенс.

Функция: coth (x)

- Ареакотангенс (гиперболический арккотангенс).

Функция: csc (x)

- Косеканс.

Функция: csch (x)

- Ареакосеканс (гиперболический арккосеканс).

Управляющая переменная: halfangles

Значение по умолчанию: false

Если halfangles равно true, то тригонометрические функции аргументов expr/2 упрощаются в функции от expr.

Примеры:

(%i1) halfangles : false;
(%o1)                         false
(%i2) sin (x / 2);
                                 x
(%o2)                        sin(-)
                                 2
(%i3) halfangles : true;
(%o3)                         true
(%i4) sin (x / 2);
                        sqrt(1 - cos(x))
(%o4)                   ----------------
                            sqrt(2)
Пакет: ntrig

Пакет ntrig содержит набор правил упрощения для тригонометрических функций с аргументами вида f(n %pi/10), где f - одна из функций sin, cos, tan, csc, sec и cot.

Функция: sec (x)

- Секанс.

Функция: sech (x)

- Гиперболический секанс.

Функция: sin (x)

- Синус.

Функция: sinh (x)

- Гиперболический синус.

Функция: tan (x)

- Тангенс.

Функция: tanh (x)

- Гиперболический тангенс.

Функция: trigexpand (expr)

Раскрывает тригонометрические и гиперболические функции суммы или произведения углов в expr. Для получения лучших результатов нужно сначала раскрыть expr. Для повышения пользовательского контроля за упрощением функция раскрывает только один уровень сумм/произведений за раз. Для полного раскрытия в синусы и косинусы укажите trigexpand: true.

trigexpand управляется следующими глобальными флагами:

trigexpand

Раскрывать все получающиеся в последствии выражения с синусами и косинусами.

halfangles

Раскрывать функции половинных углов в функции полных углов.

trigexpandplus

Раскрывать функции сумм аргументов (например, sin(x + y)).

trigexpandtimes

Раскрывать функции кратных аргументов (например, sin(2 x)).

Примеры:

(%i1) x+sin(3*x)/sin(x),trigexpand=true,expand;
                         2           2
(%o1)               - sin (x) + 3 cos (x) + x
(%i2) trigexpand(sin(10*x+y));
(%o2)          cos(10 x) sin(y) + sin(10 x) cos(y)

Управляющая переменная: trigexpandplus

Значение по умолчанию: true

trigexpandplus управляет раскрытием функций от сумм аргументов в trigexpand (если trigexpand равно true, либо в функции trigexpand), например, sin(x+y). Упрощение производится, только если trigexpandplus равно true.

Управляющая переменная: trigexpandtimes

Значение по умолчанию: true

trigexpandplus управляет раскрытием функций от произведений аргументов в trigexpand (если trigexpand равно true, либо в функции trigexpand), например, sin(2*x). Упрощение производится, только если trigexpandtimes равно true.

Управляющая переменная: triginverses

Значение по умолчанию: all

triginverses управляет раскрытием композиций тригонометрических и гиперболических функций со своими обратными функциями.

Если all, то и atan(tan(x)), и tan(atan(x)) упрощается в x.

Если true, то упрощение arcfun(fun(x)) не производится.

Если false, то ни arcfun(fun(x)), ни fun(arcfun(x)) не будет упрощено.

Функция: trigreduce (expr, x)
Функция: trigreduce (expr)

Раскрывает произведения и степени sin, cos, sinh, cosh в функции кратных аргументов x. Также производится попытка исключить такие функции из знаменателей. Если x не указано, будут использоваться все переменные из expr.

См. также poissimp.

(%i1) trigreduce(-sin(x)^2+3*cos(x)^2+x);
               cos(2 x)      cos(2 x)   1        1
(%o1)          -------- + 3 (-------- + -) + x - -
                  2             2       2        2

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

(%i1) declare(j, integer, e, even, o, odd)$
(%i2) sin(x + (e + 1/2)*%pi);
(%o2)                        cos(x)
(%i3) sin(x + (o + 1/2)*%pi);
(%o3)                       - cos(x)

Управляющая переменная: trigsign

Значение по умолчанию: true

Если trigsign равно true, допускается упрощение отрицательных аргументов тригонометрических функций. Например, sin(-x) раскроется в -sin(x).

Функция: trigsimp (expr)

Применяет тождества sin(x)^2 + cos(x)^2 = 1 и cosh(x)^2 - sinh(x)^2 = 1 для упрощения выражений с tan, sec, и так далее, до выражений с sin, cos, sinh, cosh.

Результат может упрощаться далее с trigreduce, ratsimp, и radcan.

demo ("trgsmp.dem") показывает несколько примеров для trigsimp.

Функция: trigrat (expr)

Возвращает канонический упрощенный квазилинейный вид тригонометрического выражения; expr - рациональная дробь с функциями sin, cos или tan, аргументы которых - линейные формы некоторых переменных и %pi/n (n - целое) с целыми коэффициентами. Результат - упрощенная дробь с линейным числителем и знаменателем с sin и cos. Таким образом, trigrat переходит к линейному виду, только если это возможно.

(%i1) trigrat(sin(3*a)/sin(a+%pi/3));
(%o1)            sqrt(3) sin(2 a) + cos(2 a) - 1

Следующий пример взят из раздела 1.5.5, "Теорема Морлея", книги Davenport, Siret, Tournier, Calcul Formel, изд-во Masson (английский перевод - Addison-Wesley).

(%i1) c: %pi/3 - a - b;
                                    %pi
(%o1)                     - b - a + ---
                                     3
(%i2) bc: sin(a)*sin(3*c)/sin(a+b);
                      sin(a) sin(3 b + 3 a)
(%o2)                 ---------------------
                           sin(b + a)
(%i3) ba: bc, c=a, a=c$
(%i4) ac2: ba^2 + bc^2 - 2*bc*ba*cos(b);
         2       2
      sin (a) sin (3 b + 3 a)
(%o4) -----------------------
               2
            sin (b + a)

                                        %pi
   2 sin(a) sin(3 a) cos(b) sin(b + a - ---) sin(3 b + 3 a)
                                         3
 - --------------------------------------------------------
                           %pi
                   sin(a - ---) sin(b + a)
                            3

      2         2         %pi
   sin (3 a) sin (b + a - ---)
                           3
 + ---------------------------
             2     %pi
          sin (a - ---)
                    3
(%i5) trigrat (ac2);
(%o5) - (sqrt(3) sin(4 b + 4 a) - cos(4 b + 4 a)

 - 2 sqrt(3) sin(4 b + 2 a) + 2 cos(4 b + 2 a)

 - 2 sqrt(3) sin(2 b + 4 a) + 2 cos(2 b + 4 a)

 + 4 sqrt(3) sin(2 b + 2 a) - 8 cos(2 b + 2 a) - 4 cos(2 b - 2 a)

 + sqrt(3) sin(4 b) - cos(4 b) - 2 sqrt(3) sin(2 b) + 10 cos(2 b)

 + sqrt(3) sin(4 a) - cos(4 a) - 2 sqrt(3) sin(2 a) + 10 cos(2 a)

 - 9)/4


Previous: Тригонометрия в Maxima, Up: Тригонометрия   [Contents][Index]