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.
- : cosh (x) ¶
-
Вычисляет гиперболический косинус для каждого элемента x.
- : tanh (x) ¶
-
Вычисляет гиперболический тангенс для каждого элемента x.
- : atan2 (y, x) ¶
-
Вычислить arctg (y / x) для соответствующих элементов y и x.
y и x должны совпадать по размеру и ориентации. Знаки элементов y и x используются для определения квадрантов каждого результирующего значения.
Эта функция эквивалентна
arg (complex (x, y)).
Octave предоставляет следующие тригонометрические функции, где углы заданы в градусах. Эти функции генерируют истинные нули на соответствующих интервалах, а не небольшую ошибку округления, которая возникает при использовании радиан. Например:
cosd (90)
⇒ 0
cos (pi/2)
⇒ 6.1230e-17 - : sind (x) ¶
-
Вычислить синус для каждого элемента x в градусах.
Функция более точная, чем
sinдля больших значений x и для кратных 180 градусов (x/180является целым числом), гдеsindвозвращает 0, а не небольшое значение порядка eps.
- : cosd (x) ¶
-
Вычислить косинус для каждого элемента x в градусах.
Функция более точная, чем
cosдля больших значений x и для кратных 90 градусов (x = 90 + 180*nс n целым числом), гдеcosdвозвращает 0, а не небольшое значение порядка eps.
- : tand (x) ¶
-
Вычислить тангенс для каждого элемента x в градусах.
Возвращает ноль для элементов, где
x/180является целым числом иInfдля элементов, где(x-90)/180является целым числом.
- : atan2d (y, x) ¶
-
Вычислить arctg (y / x) в градусах для соответствующих элементов y и x.
- : acotd (x) ¶
-
Вычислить обратную котангенс в градусах для каждого элемента x.
Наконец, существуют две тригонометрические функции, которые вычисляют особые аргументы с повышенной точностью.
- : y = sinpi (x) ¶
-
Вычислить синус (x * пи) для каждого элемента 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 * пи) для каждого элемента 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–2022 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/v7.2.0/Trigonometry.html