17.3 Тригонометрия
Octave предоставляет следующие тригонометрические функции, в которых углы задаются в радианах. Чтобы преобразовать градусы в радианы, умножьте их на pi/180 или используйте функцию deg2rad. Например, sin (30 * pi/180) возвращает синус 30 градусов. Кроме того, Octave предоставляет ряд тригонометрических функций, которые работают непосредственно с аргументом, заданным в градусах. Имена этих функций образованы от названий основных тригонометрических функций с суффиксом «d». Например, sin ожидает угол в радианах, а sind — угол в градусах.
Octave использует тригонометрические функции библиотеки C. Предполагается, что эти функции определены стандартом ISO/IEC 9899. Стандарт доступен по адресу: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf. В разделе F.9.1 рассматриваются тригонометрические функции. Поведение большинства функций относительно простое. Однако есть исключения из стандартного поведения. Многие исключения связаны с поведением для -0. Наиболее сложный случай — atan2. Octave точно реализует поведение, заданное стандартом. В том числе, atan2(+- 0, 0) возвращает +- pi.
Следует отметить, что в MATLAB используются другие определения, которые, по-видимому, не различают -0.
-
:
rad =deg2rad(deg) -
Преобразовать градусы в радианы.
Входной аргумент deg должен быть скаляром, вектором или N-мерным массивом значений с плавающей точкой одинарной или двойной точности. deg может быть комплексным числом; в этом случае действительная и мнимая части преобразуются отдельно.
Выходной аргумент rad имеет тот же размер и форму, что и deg; градусы преобразуются в радианы с использованием коэффициента преобразования
pi/180.Пример:
deg2rad ([0, 90, 180, 270, 360]) ⇒ 0.00000 1.57080 3.14159 4.71239 6.28319
См. также: rad2deg.
-
:
deg =rad2deg(rad) -
Преобразовать радианы в градусы.
Входной аргумент rad должен быть скаляром, вектором или N-мерным массивом значений с плавающей точкой одинарной или двойной точности. rad может быть комплексным числом; в этом случае действительная и мнимая части преобразуются отдельно.
Выходной аргумент deg имеет тот же размер и форму, что и rad; радианы преобразуются в градусы с использованием коэффициента преобразования
180/pi.Пример:
rad2deg ([0, pi/2, pi, 3/2*pi, 2*pi]) ⇒ 0 90 180 270 360
См. также: deg2rad.
-
:
y =sin(x) -
Вычислить синус каждого элемента x, заданного в радианах.
-
:
y =cos(x) -
Вычислить косинус каждого элемента x, заданного в радианах.
-
:
y =tan(z) -
Вычислить тангенс каждого элемента x, заданного в радианах.
-
:
y =sec(x) -
Вычислить секанс каждого элемента x, заданного в радианах.
-
:
y =csc(x) -
Вычислить косеканс каждого элемента x, заданного в радианах.
-
:
y =cot(x) -
Вычислить котангенс каждого элемента x, заданного в радианах.
-
:
y =sech(x) -
Вычислить гиперболический секанс каждого элемента x.
См. также: asech.
-
:
y =csch(x) -
Вычислить гиперболический косеканс каждого элемента x.
См. также: acsch.
-
:
y =coth(x) -
Вычислить гиперболический котангенс каждого элемента x.
См. также: acoth.
-
:
y =asinh(x) -
Вычислить обратный гиперболический синус каждого элемента x.
См. также: sinh.
-
:
y =acosh(x) -
Вычислить обратный гиперболический косинус каждого элемента x.
См. также: cosh.
-
:
y =atanh(x) -
Вычислить обратный гиперболический тангенс каждого элемента x.
См. также: tanh.
-
:
y =asech(x) -
Вычислить обратный гиперболический секанс каждого элемента x.
См. также: sech.
-
:
y =acsch(x) -
Вычислить обратный гиперболический косеканс каждого элемента x.
См. также: csch.
-
:
y =acoth(x) -
Вычислить обратный гиперболический котангенс каждого элемента x.
См. также: coth.
-
:
angle =atan2(y, x) -
Вычислить atan (y / x) для соответствующих элементов y и x.
Размер и ориентация y и x должны совпадать. Знаки элементов y и x используются для определения квадрантов каждого результирующего значения.
Эта функция эквивалентна
arg (complex (x, y)).
Octave предоставляет следующие тригонометрические функции, в которых углы задаются в градусах. Эти функции возвращают точные нули в соответствующих точках, а не небольшую погрешность округления, возникающую при использовании радиан. Например:
cosd (90)
⇒ 0
cos (pi/2)
⇒ 6.1230e-17 -
:
y =sind(x) -
Вычислить синус каждого элемента x, заданного в градусах.
Эта функция точнее, чем
sin, при больших значениях x и для кратных 180 градусов (x/180— целое число): в этих случаяхsindвозвращает 0, а не малое значение порядка eps.
-
:
y =cosd(x) -
Вычислить косинус каждого элемента x, заданного в градусах.
Эта функция точнее, чем
cos, при больших значениях x и для кратных 90 градусов (x = 90 + 180*n, где n — целое число): в этих случаяхcosdвозвращает 0, а не малое значение порядка eps.
-
:
y =tand(x) -
Вычислить тангенс каждого элемента x, заданного в градусах.
Возвращает ноль для элементов, для которых
x/180— целое число, иInfдля элементов, для которых(x-90)/180— целое число.
-
:
d =atan2d(y, x) -
Вычислить atan (y / x) в градусах для соответствующих элементов y и x.
Наконец, есть две тригонометрические функции, которые с повышенной точностью вычисляют специальные аргументы.
-
:
y =sinpi(x) -
Точно вычислить синус (x * pi) для каждого элемента x.
Обычная функция
sinиспользует числа с плавающей точкой IEEE и может возвращать результаты, очень близкие к правильному значению (с точностью до нескольких eps), но не точные. Функцияsinpiточнее и возвращает ровно 0 для целых значений x, а для полуцелых значений возвращает +1/-1 (например, …, -3/2, -1/2, 1/2, 3/2, …).Пример
сравнениеsinиsinpiдля целых значений xsin ([0, 1, 2, 3] * pi) ⇒ 0 1.2246e-16 -2.4493e-16 3.6739e-16 sinpi ([0, 1, 2, 3]) ⇒ 0 0 0 0
-
:
y =cospi(x) -
Точно вычислить косинус (x * pi) для каждого элемента x.
Обычная функция
cosиспользует числа с плавающей точкой IEEE и может возвращать результаты, очень близкие к правильному значению (с точностью до нескольких eps), но не точные. Функцияcospiточнее и возвращает ровно 0 для полуцелых значений x (например, …, -3/2, -1/2, 1/2, 3/2, …), а для целых значений возвращает +1/-1.Пример
сравнениеcosиcospiдля полуцелых значений xcos ([-3/2, -1/2, 1/2, 3/2] * pi) ⇒ -1.8370e-16 6.1232e-17 6.1232e-17 -1.8370e-16 cospi ([-3/2, -1/2, 1/2, 3/2]) ⇒ 0 0 0 0
© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Trigonometry.html