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

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

수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데,

Lua 언어에서는 math.asin() 함수로 구현되어 있다.

 

-- Filename: testArcSine.lua
--
-- Execute: lua testArcSine.lua
--
-- Date: 2013. 1. 1.
-- Copyright (c) pkim _AT_ scripts.pe.kr

function sin(x)
    local y = math.sin(x)
    return y
end

function asin(x)
    local y = math.asin(x)
    return y
end

function sinh(x)
    local y = math.sinh(x)
    return y
end

function cosh(x)
    local y = math.cosh(x)
    return y
end

function asinh(x)
    local y = math.log(x + math.sqrt(x*x + 1))
    return y
end

function acosh(x)
    local y = math.log(x + math.sqrt(x*x - 1))
    return y
end


x = -0.9
y = asin(x)
print(string.format("y = asin(%g) = %.9f", x, y))
print(string.format("sin(y) = sin(%.9f) = %g", y, sin(y)))
print()

x = 1.1
u = acosh(x)
print(string.format("u = acosh(%g) = %.10f" , x, u))

v = asinh(x)
print(string.format("v = asinh(%g) = %.10f", x, v))

print(string.format("cosh(u) = cosh(%.10f) = %g", u, cosh(u)))
print(string.format("sinh(v) = sinh(%.10f) = %g", v, sinh(v)))

--[[
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
,