📄 base.bas
字号:
Attribute VB_Name = "Mathmatics"
Function LogN(Number As Double, Base As Double) As Double
If Base <> 1 And Base > 0 Then LogN = Log(Number) / Log(Base)
End Function
Function Sec(Number As Double) As Double
If Number <> PI / 2 And Number <> -PI / 2 Then Sec = 1 / Cos(Number)
End Function
Function Csc(Number As Double) As Double
If Number <> 0 And Number <> PI Then Csc = 1 / Sin(Number)
End Function
Function Cot(Number As Double) As Double
If Number <> 0 And Number <> PI Then Cot = 1 / Tan(Number)
End Function
Function ArcSin(Number As Double) As Double
If Number > 1 Or Number < -1 Then Exit Function
Select Case Number
Case 1
ArcSin = PI / 2
Case -1
ArcSin = -PI / 2
Case Else
If Abs(Number) < 1 Then ArcSin = Atn(Number / Sqr(-Number ^ 2 + 1))
End Select
End Function
Function ArcCos(Number As Double) As Double
If Number > 1 Or Number < -1 Then Exit Function
Select Case Number
Case 1
ArcCos = 0
Case -1
ArcCos = PI
Case Else
If Abs(Number) < 1 Then ArcCos = Atn(-Number / Sqr(-Number ^ 2 + 1)) + 2 * Atn(1)
End Select
End Function
Function ArcSec(Number As Double) As Double
Select Case Number
Case 1
ArcSec = 0
Case -1
ArcSec = PI
Case Else
If Abs(Number) < 1 Then ArcSec = Atn(Number / Sqr(Number ^ 2 - 1)) + Sgn(Number - 1) * (2 * Atn(1))
End Select
End Function
Function ArcCsc(Number As Double) As Double
Select Case Number
Case 1
ArcCsc = PI / 2
Case -1
ArcCsc = -PI / 2
Case Else
If Abs(Number) < 1 Then ArcCsc = Atn(Number / Sqr(Number ^ 2 - 1)) + (Sgn(Number) - 1) * (2 * Atn(1))
End Select
End Function
Function ArcCot(Number As Double) As Double
ArcCot = Atn(Number) + 2 * Atn(1)
End Function
Function HSin(Number As Double) As Double
HSin = Exp(Number) - Exp(-Number)
HSin = HSin / 2
End Function
Function HCos(Number As Double) As Double
HCos = Exp(Number) + Exp(-Number)
HCos = HCos / 2
End Function
Function HTan(Number As Double) As Double
HTan = (Exp(Number) - Exp(-Number)) / (Exp(Number) + Exp(-Number))
End Function
Function HSec(Number As Double) As Double
HSec = 2 / (Exp(Number) + Exp(-Number))
End Function
Function HCsc(Number As Double) As Double
If Number <> 0 Then HCsc = 2 / (Exp(Number) - Exp(-Number))
End Function
Function HCot(Number As Double) As Double
HCot = (Exp(Number) + Exp(-Number)) / (Exp(Number) - Exp(-Number))
End Function
Function HArcSin(Number As Double) As Double
HArcSin = Log(Number + Sqr(Number * Number + 1))
End Function
Function HArcCos(Number As Double) As Double
HArcCos = Log(Number + Sqr(Number * Number - 1))
End Function
Function HArcTan(Number As Double) As Double
If Number <> 1 Then HArcTan = Log((1 + Number) / (1 - Number)) / 2
End Function
Function HArcSec(Number As Double) As Double
HArcSec = Log((Sqr(-Number * Number + 1) + 1) / Number)
End Function
Function HArcCsc(Number As Double) As Double
HArcCsc = Log((Sgn(Number) * Sqr(Number * Number + 1) + 1) / Number)
End Function
Function HArcCot(Number As Double) As Double
If Number <> 1 Then HArcCot = Log((Number + 1) / (Number - 1)) / 2
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -