Spec-Zone.ru › C++

std::sinh(std::complex)

Определено в заголовочном файле <complex>
template< class T > 
complex<T> sinh( const complex<T>& z );
(начиная с C++11)

Вычисляет гиперболический синус комплексного значения z.

Параметры

z - комплексное значение

Возвращаемое значение

Если ошибок не возникает, возвращается гиперболический синус z.

Обработка ошибок и специальные значения

Об ошибках сообщается в соответствии с math_errhandling.

Если реализация поддерживает арифметику с плавающей точкой IEEE,

  • std::sinh(std::conj(z)) == std::conj(std::sinh(z))
  • std::sinh(z) == -std::sinh(-z)
  • Если z равно (+0,+0), результатом будет (+0,+0)
  • Если z равно (+0,+∞), результатом будет (±0,NaN) (знак действительной части не определён), и возникает исключение FE_INVALID
  • Если z равно (+0,NaN), результатом будет (±0,NaN)
  • Если z равно (x,+∞) (для любого положительного конечного x), результатом будет (NaN,NaN), и возникает исключение FE_INVALID
  • Если z равно (x,NaN) (для любого положительного конечного x), результатом будет (NaN,NaN), и может возникнуть исключение FE_INVALID
  • Если z равно (+∞,+0), результатом будет (+∞,+0)
  • Если z равно (+∞,y) (для любого положительного конечного y), результатом будет +∞cis(y)
  • Если z равно (+∞,+∞), результатом будет (±∞,NaN) (знак действительной части не определён), и возникает исключение FE_INVALID
  • Если z равно (+∞,NaN), результатом будет (±∞,NaN) (знак действительной части не определён)
  • Если z равно (NaN,+0), результатом будет (NaN,+0)
  • Если z равно (NaN,y) (для любого конечного ненулевого y), результатом будет (NaN,NaN), и может возникнуть исключение FE_INVALID
  • Если z равно (NaN,NaN), результатом будет (NaN,NaN)

где cis(y) — это cos(y) + i sin(y).

Примечания

Математическое определение гиперболического синуса: sinh z =

ez-e-z/2

.

Гиперболический синус является целой функцией на комплексной плоскости и не имеет разрезов ветвей. Он периодичен по мнимой компоненте с периодом 2πi.

Пример

#include <cmath>
#include <complex>
#include <iostream>

int main()
{
    std::cout << std::fixed;
    std::complex<double> z(1.0, 0.0); // behaves like real sinh along the real line
    std::cout << "sinh" << z << " = " << std::sinh(z)
              << " (sinh(1) = " << std::sinh(1) << ")\n";

    std::complex<double> z2(0.0, 1.0); // behaves like sine along the imaginary line
    std::cout << "sinh" << z2 << " = " << std::sinh(z2)
              << " ( sin(1) = " << std::sin(1) << ")\n";
}

Вывод:

sinh(1.000000,0.000000) = (1.175201,0.000000) (sinh(1) = 1.175201)
sinh(0.000000,1.000000) = (0.000000,0.841471) ( sin(1) = 0.841471)

См. также

cosh(std::complex)
вычисляет гиперболический косинус комплексного числа (\({\small\cosh{z}}\)cosh(z))
(шаблон функции)
tanh(std::complex)
вычисляет гиперболический тангенс комплексного числа (\({\small\tanh{z}}\)tanh(z))
(шаблон функции)
asinh(std::complex)
(C++11)
вычисляет обратный гиперболический синус комплексного числа (\({\small\operatorname{arsinh}{z}}\)arsinh(z))
(шаблон функции)
sinhsinhfsinhl
(C++11)(C++11)
вычисляет гиперболический синус (\({\small\sinh{x}}\)sinh(x))
(функция)
sinh(std::valarray)
применяет функцию std::sinh к каждому элементу valarray
(шаблон функции)
Документация C для csinh

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/complex/sinh

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API