$atanhRetorna a tangente hiperbólica inversa (tangente do arco hiperbólico) de um valor.
$atanhtem a seguinte sintaxe:{ $atanh: <expression> } $atanhpega qualquerexpressão válida que resolva para um número entre-1e1, por exemplo-1 <= value <= 1.$atanhretorna valores em radianos. Utilize o operador$radiansToDegreespara converter o valor de saída de radianos para graus.Por padrão ,
$atanhretorna valores comodouble.$atanhtambém pode retornar valores como um decimal128bits , desde que<expression>seja resolvido para um valor decimal 128bits.Para mais informações sobre expressões, consulte Expressões.
Comportamento
null, NaN e +/- Infinity
Se o argumento for resolvido para um valor de null ou se referir a um campo ausente, $atanh retornará null. Se o argumento se resolve em NaN, $atanh retorna NaN. Se o argumento resolver para infinito negativo ou positivo, $atanh lançará um erro. Se o argumento se resolve em +1 ou -1, $atanh retornará Infinity e -Infinity respectivamente.
Exemplo | Resultados | |||
|---|---|---|---|---|
|
| |||
|
| |||
|
| |||
|
| |||
ou
| Lança uma mensagem de erro semelhante à seguinte saída formatada: |
Exemplo
A coleção trigonometry contém um documento que armazena um valor ao longo do eixo x de um gráfico 2-D:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("0.5") }
A seguinte operação de agregação utiliza a expressão $atanh para calcular a tangente hiperbólica inversa de x-coordinate e adicioná-la ao documento de entrada utilizando o estágio de pipeline $addFields .
db.trigonometry.aggregate([ { $addFields : { "y-coordinate" : { $radiansToDegrees : { $atanh : "$x-coordinate" } } } } ])
A expressão $radiansToDegrees converte o valor radianos retornado por $atanh para o valor equivalente em graus.
O comando retorna a seguinte saída:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("0.5"), "y-coordinate" : NumberDecimal("31.47292373094538001977241539068589") }
Como x-coordinate é armazenado como um decimal128bits, a saída de $atanh é um decimal 128bits.
A coleção trigonometry contém um documento que armazena um valor ao longo do eixo x de um gráfico 2-D:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("0.5") }
A seguinte operação de agregação utiliza a expressão $atanh para calcular a tangente hiperbólica inversa de x-coordinate e adicioná-la ao documento de entrada utilizando o estágio de pipeline $addFields .
db.trigonometry.aggregate([ { $addFields : { "y-coordinate" : { $atanh : "$x-coordinate" } } } ])
O comando retorna a seguinte saída:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("0.5"), "y-coordinate" : NumberDecimal("0.5493061443340548456976226184612628") }
Como x-coordinate é armazenado como um decimal128bits, a saída de $asin é um decimal 128bits.