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

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]