| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2382 人关注过本帖
标题:请教各位大神,在VB中如何计算余误差函数(erfc)
只看楼主 加入收藏
ysbsxx
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-5-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
请教各位大神,在VB中如何计算余误差函数(erfc)
请教各位大神,在VB中如何计算余误差函数(erfc),在工作中经常用到该函数来计算数值!想在VB中实现程序化计算,这样工作效率会提高很多!查找很多资料都没有找到!请各位大神指点!
搜索更多相关主题的帖子: VB 计算 函数 erfc 工作 
2017-10-08 14:51
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:20 
你说的这个东西,并不复杂,主要是需要进行积分。 代码如下:
程序代码:
Public Function 复化辛普生积分(a As Double, b As Double, n As Integer) As Double         'a、b为积分上下限, n为积分区间划分份数
Dim dx As Double, i As Integer, m As Integer
m = 2 * n
dx = (b - a) / m
复化辛普生积分 = f(a) + f(b)
For i = 2 To m Step 2
    复化辛普生积分 = 复化辛普生积分 + 4 * f((a + dx * (i - 1))) + 2 * f((a + dx * i))
Next i
复化辛普生积分 = (复化辛普生积分 - 2 * f((a + dx * m))) * dx / 3
End Function


Function Integration( a As Double, b As Double)  '矩形方法,a、b为积分上下限,次数由精度控制
Dim h As Double, x As Double
n = 2
s = 0

p = f(a) + f(b)
Do

 h = (b - a) / n / 2

 s2 = 0

 x = a + h

 s4 = f(x)

 For i = 2 To 2 * n - 1 Step 2
  x = x + h
  s2 = s2 + f(x)
  x = x + h
  s4 = s4 + f(x)

 Next i

 

 s = h / 3 * (p + 2 * s2 + 4 * s4)

 If (Abs(s - s0)) / Abs(s) <= 0.000001 Then Exit Do  '误差精度
 s0 = s

 n = 2 * n
Loop

Integration = s

End Function


Function f(x as double) as double

 f= 1/x                    ' 积分符号内部的表达式, 这里是f(x)=1/x
End Function



[此贴子已经被作者于2017-10-9 09:13编辑过]

2017-10-08 17:58
ysbsxx
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-5-11
收藏
得分:0 
忠心谢谢xiangyue0510朋友的帮助!愿好人一生平安!
2017-10-09 17:26
快速回复:请教各位大神,在VB中如何计算余误差函数(erfc)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018759 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved