역삼각함수란 삼각함수의 역함수를 의미하고,

역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다.

수학에서 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
*/

 

 

Posted by Scripter
,