Math.Sinh(Double) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert de sinus hyperbolicus van de opgegeven hoek.
public:
static double Sinh(double value);
public static double Sinh(double value);
static member Sinh : double -> double
Public Shared Function Sinh (value As Double) As Double
Parameters
- value
- Double
Een hoek, gemeten in radialen.
Retouren
De sinus hyperbolicus van value. Als value deze methode gelijk is aan NegativeInfinity, PositiveInfinityof NaN, retourneert deze methode een Double gelijk aan value.
Voorbeelden
In het volgende voorbeeld wordt gebruikgemaakt Sinh van het evalueren van bepaalde hyperbolische identiteiten voor geselecteerde waarden.
// Example for the hyperbolic Math.Sinh( double )
// and Math.Cosh( double ) methods.
using System;
class SinhCosh
{
public static void Main()
{
Console.WriteLine(
"This example of hyperbolic Math.Sinh( double ) " +
"and Math.Cosh( double )\n" +
"generates the following output.\n" );
Console.WriteLine(
"Evaluate these hyperbolic identities " +
"with selected values for X:" );
Console.WriteLine(
" cosh^2(X) - sinh^2(X) == 1\n" +
" sinh(2 * X) == 2 * sinh(X) * cosh(X)" );
Console.WriteLine( " cosh(2 * X) == cosh^2(X) + sinh^2(X)" );
UseSinhCosh(0.1);
UseSinhCosh(1.2);
UseSinhCosh(4.9);
Console.WriteLine(
"\nEvaluate these hyperbolic identities " +
"with selected values for X and Y:" );
Console.WriteLine(
" sinh(X + Y) == sinh(X) * cosh(Y) + cosh(X) * sinh(Y)" );
Console.WriteLine(
" cosh(X + Y) == cosh(X) * cosh(Y) + sinh(X) * sinh(Y)" );
UseTwoArgs(0.1, 1.2);
UseTwoArgs(1.2, 4.9);
}
// Evaluate hyperbolic identities with a given argument.
static void UseSinhCosh(double arg)
{
double sinhArg = Math.Sinh(arg);
double coshArg = Math.Cosh(arg);
// Evaluate cosh^2(X) - sinh^2(X) == 1.
Console.WriteLine(
"\n Math.Sinh({0}) == {1:E16}\n" +
" Math.Cosh({0}) == {2:E16}",
arg, Math.Sinh(arg), Math.Cosh(arg) );
Console.WriteLine(
"(Math.Cosh({0}))^2 - (Math.Sinh({0}))^2 == {1:E16}",
arg, coshArg * coshArg - sinhArg * sinhArg );
// Evaluate sinh(2 * X) == 2 * sinh(X) * cosh(X).
Console.WriteLine(
" Math.Sinh({0}) == {1:E16}",
2.0 * arg, Math.Sinh(2.0 * arg) );
Console.WriteLine(
" 2 * Math.Sinh({0}) * Math.Cosh({0}) == {1:E16}",
arg, 2.0 * sinhArg * coshArg );
// Evaluate cosh(2 * X) == cosh^2(X) + sinh^2(X).
Console.WriteLine(
" Math.Cosh({0}) == {1:E16}",
2.0 * arg, Math.Cosh(2.0 * arg) );
Console.WriteLine(
"(Math.Cosh({0}))^2 + (Math.Sinh({0}))^2 == {1:E16}",
arg, coshArg * coshArg + sinhArg * sinhArg );
}
// Evaluate hyperbolic identities that are functions of two arguments.
static void UseTwoArgs(double argX, double argY)
{
// Evaluate sinh(X + Y) == sinh(X) * cosh(Y) + cosh(X) * sinh(Y).
Console.WriteLine(
"\n Math.Sinh({0}) * Math.Cosh({1}) +\n" +
" Math.Cosh({0}) * Math.Sinh({1}) == {2:E16}",
argX, argY, Math.Sinh(argX) * Math.Cosh(argY) +
Math.Cosh(argX) * Math.Sinh(argY));
Console.WriteLine(
" Math.Sinh({0}) == {1:E16}",
argX + argY, Math.Sinh(argX + argY));
// Evaluate cosh(X + Y) == cosh(X) * cosh(Y) + sinh(X) * sinh(Y).
Console.WriteLine(
" Math.Cosh({0}) * Math.Cosh({1}) +\n" +
" Math.Sinh({0}) * Math.Sinh({1}) == {2:E16}",
argX, argY, Math.Cosh(argX) * Math.Cosh(argY) +
Math.Sinh(argX) * Math.Sinh(argY));
Console.WriteLine(
" Math.Cosh({0}) == {1:E16}",
argX + argY, Math.Cosh(argX + argY));
}
}
/*
This example of hyperbolic Math.Sinh( double ) and Math.Cosh( double )
generates the following output.
Evaluate these hyperbolic identities with selected values for X:
cosh^2(X) - sinh^2(X) == 1
sinh(2 * X) == 2 * sinh(X) * cosh(X)
cosh(2 * X) == cosh^2(X) + sinh^2(X)
Math.Sinh(0.1) == 1.0016675001984403E-001
Math.Cosh(0.1) == 1.0050041680558035E+000
(Math.Cosh(0.1))^2 - (Math.Sinh(0.1))^2 == 9.9999999999999989E-001
Math.Sinh(0.2) == 2.0133600254109399E-001
2 * Math.Sinh(0.1) * Math.Cosh(0.1) == 2.0133600254109396E-001
Math.Cosh(0.2) == 1.0200667556190759E+000
(Math.Cosh(0.1))^2 + (Math.Sinh(0.1))^2 == 1.0200667556190757E+000
Math.Sinh(1.2) == 1.5094613554121725E+000
Math.Cosh(1.2) == 1.8106555673243747E+000
(Math.Cosh(1.2))^2 - (Math.Sinh(1.2))^2 == 1.0000000000000000E+000
Math.Sinh(2.4) == 5.4662292136760939E+000
2 * Math.Sinh(1.2) * Math.Cosh(1.2) == 5.4662292136760939E+000
Math.Cosh(2.4) == 5.5569471669655064E+000
(Math.Cosh(1.2))^2 + (Math.Sinh(1.2))^2 == 5.5569471669655064E+000
Math.Sinh(4.9) == 6.7141166550932297E+001
Math.Cosh(4.9) == 6.7148613134003227E+001
(Math.Cosh(4.9))^2 - (Math.Sinh(4.9))^2 == 1.0000000000000000E+000
Math.Sinh(9.8) == 9.0168724361884615E+003
2 * Math.Sinh(4.9) * Math.Cosh(4.9) == 9.0168724361884615E+003
Math.Cosh(9.8) == 9.0168724916400624E+003
(Math.Cosh(4.9))^2 + (Math.Sinh(4.9))^2 == 9.0168724916400606E+003
Evaluate these hyperbolic identities with selected values for X and Y:
sinh(X + Y) == sinh(X) * cosh(Y) + cosh(X) * sinh(Y)
cosh(X + Y) == cosh(X) * cosh(Y) + sinh(X) * sinh(Y)
Math.Sinh(0.1) * Math.Cosh(1.2) +
Math.Cosh(0.1) * Math.Sinh(1.2) == 1.6983824372926155E+000
Math.Sinh(1.3) == 1.6983824372926160E+000
Math.Cosh(0.1) * Math.Cosh(1.2) +
Math.Sinh(0.1) * Math.Sinh(1.2) == 1.9709142303266281E+000
Math.Cosh(1.3) == 1.9709142303266285E+000
Math.Sinh(1.2) * Math.Cosh(4.9) +
Math.Cosh(1.2) * Math.Sinh(4.9) == 2.2292776360739879E+002
Math.Sinh(6.1) == 2.2292776360739885E+002
Math.Cosh(1.2) * Math.Cosh(4.9) +
Math.Sinh(1.2) * Math.Sinh(4.9) == 2.2293000647511826E+002
Math.Cosh(6.1) == 2.2293000647511832E+002
*/
// Example for the hyperbolic Math.Sinh( double )
// and Math.Cosh( double ) methods.
// In F#, the sinh and coh functions may be used instead
open System
// Evaluate hyperbolic identities with a given argument.
let useSinhCosh arg =
let sinhArg = Math.Sinh arg
let coshArg = Math.Cosh arg
// Evaluate cosh^2(X) - sinh^2(X) = 1.
printfn $"""
Math.Sinh({arg}) = {Math.Sinh arg:E16}
Math.Cosh({arg}) = {Math.Cosh arg:E16}"""
printfn $"(Math.Cosh({arg}))^2 - (Math.Sinh({arg}))^2 = {coshArg * coshArg - sinhArg * sinhArg:E16}"
// Evaluate sinh(2 * X) = 2 * sinh(X) * cosh(X).
printfn $" Math.Sinh({2. * arg}) = {Math.Sinh(2. * arg):E16}"
printfn $" 2 * Math.Sinh({arg}) * Math.Cosh({arg}) = {2. * sinhArg * coshArg:E16}"
// Evaluate cosh(2 * X) = cosh^2(X) + sinh^2(X).
printfn $" Math.Cosh({2. * arg}) = {Math.Cosh(2. * arg):E16}"
printfn $"(Math.Cosh({arg}))^2 + (Math.Sinh({arg}))^2 = {coshArg * coshArg + sinhArg * sinhArg:E16}"
// Evaluate hyperbolic identities that are functions of two arguments.
let useTwoArgs argX argY =
// Evaluate sinh(X + Y) = sinh(X) * cosh(Y) + cosh(X) * sinh(Y).
printfn $"""
Math.Sinh({argX}) * Math.Cosh({argY})
Math.Cosh({argX}) * Math.Sinh({argY}) = {Math.Sinh argX * Math.Cosh argY + Math.Cosh argX * Math.Sinh argY:E16}"""
printfn $" Math.Sinh({argX + argY}) = {Math.Sinh(argX + argY):E16}"
// Evaluate cosh(X + Y) = cosh(X) * cosh(Y) + sinh(X) * sinh(Y).
printfn
"""Math.Cosh({argX}) * Math.Cosh({argY})
Math.Sinh({argX}) * Math.Sinh({argY}) = {Math.Cosh argX * Math.Cosh argY + Math.Sinh argX * Math.Sinh argY:E16}"""
printfn $" Math.Cosh({argX + argY}) = {Math.Cosh(argX + argY):E16}"
printfn
"""This example of hyperbolic Math.Sinh( double )
and Math.Cosh( double )
generates the following output.
Evaluate these hyperbolic identities with selected values for X:
cosh^2(X) - sinh^2(X) = 1
sinh(2 * X) = 2 * sinh(X) * cosh(X)
cosh(2 * X) = cosh^2(X) + sinh^2(X)"""
useSinhCosh 0.1
useSinhCosh 1.2
useSinhCosh 4.9
printfn "\nEvaluate these hyperbolic identities with selected values for X and Y:"
printfn " sinh(X + Y) = sinh(X) * cosh(Y) + cosh(X) * sinh(Y)"
printfn " cosh(X + Y) = cosh(X) * cosh(Y) + sinh(X) * sinh(Y)"
useTwoArgs 0.1 1.2
useTwoArgs 1.2 4.9
// This example of hyperbolic Math.Sinh( double ) and Math.Cosh( double )
// generates the following output.
// Evaluate these hyperbolic identities with selected values for X:
// cosh^2(X) - sinh^2(X) = 1
// sinh(2 * X) = 2 * sinh(X) * cosh(X)
// cosh(2 * X) = cosh^2(X) + sinh^2(X)
// Math.Sinh(0.1) = 1.0016675001984403E-001
// Math.Cosh(0.1) = 1.0050041680558035E+000
// (Math.Cosh(0.1))^2 - (Math.Sinh(0.1))^2 = 9.9999999999999989E-001
// Math.Sinh(0.2) = 2.0133600254109399E-001
// 2 * Math.Sinh(0.1) * Math.Cosh(0.1) = 2.0133600254109396E-001
// Math.Cosh(0.2) = 1.0200667556190759E+000
// (Math.Cosh(0.1))^2 + (Math.Sinh(0.1))^2 = 1.0200667556190757E+000
// Math.Sinh(1.2) = 1.5094613554121725E+000
// Math.Cosh(1.2) = 1.8106555673243747E+000
// (Math.Cosh(1.2))^2 - (Math.Sinh(1.2))^2 = 1.0000000000000000E+000
// Math.Sinh(2.4) = 5.4662292136760939E+000
// 2 * Math.Sinh(1.2) * Math.Cosh(1.2) = 5.4662292136760939E+000
// Math.Cosh(2.4) = 5.5569471669655064E+000
// (Math.Cosh(1.2))^2 + (Math.Sinh(1.2))^2 = 5.5569471669655064E+000
// Math.Sinh(4.9) = 6.7141166550932297E+001
// Math.Cosh(4.9) = 6.7148613134003227E+001
// (Math.Cosh(4.9))^2 - (Math.Sinh(4.9))^2 = 1.0000000000000000E+000
// Math.Sinh(9.8) = 9.0168724361884615E+003
// 2 * Math.Sinh(4.9) * Math.Cosh(4.9) = 9.0168724361884615E+003
// Math.Cosh(9.8) = 9.0168724916400624E+003
// (Math.Cosh(4.9))^2 + (Math.Sinh(4.9))^2 = 9.0168724916400606E+003
// Evaluate these hyperbolic identities with selected values for X and Y:
// sinh(X + Y) = sinh(X) * cosh(Y) + cosh(X) * sinh(Y)
// cosh(X + Y) = cosh(X) * cosh(Y) + sinh(X) * sinh(Y)
// Math.Sinh(0.1) * Math.Cosh(1.2) +
// Math.Cosh(0.1) * Math.Sinh(1.2) = 1.6983824372926155E+000
// Math.Sinh(1.3) = 1.6983824372926160E+000
// Math.Cosh(0.1) * Math.Cosh(1.2) +
// Math.Sinh(0.1) * Math.Sinh(1.2) = 1.9709142303266281E+000
// Math.Cosh(1.3) = 1.9709142303266285E+000
// Math.Sinh(1.2) * Math.Cosh(4.9) +
// Math.Cosh(1.2) * Math.Sinh(4.9) = 2.2292776360739879E+002
// Math.Sinh(6.1) = 2.2292776360739885E+002
// Math.Cosh(1.2) * Math.Cosh(4.9) +
// Math.Sinh(1.2) * Math.Sinh(4.9) = 2.2293000647511826E+002
// Math.Cosh(6.1) = 2.2293000647511832E+002
' Example for the hyperbolic Math.Sinh( Double ) and Math.Cosh( Double ) methods.
Module SinhCosh
Sub Main()
Console.WriteLine( _
"This example of hyperbolic " & _
"Math.Sinh( Double ) and Math.Cosh( Double )" & vbCrLf & _
"generates the following output." & vbCrLf)
Console.WriteLine( _
"Evaluate these hyperbolic identities " & _
"with selected values for X:")
Console.WriteLine( _
" cosh^2(X) - sinh^2(X) = 1" & vbCrLf & _
" sinh(2 * X) = 2 * sinh(X) * cosh(X)")
Console.WriteLine(" cosh(2 * X) = cosh^2(X) + sinh^2(X)")
UseSinhCosh(0.1)
UseSinhCosh(1.2)
UseSinhCosh(4.9)
Console.WriteLine( _
vbCrLf & "Evaluate these hyperbolic " & _
"identities with selected values for X and Y:")
Console.WriteLine( _
" sinh(X + Y) = sinh(X) * cosh(Y) + cosh(X) * sinh(Y)")
Console.WriteLine( _
" cosh(X + Y) = cosh(X) * cosh(Y) + sinh(X) * sinh(Y)")
UseTwoArgs(0.1, 1.2)
UseTwoArgs(1.2, 4.9)
End Sub
' Evaluate hyperbolic identities with a given argument.
Sub UseSinhCosh(arg As Double)
Dim sinhArg As Double = Math.Sinh(arg)
Dim coshArg As Double = Math.Cosh(arg)
' Evaluate cosh^2(X) - sinh^2(X) = 1.
Console.WriteLine( _
vbCrLf & " Math.Sinh({0}) = {1:E16}" + _
vbCrLf & " Math.Cosh({0}) = {2:E16}", _
arg, Math.Sinh(arg), Math.Cosh(arg))
Console.WriteLine( _
"(Math.Cosh({0}))^2 - (Math.Sinh({0}))^2 = {1:E16}", _
arg, coshArg * coshArg - sinhArg * sinhArg)
' Evaluate sinh(2 * X) = 2 * sinh(X) * cosh(X).
Console.WriteLine( _
" Math.Sinh({0}) = {1:E16}", _
2.0 * arg, Math.Sinh((2.0 * arg)))
Console.WriteLine( _
" 2 * Math.Sinh({0}) * Math.Cosh({0}) = {1:E16}", _
arg, 2.0 * sinhArg * coshArg)
' Evaluate cosh(2 * X) = cosh^2(X) + sinh^2(X).
Console.WriteLine( _
" Math.Cosh({0}) = {1:E16}", _
2.0 * arg, Math.Cosh((2.0 * arg)))
Console.WriteLine( _
"(Math.Cosh({0}))^2 + (Math.Sinh({0}))^2 = {1:E16}", _
arg, coshArg * coshArg + sinhArg * sinhArg)
End Sub
' Evaluate hyperbolic identities that are functions of two arguments.
Sub UseTwoArgs(argX As Double, argY As Double)
' Evaluate sinh(X + Y) = sinh(X) * cosh(Y) + cosh(X) * sinh(Y).
Console.WriteLine( _
vbCrLf & " Math.Sinh({0}) * Math.Cosh({1}) +" + _
vbCrLf & " Math.Cosh({0}) * Math.Sinh({1}) = {2:E16}", _
argX, argY, Math.Sinh(argX) * Math.Cosh(argY) + _
Math.Cosh(argX) * Math.Sinh(argY))
Console.WriteLine( _
" Math.Sinh({0}) = {1:E16}", _
argX + argY, Math.Sinh((argX + argY)))
' Evaluate cosh(X + Y) = cosh(X) * cosh(Y) + sinh(X) * sinh(Y).
Console.WriteLine( _
" Math.Cosh({0}) * Math.Cosh({1}) +" + _
vbCrLf & " Math.Sinh({0}) * Math.Sinh({1}) = {2:E16}", _
argX, argY, Math.Cosh(argX) * Math.Cosh(argY) + _
Math.Sinh(argX) * Math.Sinh(argY))
Console.WriteLine( _
" Math.Cosh({0}) = {1:E16}", _
argX + argY, Math.Cosh((argX + argY)))
End Sub
End Module 'SinhCosh
' This example of hyperbolic Math.Sinh( Double ) and Math.Cosh( Double )
' generates the following output.
'
' Evaluate these hyperbolic identities with selected values for X:
' cosh^2(X) - sinh^2(X) = 1
' sinh(2 * X) = 2 * sinh(X) * cosh(X)
' cosh(2 * X) = cosh^2(X) + sinh^2(X)
'
' Math.Sinh(0.1) = 1.0016675001984403E-001
' Math.Cosh(0.1) = 1.0050041680558035E+000
' (Math.Cosh(0.1))^2 - (Math.Sinh(0.1))^2 = 9.9999999999999989E-001
' Math.Sinh(0.2) = 2.0133600254109399E-001
' 2 * Math.Sinh(0.1) * Math.Cosh(0.1) = 2.0133600254109396E-001
' Math.Cosh(0.2) = 1.0200667556190759E+000
' (Math.Cosh(0.1))^2 + (Math.Sinh(0.1))^2 = 1.0200667556190757E+000
'
' Math.Sinh(1.2) = 1.5094613554121725E+000
' Math.Cosh(1.2) = 1.8106555673243747E+000
' (Math.Cosh(1.2))^2 - (Math.Sinh(1.2))^2 = 1.0000000000000000E+000
' Math.Sinh(2.4) = 5.4662292136760939E+000
' 2 * Math.Sinh(1.2) * Math.Cosh(1.2) = 5.4662292136760939E+000
' Math.Cosh(2.4) = 5.5569471669655064E+000
' (Math.Cosh(1.2))^2 + (Math.Sinh(1.2))^2 = 5.5569471669655064E+000
'
' Math.Sinh(4.9) = 6.7141166550932297E+001
' Math.Cosh(4.9) = 6.7148613134003227E+001
' (Math.Cosh(4.9))^2 - (Math.Sinh(4.9))^2 = 1.0000000000000000E+000
' Math.Sinh(9.8) = 9.0168724361884615E+003
' 2 * Math.Sinh(4.9) * Math.Cosh(4.9) = 9.0168724361884615E+003
' Math.Cosh(9.8) = 9.0168724916400624E+003
' (Math.Cosh(4.9))^2 + (Math.Sinh(4.9))^2 = 9.0168724916400606E+003
'
' Evaluate these hyperbolic identities with selected values for X and Y:
' sinh(X + Y) = sinh(X) * cosh(Y) + cosh(X) * sinh(Y)
' cosh(X + Y) = cosh(X) * cosh(Y) + sinh(X) * sinh(Y)
'
' Math.Sinh(0.1) * Math.Cosh(1.2) +
' Math.Cosh(0.1) * Math.Sinh(1.2) = 1.6983824372926155E+000
' Math.Sinh(1.3) = 1.6983824372926160E+000
' Math.Cosh(0.1) * Math.Cosh(1.2) +
' Math.Sinh(0.1) * Math.Sinh(1.2) = 1.9709142303266281E+000
' Math.Cosh(1.3) = 1.9709142303266285E+000
'
' Math.Sinh(1.2) * Math.Cosh(4.9) +
' Math.Cosh(1.2) * Math.Sinh(4.9) = 2.2292776360739879E+002
' Math.Sinh(6.1) = 2.2292776360739885E+002
' Math.Cosh(1.2) * Math.Cosh(4.9) +
' Math.Sinh(1.2) * Math.Sinh(4.9) = 2.2293000647511826E+002
' Math.Cosh(6.1) = 2.2293000647511832E+002
Opmerkingen
De hoek, valuemoet in radialen staan. Vermenigvuldig met Math.PI/180 om graden te converteren naar radialen.
Deze methode roept de onderliggende C-runtime aan en het exacte resultaat of geldige invoerbereik kan verschillen tussen verschillende besturingssystemen of architecturen.