问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

GAMMADIST(x,alpha,beta,cumulative)函数VB代码!!

发布网友 发布时间:2022-06-15 03:20

我来回答

1个回答

热心网友 时间:2023-10-22 20:54

简单的方法就是添加excel引用,然后:

dim xlApp as Excel.Application
Set xlApp = New Excel.Application
rt=xlApp.WorksheetFunction.GammaDist(x,alpha,beta,cumulative)

 另外一种,从网上抄袭的哈,未验证:

Public Function GamCdf(x, a, b) '对应excel中GammaDist(x,a,b,true)函数
    If a <= 0 Or b <= 0 Then GammCdf = "NaN"
    GamCdf = GAMMAINC(x / b, a)
    p = IIf(p > 1, 1, p)
End Function 

Public Function GAMMAINC(x, a) 
Dim amax As Double 
amax = 2 ^ 20 
ascalar = 1 
If a <= amax Then 
   If a <> 0 And x <> 0 And x < a + 1 Then 
        xk = x 
        ak = a 
        ap = ak  
        Sum = 1 / ap  
        del = Sum  
        Dim i As Double   
        For i = 1 To 10000  
            ap = ap + 1 
            del = xk * del / ap  
            Sum = Sum + del
        Next
        GAMMAINC = Sum * Exp(-xk + ak * Log(xk) - GAMMALN(ak))
   ElseIf a <> 0 And x <> 0 And x >= a + 1 Then
       xk = x
       a0 = 1
       a1 = x
       b0 = 0
       b1 = a0
       ak = a
       fac = 1
       n = 1
       g = b1
       gold = b0
       For i = 1 To 10000
           gold = g
           ana = n - ak 
           a0 = (a1 + a0 * ana) * fac
           b0 = (b1 + b0 * ana) * fac
           anf = n * fac 
           a1 = xk * a0 + anf * a1
           b1 = xk * b0 + anf * b1
           fac = 1 / a1
           g = b1 * fac
           n = n + 1  
       Next
       GAMMAINC = 1 - Exp(-xk + ak * Log(xk) - GAMMALN(ak)) * g
   End If
Else 
   GAMMAINC="NaN"
End If
End Function

Public Function GAMMALN(XX) 
Dim COF(6) As Double, stp As Double, half As Double, one As Double 
Dim fpf As Double, x As Double, tmp As Double, ser As Double 
Dim j As Integer  
COF(1) = 76.18009173 
COF(2) = -86.50532033 
COF(3) = 24.01409822 
COF(4) = -1.231739516 
COF(5) = 0.00120858003 
COF(6) = -0.00000536382  
stp = 2.50662827465 
half = 0.5 
one = 1#  
fpf = 5.5 
x = XX - one 
tmp = x + fpf 
tmp = (x + half) * Log(tmp) - tmp 
ser = one 
For j = 1 To 6 
   x = x + one 
   ser = ser + COF(j) / x 
Next j 
GAMMALN = tmp + Log(stp * ser) 
End Function

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
耳机的价格是多少? 请问市净率是什么意思.高好还是低好? 股票中市净率高好还是低好? 市净率为什么越低越好 市净率到底是高好还是低好? airpods整盒丢了能定位吗(丢失AirPods盒子,如何定位?) “DJ”是“Dumb Jerk”缩写,它在中文里是什么意思? “DJ”指什么? “DJ”是“Daniel Jeremiah”缩写的中文意思是什么? 联想笔记本w7系统怎样改无线密码 胎心一直140多是男孩还是女孩 2006年8月以来的天气情况 2006 国庆 天气情况 哪里查询2006年正年的天气预报? CCTV 天气咨询主持人秦芳的资料档案 底部落款中图制造龙图案青花瓷水杯有无收藏价值? 夏天喝绿豆汤对身体有什么好处? 龙盘子值多少钱?什么年代的? 名柜整体衣柜加盟为何这样热门? 定制家具十大排名介绍 Word中,艺术字无法像图片一样设置其与周围文本的环绕方式。___ 高分求解 成语“侃侃而谈”指什么? 请问月贷款利率1.75合法吗? iphone邮箱只能接收不能发 雅思考试的中期准备 一篇英语阅读 6个空 请写出正确答案并讲解各选项不同 谢谢 北京水利水电大学2021年河南录取分数线 四大名著的主要内容是 成人高考没有身份证,拿户口本让报名吗 法宣研究院(广州)有限公司怎么样? 西安交大电路学100讲视频 上海著名小吃 大哥,那本钱建平编的《电路学习指导与习题详解》是第二版电工技术基础吗? 中午睡觉梦见我老公和月饼还有我哭的是什么意思? 顺丰寄菠萝蜜从电白寄到深圳需要多少钱? 趴在桌子上放个枕头睡觉有没有危害 为什么钱很重要? 好听的老歌,流行歌,快节奏的歌。越多越好。 金钱是重要的吗? 求节奏轻快的经典老歌 金钱重要吗 ? 男生一般结婚是选择在有钱后,金钱很重要吗? 在爱情中,金钱到底有多重要呢? 为什么金钱那么重要! 开天辟地近义词有哪些? 开天辟地的近义词 成语 开天辟地的近义词 有没有仿真电路教学软件,初学者,求推荐。谢谢! 开天辟地的同义词 爱卡族平板电脑怎么用