下沙论坛

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

QQ登录

QQ登录

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

VB中定义Arccos函数

[复制链接]

该用户从未签到

跳转到指定楼层
1
发表于 2003-4-18 01:11:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我是这样的:
& d$ H' E1 ?* o+ d5 D7 @  fPrivate Function Arccos(x As Double, n As Long)2 [" c5 s4 x3 a- N6 t& ~
Dim i As Long, y As Double- f/ e) X: u6 h8 ^
For i = 1 To n
2 Q% x8 ?2 l; W    y = y + (-1 / Sqr(1 + (x / n * i) ^ 2)) * x / n8 `: ?: e( h  |2 w& k' [: g8 T
Next
8 |, J9 k5 n- c& Q) ?0 @Arccos = y# w# w" `; A, [! Z
End Function4 I& u: c) m+ ^0 W$ ~& O
, S; E" V: }2 T* ~4 P5 Y5 y0 {4 g
用的是Arccos的微分来算近似值,怎么不对?0 S) v# @) q% F
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 顶 踩

该用户从未签到

3
 楼主| 发表于 2003-4-24 22:58:00 | 只看该作者
Const pi As Double = 3.14159265359
2 D  p( r! {- qPrivate Function Arccos(x As Double, n As Long) ' n 为函数精度,建议为100: T1 p$ w; r: H6 i! k
    Select Case x) R  t3 I  b7 o, k
    Case 1; y% |2 h% A1 |' v
        Arccos = 0) d6 v% M$ R, D# e) s1 A
    Case -1
/ g6 @  f$ r, |# n- q        Arccos = pi5 K: Q* ]! p( O: Q
    Case -1 To 1
3 g+ w- |9 f" G) N        Dim dx As Double, y As Double, i As Long
9 ]# _8 h: w6 i$ @: d  G+ h/ K' ^        dx = x / n2 k% o* {6 j/ P; m3 A) q
        For i = 1 To n0 N0 v: _" _" w4 N9 r, e) m9 S
            y = y + (-1 / Sqr(1 - (dx * i + dx / 2) ^ 2)) * dx. F) J7 T5 }+ s+ [
        Next0 x+ E! W! R! `
        Arccos = y + pi / 2  s2 T/ {  I3 ]$ _
    Case Else
& B9 c; w6 [* s4 k        '异常6 g7 I0 t0 _2 J
    End Select: F8 A5 `% S! b9 T+ w
End Function
( q( Z+ Q. B8 B+ _# b3 v
( s2 _; {- j2 z/ G. g搞定了
  • TA的每日心情
    奋斗
    昨天 10:29
  • 签到天数: 2394 天

    [LV.Master]伴坛终老

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

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

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