sin(角度值)同理cos,tan
东平网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
Atn()是VB反正切函数,VB不提供其他反三角函数,不过可以用下列公式导出:
Inverse
Sine
(反正弦):
Arcsin(X)
=
Atn(X
/
Sqr(-X
*
X
+
1))
Inverse
Cosine
(反余弦):
Arccos(X)
=
Atn(-X
/
Sqr(-X
*
X
+
1))
+
2
*
Atn(1)
Inverse
Secant
(反正割):
Arcsec(X)
=
Atn(X
/
Sqr(X
*
X
-
1))
+
Sgn((X)
-
1)
*
(2
*
Atn(1))
Inverse
Cosecant
(反余割):
Arccosec(X)
=
Atn(X
/
Sqr(X
*
X
-
1))
+
(Sgn(X)
-
1)
*
(2
*
Atn(1))
以上这些公式,其实就是应用了数学中的各类三角函数和正切函数之间的关系导出的。其中需要注意的是其中的
X
不能等于正负1。(引用-_-)
x都是弧度制
为什么我的不是?
Dim pi
pi = 3.1415926
Dim a
a = 30
Text1.Text = Sin(a * pi / 180)
Cos(pi * C * 6 / 180) 中的 pi是π值,C 是变量,pi * C * 6 / 180 计算出的是弧度数。
Sin(pi * C * 6 / 180) 同上。
Sin(mm) 中的 mm 可以是任何有理数(正无穷大到负无穷大),即可以是一个正的有理数,也可以是一个负的有理数,同样也可以是0,在VB计算时程序就认为 mm 是弧度数,故此,只要 mm 是有理数,那么就可以的。
如果 mm 是角度数,必须转换为弧度数。
VB中的Sin函数是以弧度为参数的,例如:SIN(30°)应该等于0.5是吧。那么我们在VB中要得到这个值就必须将30度转换为弧度,因此得到如下 SIN(30 * (3.1415926/180)) 这样写才能得到0.5,当然返回值是double,因此你可以用format来截取你需要的保留小数位数。
Function MySin(ByVal x As Double) As Double
Dim k As Integer
Dim nowSinx As Double
Dim temp As Double
Dim tol As Double
k = 1
tol = 0.00001
nowSinx = x
temp = x
Do
temp = -temp * (x * x) / (2 * k + 1) / (2 * k)
nowSinx = nowSinx + temp
k = k + 1
Loop While Abs(temp) tol
MySin = nowSinx
End Function
'本程序改编自计算方法 C++作业。已在VB环境编译通过。
'可以用上一次计算的结果,没必要定义阶乘函数。
'MySin(2)结果是:0.909297.。。和Sin(2)差不多。