역삼각함수란 삼각함수의 역함수를 의미하고,
역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다.
수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데,
C# 언어에서는 Math.Asin 함수로 구현되어 있다.
아래의 소스는 Visual C# 으로 컴파일되는 소스이다.
* Filename: testArcSine.cs
*
* Compile: csc testArcSine.cs /reference:System.Numerics.dll
* Execute: testArcSine
*
* Date: 2013. 1. 1.
* Copyright (c) pkim _AT_ scripts.pe.kr
*/
using System;
using System.Numerics;
namespace ExperimentConsole
{
class Program
{
public static double sin(double x)
{
double y = Math.Sin(x);
return y;
}
public static double asin(double x)
{
double y = Math.Asin(x);
return y;
}
public static double sinh(double x)
{
double y = Math.Sinh(x);
return y;
}
public static double cosh(double x)
{
double y = Math.Cosh(x);
return y;
}
public static double asinh(double x)
{
double y = Math.Log(x + Math.Sqrt(x*x + 1));
return y;
}
public static double acosh(double x)
{
double y = Math.Log(x + Math.Sqrt(x*x - 1));
return y;
}
public static void Main(string[] args)
{
double x = -0.9;
double y = asin(x);
Console.WriteLine("y = asin({0}) = {1:F9}", x, y);
Console.WriteLine("sin(y) = sin({0:F9}) = {1}", y, sin(y));
Console.WriteLine();
x = 1.1;
double u = acosh(x);
Console.WriteLine("u = acosh({0}) = {1:F10}", x, u);
double v = asinh(x);
Console.WriteLine("v = asinh({0}) = {1:F10}", x, v);
Console.WriteLine("cosh(u) = cosh({0:F10}) = {1}", u, cosh(u));
Console.WriteLine("sinh(v) = sinh({0:F10}) = {1}", v, sinh(v));
}
}
}
/*
Output:
y = asin(-0.9) = -1.119769515
sin(y) = sin(-1.119769515) = -0.9
u = acosh(1.1) = 0.4435682544
v = asinh(1.1) = 0.9503469298
cosh(u) = cosh(0.4435682544) = 1.1
sinh(v) = sinh(0.9503469298) = 1.1
*/
'프로그래밍 > C#' 카테고리의 다른 글
C# 에서 xmpir 사용하기 (0) | 2013.01.24 |
---|---|
C# 언어로 평방근, 입방근, n제곱근 구하는 함수를 구현하고 테스트하기 (0) | 2013.01.11 |
C# 웹 프로그래밍에서 CodeBehind와 CodeFile의 차이점 (0) | 2012.04.12 |
C# 과 근사공식을 이용한 PI/sqrt(12) 의 근사값 계산 (0) | 2012.01.21 |
C# 언어로 dll 파일 만들고 이용하기 (0) | 2010.07.02 |