Previous: Тригонометрия в Maxima, Up: Тригонометрия [Contents][Index]
Значение по умолчанию: 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) ]
Значение по умолчанию: 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)
- Арккосинус.
- Ареакосинус (гиперболический арккосинус).
- Арккотангенс.
- Ареакотангенс (гиперболический арккотангенс).
- Арккосеканс.
- Ареакосеканс (гиперболический арккосеканс).
- Арксеканс.
- Ареасеканс (гиперболический арксеканс).
- Арксинус.
- Ареасинус (гиперболический арксинус).
- Арктангенс.
- соответствует значению atan(y/x)
на интервале
(-%pi
, %pi
).
- Ареатангенс (гиперболический арктангенс).
Пакет atrig1
содержит несколько дополнительных правил упрощения
для обратных тригонометрических функций. Вместе с уже известными Maxima правилами,
полностью реализована работа с углами 0
, %pi/6
, %pi/4
,
%pi/3
и %pi/2
, а также соответствующими углами в трех других четвертях.
Для использования пакета выполните load("atrig1");
.
- Косинус.
- Ареакосинус (гиперболический арккосинус).
- Котангенс.
- Ареакотангенс (гиперболический арккотангенс).
- Косеканс.
- Ареакосеканс (гиперболический арккосеканс).
Значение по умолчанию: 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
содержит набор правил упрощения для тригонометрических
функций с аргументами вида f(n %pi/10)
, где f - одна из
функций sin
, cos
, tan
, csc
, sec
и cot
.
- Секанс.
- Гиперболический секанс.
- Синус.
- Гиперболический синус.
- Тангенс.
- Гиперболический тангенс.
Раскрывает тригонометрические и гиперболические функции суммы или произведения углов в
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)
Значение по умолчанию: true
trigexpandplus
управляет раскрытием функций от сумм аргументов в trigexpand
(если trigexpand
равно true
, либо в функции trigexpand
), например,
sin(x+y)
. Упрощение производится, только если trigexpandplus
равно true
.
Значение по умолчанию: true
trigexpandplus
управляет раскрытием функций от произведений аргументов в
trigexpand
(если trigexpand
равно true
, либо в функции trigexpand
),
например, sin(2*x)
. Упрощение производится, только если trigexpandtimes
равно
true
.
Значение по умолчанию: all
triginverses
управляет раскрытием композиций тригонометрических и гиперболических
функций со своими обратными функциями.
Если all
, то и atan(tan(x))
, и tan(atan(x))
упрощается в x.
Если true
, то упрощение arcfun(fun(x))
не производится.
Если false
, то ни arcfun(fun(x))
, ни
fun(arcfun(x))
не будет упрощено.
Раскрывает произведения и степени 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)
Значение по умолчанию: true
Если trigsign
равно true
, допускается упрощение отрицательных аргументов
тригонометрических функций. Например, sin(-x)
раскроется в -sin(x)
.
Применяет тождества 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
.
Возвращает канонический упрощенный квазилинейный вид тригонометрического выражения;
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]