下沙论坛

 找回密码
 注册论坛(EC通行证)

用新浪微博连接

一步搞定

QQ登录

QQ登录

下沙大学生网QQ群8(千人群)
群号:6490324 ,验证:下沙大学生网。
用手机发布本地信息严禁群发,各种宣传贴请发表在下沙信息版块有问必答,欢迎提问 提升会员等级,助你宣传
新会员必读 大学生的论坛下沙新生必读下沙币获得方法及使用
查看: 6166|回复: 2
打印 上一主题 下一主题

VB中定义Arccos函数

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2003-4-18 01:11:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我是这样的:+ b9 f% O) _, n2 ?+ P
Private Function Arccos(x As Double, n As Long)
* N8 s+ o2 n+ `/ @; y4 ~. _Dim i As Long, y As Double
3 w4 ^5 n' ]" O+ A# N" F! VFor i = 1 To n
- M- h9 ^( J% E+ }    y = y + (-1 / Sqr(1 + (x / n * i) ^ 2)) * x / n
2 e+ |7 l) D5 F4 l& X& tNext
, H( b/ s' h5 F& m0 u) r$ b, gArccos = y- y: U: n& `' t0 X
End Function
7 e/ ~$ K- E! o: x
2 b3 P* D) W  v/ r. u$ B% V1 ]用的是Arccos的微分来算近似值,怎么不对?! h+ A- H( [" e8 p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩 转发到微博

该用户从未签到

3
 楼主| 发表于 2003-4-24 22:58:00 | 只看该作者
Const pi As Double = 3.14159265359
$ T! [$ U+ e' q  C. f4 y% YPrivate Function Arccos(x As Double, n As Long) ' n 为函数精度,建议为100" `2 b5 ]% R. t$ N( w7 B
    Select Case x
+ k$ z+ ?% Y# Z7 `% m    Case 1/ y* [4 L' M* c5 O
        Arccos = 0
0 Z, H* o4 y6 ^3 ]. H* L    Case -13 v+ u; U" z$ ]# X! s
        Arccos = pi9 I, l5 c# o, b
    Case -1 To 1
( P4 Z6 n8 f' f, \# B        Dim dx As Double, y As Double, i As Long
& [; b* _2 D( x) d        dx = x / n, F: f  j- W& b! V4 S  [- r
        For i = 1 To n9 F- K4 }9 U  R
            y = y + (-1 / Sqr(1 - (dx * i + dx / 2) ^ 2)) * dx
8 n9 Z) u9 I. U$ o        Next6 }; x4 c7 |6 E  P- i
        Arccos = y + pi / 21 W& [4 o( D; W8 f" Q/ L( w% t* p
    Case Else
$ c2 ^8 |* f0 p- W7 s2 @+ W) w5 }        '异常: A& v) f* \! j) s" x0 J
    End Select3 }: n0 Y/ O: ]6 |3 ?$ \- W& h
End Function
/ \. R* {/ H8 I' f
. ?0 B' s& C+ _; v: X+ _搞定了
  • TA的每日心情
    奋斗
    昨天 08:55
  • 签到天数: 2340 天

    [LV.Master]伴坛终老

    2
    发表于 2003-4-19 22:04:00 | 只看该作者
    公式对就没有问题拉
    关闭

    下沙大学生网推荐上一条 /1 下一条

    快速回复 返回顶部 返回列表