$atanhDevuelve la tangente hiperbólica inversa (arco tangente hiperbólica) de un valor.
$atanhtiene la siguiente sintaxis:{ $atanh: <expression> } $atanhtakes any valid expresión que da como resultado un número entre-1y1, por ejemplo,-1 <= value <= 1.$atanhdevuelve valores en radianes. Utilice el operador$radiansToDegreespara convertir el valor de salida de radianes a grados.Por defecto,
$atanhdevuelve valores como undouble.$atanhtambién puede devolver valores como un decimal de128-bits, siempre y cuando el<expression>se resuelva en un valor decimal de 128-bits.Para obtener más información sobre las expresiones, consulta Expresiones.
Comportamiento
null; NaN, y +/- Infinity
Si el argumento se resuelve en un valor de null, o hace referencia a un campo que falta, $atanh devuelve null. Si el argumento se resuelve como NaN, $atanh devuelve NaN. Si el argumento se resuelve a infinito negativo o positivo, $atanh arroja un error. Si el argumento se resuelve en +1 o -1, $atanh devuelve Infinity y -Infinity respectivamente.
Ejemplo | Resultados | |||
|---|---|---|---|---|
|
| |||
|
| |||
|
| |||
|
| |||
or
| Genera un mensaje de error que se asemeja al siguiente resultado formateado: |
Ejemplo
La colección trigonometry contiene un documento que almacena un valor a lo largo del eje x de un gráfico 2-D:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : Decimal128("0.5") }
La siguiente operación de agregación utiliza la $atanh expresión para calcular la tangente hiperbólica inversa de x-coordinate y agregarla al documento $addFields de entrada utilizando la etapa de canalización.
db.trigonometry.aggregate([ { $addFields : { "y-coordinate" : { $radiansToDegrees : { $atanh : "$x-coordinate" } } } } ])
La expresión $radiansToDegrees convierte el valor en radianes devuelto por $atanh al valor equivalente en grados.
El comando devuelve la siguiente salida:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : Decimal128("0.5"), "y-coordinate" : Decimal128("31.47292373094538001977241539068589") }
Dado que x-coordinate se almacena como un decimal de128bits, la salida de $atanh es un decimal de 128bits.
La colección trigonometry contiene un documento que almacena un valor a lo largo del eje x de un gráfico 2-D:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : Decimal128("0.5") }
La siguiente operación de agregación utiliza la $atanh expresión para calcular la tangente hiperbólica inversa de x-coordinate y agregarla al documento $addFields de entrada utilizando la etapa de canalización.
db.trigonometry.aggregate([ { $addFields : { "y-coordinate" : { $atanh : "$x-coordinate" } } } ])
El comando devuelve la siguiente salida:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : Decimal128("0.5"), "y-coordinate" : Decimal128("0.5493061443340548456976226184612628") }
Dado que x-coordinate se almacena como un decimal de128bits, la salida de $asin es un decimal de 128bits.