把下面程式碼儲存成一個模組,需要的時候就能直接呼叫了。集合了全部三角函式。很實用。
==================
Function Sec(X) As Double "正割
Sec = 1 / Cos(Angle)
End Function
Function Csc(X) As Double "餘割
Csc = 1 / Sin(Angle)
Function Cot(X) As Double "餘切
Cot = 1 / Tan(Angle)
Function ArcSin(X) As Double "反正弦
ArcSin = Atn(X / Sqr(-X * X + 1))
Function ArcCos(X) As Double "反餘弦
ArcCos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Function ArcSec(X) As Double "反正割
ArcSec = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))
Function ArcCsc(X) As Double "反餘割
ArcCsc = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
Function ArcCot(X) As Double "反餘切
ArcCot = Atn(X) + 2 * Atn(1)
Function HSin(X) As Double "雙曲正弦
HSin = (Exp(X) - Exp(-X)) / 2
Function HCos(X) As Double "雙曲餘弦
HCos = (Exp(X) + Exp(-X)) / 2
Function HTan(X) As Double "雙曲正切
HTan = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
Function HSec(X) As Double "雙曲正割
HSec = 2 / (Exp(X) + Exp(-X))
Function HCsc(X) As Double "雙曲餘割
HCsc = 2 / (Exp(X) - Exp(-X))
Function HCot(X) As Double "雙曲餘切
HCot = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
Function HArcsin(X) As Double "反雙曲正弦
HArcsin = Log(X + Sqr(X * X + 1))
Function HArccos(X) As Double "反雙曲餘弦
HArccos = Log(X + Sqr(X * X - 1))
Function HArctan(X) As Double "反雙曲正切
HArctan = Log((1 + X) / (1 - X)) / 2
Function HArcsec(X) As Double "反雙曲正割
HArcsec = Log((Sqr(-X * X + 1) + 1) / X)
Function HArccsc(X) As Double "反雙曲餘割
HArccsc = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
Function HArccot(X) As Double "反雙曲餘切
HArccot = Log((X + 1) / (X - 1)) / 2
Function LogN(N, X) "以 N 為底的對數
LogN = Log(X) / Log(N)
把下面程式碼儲存成一個模組,需要的時候就能直接呼叫了。集合了全部三角函式。很實用。
==================
Function Sec(X) As Double "正割
Sec = 1 / Cos(Angle)
End Function
Function Csc(X) As Double "餘割
Csc = 1 / Sin(Angle)
End Function
Function Cot(X) As Double "餘切
Cot = 1 / Tan(Angle)
End Function
Function ArcSin(X) As Double "反正弦
ArcSin = Atn(X / Sqr(-X * X + 1))
End Function
Function ArcCos(X) As Double "反餘弦
ArcCos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
End Function
Function ArcSec(X) As Double "反正割
ArcSec = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))
End Function
Function ArcCsc(X) As Double "反餘割
ArcCsc = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
End Function
Function ArcCot(X) As Double "反餘切
ArcCot = Atn(X) + 2 * Atn(1)
End Function
Function HSin(X) As Double "雙曲正弦
HSin = (Exp(X) - Exp(-X)) / 2
End Function
Function HCos(X) As Double "雙曲餘弦
HCos = (Exp(X) + Exp(-X)) / 2
End Function
Function HTan(X) As Double "雙曲正切
HTan = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))
End Function
Function HSec(X) As Double "雙曲正割
HSec = 2 / (Exp(X) + Exp(-X))
End Function
Function HCsc(X) As Double "雙曲餘割
HCsc = 2 / (Exp(X) - Exp(-X))
End Function
Function HCot(X) As Double "雙曲餘切
HCot = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))
End Function
Function HArcsin(X) As Double "反雙曲正弦
HArcsin = Log(X + Sqr(X * X + 1))
End Function
Function HArccos(X) As Double "反雙曲餘弦
HArccos = Log(X + Sqr(X * X - 1))
End Function
Function HArctan(X) As Double "反雙曲正切
HArctan = Log((1 + X) / (1 - X)) / 2
End Function
Function HArcsec(X) As Double "反雙曲正割
HArcsec = Log((Sqr(-X * X + 1) + 1) / X)
End Function
Function HArccsc(X) As Double "反雙曲餘割
HArccsc = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
End Function
Function HArccot(X) As Double "反雙曲餘切
HArccot = Log((X + 1) / (X - 1)) / 2
End Function
Function LogN(N, X) "以 N 為底的對數
LogN = Log(X) / Log(N)
End Function