如何计算/定义VBA中的ArcSin功能?
问题描述:
如何实现arcsin函数的VBA代码(定义如下)?如何计算/定义VBA中的ArcSin功能?
定义:arcsin函数是正弦函数的反函数。它返回正弦为给定数字的角度。对于每个三角函数,都有一个相反的函数。这些反函数具有相同的名称,但前面带有“弧”。 (在某些计算器上,arcsin按钮可能标记为asin,有时也可能标记为sin-1)。因此,sin的倒数是arcsin等等。当我们看到“arcsin A”时,我们将其理解为“其角度为A的角度”
sin30 = 0.5方式:30度的正弦是0.5
ARCSIN 0.5 = 30方式:其罪是0.5为30度的角度。
答
我真的不明白你的问题在这里。该ARCSIN功能已经存在于VBA,你可以用它来与:
WorksheetFunction.Asin(myValue)
使用反正弦函数的
Dim myValue As Double
myValue = 0.1234
MsgBox CStr(WorksheetFunction.Asin(myValue))
在那里,你可以打印一个的反正弦函数的结果值为Double。
答
下面的代码,将有助于实现基于给定的定义ARCSIN功能:
Option Explicit
Public Const Pi As Double = 3.14159265358979
Private Function ArcSin(X As Double) As Double
If Abs(X) = 1 Then
'The VBA Sgn function returns an integer (+1, 0 or -1),
'representing the arithmetic sign of a supplied number.
ArcSin = Sgn(X) * Pi/2
Else
'Atn is the inverse trigonometric function of Tan,
'which takes an angle as its argument and returns
'the ratio of two sides of a right triangle
ArcSin = Atn(X/Sqr(1 - X^2))
End If
End Function