necesito para calcular Tanh-1 en C#
(y Sinh-1 y Cosh-1)C# Matemáticas cuestión de clase
No me encontré en la biblioteca de matemáticas .. ¿Alguna sugerencia?
EDITAR: Tanh not Tan !!
necesito para calcular Tanh-1 en C#
(y Sinh-1 y Cosh-1)C# Matemáticas cuestión de clase
No me encontré en la biblioteca de matemáticas .. ¿Alguna sugerencia?
EDITAR: Tanh not Tan !!
Necesitas derivarlos a sí mismo usando las funciones existentes, por ejemplo, Math.sin
Usted puede encontrar esto útil:
Secant Sec(X) = 1/Cos(X)
Cosecant Cosec(X) = 1/Sin(X)
Cotangent Cotan(X) = 1/Tan(X)
Inverse Sine Arcsin(X) = Atn(X/Sqr(-X * X + 1))
Inverse Cosine Arccos(X) = Atn(-X/Sqr(-X * X + 1)) + 2 * Atn(1)
Inverse Secant Arcsec(X) = 2 * Atn(1) - Atn(Sgn(X)/Sqr(X * X - 1))
Inverse Cosecant Arccosec(X) = Atn(Sgn(X)/Sqr(X * X - 1))
Inverse Cotangent Arccotan(X) = 2 * Atn(1) - Atn(X)
Hyperbolic Sine HSin(X) = (Exp(X) - Exp(-X))/2
Hyperbolic Cosine HCos(X) = (Exp(X) + Exp(-X))/2
Hyperbolic Tangent HTan(X) = (Exp(X) - Exp(-X))/(Exp(X) + Exp(-X))
Hyperbolic Secant HSec(X) = 2/(Exp(X) + Exp(-X))
Hyperbolic Cosecant HCosec(X) = 2/(Exp(X) - Exp(-X))
Hyperbolic Cotangent HCotan(X) = (Exp(X) + Exp(-X))/(Exp(X) - Exp(-X))
Inverse Hyperbolic Sine HArcsin(X) = Log(X + Sqr(X * X + 1))
Inverse Hyperbolic Cosine HArccos(X) = Log(X + Sqr(X * X - 1))
Inverse Hyperbolic Tangent HArctan(X) = Log((1 + X)/(1 - X))/2
Inverse Hyperbolic Secant HArcsec(X) = Log((Sqr(-X * X + 1) + 1)/X)
Inverse Hyperbolic Cosecant HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1)/X)
Inverse Hyperbolic Cotangent HArccotan(X) = Log((X + 1)/(X - 1))/2
Logarithm to base N LogN(X) = Log(X)/Log(N)
Debe definirlos usted mismo.
http://en.wikipedia.org/wiki/Hyperbolic_function#Inverse_functions_as_logarithms
-1 1 1 + x
tanh x = — ln —————
2 1 - x
-1 _______
sinh x = ln (x + √ x² + 1)
-1 _______
cosh x = ln (x + √ x² - 1)
Tenga en cuenta que el logaritmo natural también es ninguna función en la clase de matemáticas estándar, sin embargo, el logaritmo en general es. Puede usar el logaritmo general con base _e_ (que es una constante en la clase de matemática). Lo cual es, por supuesto, exactamente la definición del logaritmo natural. Solo una nota en aras de la exhaustividad @KennyTM +1 para Math-art :) – Henri
@Henri: 'Math.Log' * es * el logaritmo natural ... – kennytm
Tienes razón, era demasiado rápido:) De hecho, la sobrecarga predeterminada de Math.Log, que solo requiere un doble, es el registro natural. – Henri
Para fórmulas de NET-ify David Relihan:
public static class MathHelper
{
// Secant
public static double Sec(double x)
{
return 1/Math.Cos(x);
}
// Cosecant
public static double Cosec(double x)
{
return 1/Math.Sin(x);
}
// Cotangent
public static double Cotan(double x)
{
return 1/Math.Tan(x);
}
// Inverse Sine
public static double Arcsin(double x)
{
return Math.Atan(x/Math.Sqrt(-x * x + 1));
}
// Inverse Cosine
public static double Arccos(double x)
{
return Math.Atan(-x/Math.Sqrt(-x * x + 1)) + 2 * Math.Atan(1);
}
// Inverse Secant
public static double Arcsec(double x)
{
return 2 * Math.Atan(1) - Math.Atan(Math.Sign(x)/Math.Sqrt(x * x - 1));
}
// Inverse Cosecant
public static double Arccosec(double x)
{
return Math.Atan(Math.Sign(x)/Math.Sqrt(x * x - 1));
}
// Inverse Cotangent
public static double Arccotan(double x)
{
return 2 * Math.Atan(1) - Math.Atan(x);
}
// Hyperbolic Sine
public static double HSin(double x)
{
return (Math.Exp(x) - Math.Exp(-x))/2 ;
}
// Hyperbolic Cosine
public static double HCos(double x)
{
return (Math.Exp(x) + Math.Exp(-x))/2 ;
}
// Hyperbolic Tangent
public static double HTan(double x)
{
return (Math.Exp(x) - Math.Exp(-x))/(Math.Exp(x) + Math.Exp(-x));
}
// Hyperbolic Secant
public static double HSec(double x)
{
return 2/(Math.Exp(x) + Math.Exp(-x));
}
// Hyperbolic Cosecant
public static double HCosec(double x)
{
return 2/(Math.Exp(x) - Math.Exp(-x));
}
// Hyperbolic Cotangent
public static double HCotan(double x)
{
return (Math.Exp(x) + Math.Exp(-x))/(Math.Exp(x) - Math.Exp(-x));
}
// Inverse Hyperbolic Sine
public static double HArcsin(double x)
{
return Math.Log(x + Math.Sqrt(x * x + 1)) ;
}
// Inverse Hyperbolic Cosine
public static double HArccos(double x)
{
return Math.Log(x + Math.Sqrt(x * x - 1));
}
// Inverse Hyperbolic Tangent
public static double HArctan(double x)
{
return Math.Log((1 + x)/(1 - x))/2 ;
}
// Inverse Hyperbolic Secant
public static double HArcsec(double x)
{
return Math.Log((Math.Sqrt(-x * x + 1) + 1)/x);
}
// Inverse Hyperbolic Cosecant
public static double HArccosec(double x)
{
return Math.Log((Math.Sign(x) * Math.Sqrt(x * x + 1) + 1)/x) ;
}
// Inverse Hyperbolic Cotangent
public static double HArccotan(double x)
{
return Math.Log((x + 1)/(x - 1))/2;
}
// Logarithm to base N
public static double LogN(double x, double n)
{
return Math.Log(x)/Math.Log(n);
}
}
También hay fórmula más rápida para tanh la computación, que requieren sólo una exp (), porque tanh se relaciona con función logística:
tanh (x) = 2/(1 + exp (-2 * x)) - 1
también
tanh (x) = 1 - 2/(1 + exp (2 * x))
Solo quería agregar: 'asec (x) = acos (1/x), acsc (x) = asin (1/x), acot (x) = atan (1/x)' – SepehrM