中易网

Excel VBA求定积分的程序运行的不到结果 代码如下

答案:2  悬赏:60  
解决时间 2021-02-20 08:52
Sub testl()
Dim a As Double
Dim b As Double
Dim lnA As Long
Dim lnB As Long
Dim M As Double
Dim lnM As Long
Dim n As Long
Dim n0 As Long
Dim X As Double
Dim Y As Double
a = InputBox("请输入积分下限a", "积分下限", "")
b = InputBox("请输入积分上限b", "积分上限", "")
n = InputBox("请输入模拟投点的次数n", "模拟投点的次数", "")
M = Exp(a) + Exp(b)
Dim tmp, xs As Integer
xs = 1
If a > b Then
tmp = a
a = b
b = tmp
xs = -1
End If
lnA = a * 10 ^ 6: lnB = b * 10 ^ 6: lnM = M * 10 ^ 6
Dim i
Dim tmpY As Double
i = 1
Do While i <= n
Randomize
X = Int((lnB - lnA + 1) * Rnd + lnA) / 10 ^ 6
Y = Int((lnM - 0 + 1) * Rnd + 0) / 10 ^ 6
tmpY = Exp(X)
If tmpY >= Y Then
nO = n0 + 1
End If
i = i + 1
Loop
MsgBox xs * M * (b - a) * n0 / n
End Sub
得到的结果一直是0



最佳答案
Sub testl()
Dim a As Double
Dim b As Double
Dim lnA As Long
Dim lnB As Long
Dim M As Double
Dim lnM As Long
Dim n As Long
Dim n0 As Long
Dim X As Double
Dim Y As Double
a = InputBox("请输入积分下限a", "积分下限", "")
b = InputBox("请输入积分上限b", "积分上限", "")
n = InputBox("请输入模拟投点的次数n", "模拟投点的次数", "")
M = Exp(a) + Exp(b)
Dim tmp, xs As Integer
xs = 1
If a > b Then
  tmp = a
  a = b
  b = tmp
  xs = -1
End If
lnA = a * 10 ^ 6: lnB = b * 10 ^ 6: lnM = M * 10 ^ 6
Dim i
Dim tmpY As Double
i = 1
Do While i <= n
  Randomize
  X = Int((lnB - lnA + 1) * Rnd + lnA) / 10 ^ 6
  Y = Int((lnM - 0 + 1) * Rnd + 0) / 10 ^ 6
  tmpY = Exp(X)
  If tmpY >= Y Then
    n0 = n0 + 1
  End If
  i = i + 1
Loop
MsgBox xs * M * (b - a) * n0 / n
End Sub上面是修改正确的代码,请全选、粘贴测试。
全部回答
function f1(li,aa,pa,pb.l) for i = 0 to li x = sin((aa+pa*l+(pb-pa)*(l^2/l))*(pi()/180)) f1 = f1 + x next end function function f2(li,aa,pa,pb.l) for i = 0 to li x = cos((aa+pa*l+(pb-pa)*(l^2/l))*(pi()/180)) f1 = f1 + x next end function
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
临夏市恒兴广告有限公司地址有知道的么?有点
一般DC24v中间继电器的线圈功率多大?电流多
我用网络电话回拨吸费电话会怎么样?
急 济南有买 斑马笔、三菱笔 的实体店吗??
东升网络会所灌南店地址在哪,我要去那里办事
我就是讨厌张柏芝 怎么了
北京建工新型建材有限责任公司第三分公司建强
重力是不是力
五窑塆地址在什么地方,想过去办事
是谁发明了机械扫描电视
介绍下外墙清洁
YS一派在什么地方啊,我要过去处理事情
联想笔记本U盘不能识别...
钜盛冶炼有限公司怎么去啊,有知道地址的么
130平方的房子,按目前的物价装修包家电家具
推荐资讯
第三次世界大战什么时候爆发?会有哪些阵营?
计算机四级的网络工程师和数据库工程师哪个比
兰州大学思政专业考研难么?复试淘汰率高么?
小女孩看天空怎么画
苹果6Plus手机时间和微信收到的信息时间相差
离过婚的女人不是好女人 你怎么看
入了一款世得龙帐篷,求正确快速的搭建安装方
梧州市明华驾校报名处这个地址在什么地方,我
中国移动明宇手机大卖场我想知道这个在什么地
请问一下,今天我和朋友去网吧上网 被警察抓
北京本地居民现有多少?
新邓屋在什么地方啊,我要过去处理事情
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?