$tanh(集計)
$tanh
ラジアンで測定された値の双曲線タンジェントを返します。
$tanh
の構文は次のとおりです。{ $tanh: <expression> } $tanh
は、ラジアンで測定された数値に変換される有効な式であればどれでもかまいません。 式が値を度単位で返す場合は、$degreesToRadians
演算子を使用して値をラジアンに変換します。デフォルトでは、
$tanh
は値をdouble
として返します。$tanh
では、<expression>
が128ビットの 10 進数値に解決される場合は、 128ビットの 10 進数として値を返すこともできます。式の詳細については、「式演算子」を参照してください。
動作
null
、NaN
、+/- Infinity
入力引数がnull
の値に解決されるか、欠落しているフィールドを参照する場合、 $tanh
はnull
を返します。 引数がNaN
に解決されると、 $tanh
はNaN
を返します。 引数が負のInfinity
に解決される場合、 $tanh
はそれぞれ-1
または1
を返します。
例 | 結果 |
---|---|
{ $tanh: NaN } | NaN |
{ $tanh: null } | null |
{ $tanh: -Infinity } | -1 |
{ $tanh: Infinity } | 1 |
例
次のtrigonometry
コレクションには、度単位で測定されたangle
値を保存するドキュメントが含まれています。
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d45" ), "angle" : NumberDecimal( "53.1301023541559787031443874490659" ) } )
次の集計操作では、 $tanh
式を使用してangle
の双曲線タンジェントを計算し、それを$addFields
パイプライン ステージを使用して入力ドキュメントに追加します。
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : { $degreesToRadians : "$angle" } } } } ] )
$degreesToRadians
式は、 angle
を度単位でラジアンに変換します。
出力例:
{ "_id" : ObjectId("5c50782193f833234ba90d45"), "angle" : NumberDecimal("53.1301023541559787031443874490659"), "tanh_output" : NumberDecimal("0.7293303448445332820512777329448416") }
angle
は128ビットの 10 進数として保存されるため、 $tanh
の出力も128ビットの 10 進数になります。
次のtrigonometry
コレクションには、ラジアンで測定されたangle
値を保存するドキュメントが含まれています。
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d55" ), "angle" : NumberDecimal( "1.6301023541559787031443874490659" ) } )
次の集計操作では、 $tanh
式を使用してangle
の双曲線タンジェントを計算し、それを$addFields
パイプライン ステージを使用して入力ドキュメントに追加します。
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : "$angle" } } } ] )
出力例:
{ "_id" : ObjectId("5c50782193f833234ba90d55"), "angle" : NumberDecimal("1.6301023541559787031443874490659"), "tanh_output" : NumberDecimal("0.9260761562750713360156803177935379") }
angle
は128ビットの 10 進数として保存されるため、 $tanh
の出力も128ビットの 10 進数になります。