狄利克雷分布的matlab代码实现和R语言函数调用
来源:互联网 发布:手机淘宝产品链接 编辑:程序博客网 时间:2024/04/30 02:40
主要参考的是:https://www.douban.com/note/45584915/
和 http://www.biostatistic.net/thread-33740-1-1.html
最近需要用到狄利克雷分布,但是找了半天发现matlab没有现成的工具可用。只能自己实现,下面是我搜到的一个实现狄利克雷分布的matlab代码
function r = drchrnd(a,n)% take a sample from a dirichlet distributionp = length(a);r = gamrnd(repmat(a,n,1),1,n,p);r = r ./ repmat(sum(r,2),1,p);
用法:
a= drchrnd([1 1 1],10)
(此代码不充分解释:充分利用了dirichlet distribution和gamma分布之间的关系。经过推导可以证明,dirichlet distribution可以看作是多个gamma(ai,1)的乘积(包括除)。同时利用了gamma的分布的一个重要性质,xi~gamma(ai,b)分布,则sum(xi)~gamma(sum(ai),b)分布。)
除了matlab,R语言也有狄利克雷分布的实现函数。
Dirichlet(DIRECT)
Dirichlet()所属R语言包:DIRECT
用法为:rDirichlet (n, alpha)
参数:alpha
Shape parameter vector.
可以认为是确定输出向量的列数
参数:n
Number of realizations (vectors) to generate.
生成alpha向量的维数(即确定输出向量的行数)
以上是我找到的狄利克雷分布的实现
0 0
- 狄利克雷分布的matlab代码实现和R语言函数调用
- R语言的各种分布函数
- 第三章 概率与分布的r语言代码
- 根据一组数据拟合出最佳分布函数, arena, Matlab, R语言
- 用C语言实现均匀分布,瑞利分布,莱斯分布,高斯分布的分布函数
- 用C语言实现瑞利分布,莱斯分布,高斯分布的分布函数
- 概论分布的python实现和R实现
- R语言中之分布函数
- R语言笔记-第五课文件和R中的概率分布函数
- Matlab各种分布的函数
- x86系统C语言函数调用时的内存分布
- r语言画频数分布直方图和频率分布直方图
- vim编辑R代码的实现:::(R语言安装BIoconductor和BiocLite):R在linux的安装
- Matlab中极值I型分布(Gumbel分布)的evcdf和evpdf及evinv函数
- R语言---分布检验
- matlab实现复高斯分布---语句和解释
- Matlab调用C语言函数
- R统计分布函数
- 【Ado.Net】基础知识+简单实例
- python使用mysql数据库
- java设计模式之迭代器模式
- (22)Java学习笔记——常用对象API / String类
- [leetcode]481. Magical String
- 狄利克雷分布的matlab代码实现和R语言函数调用
- Hello Blog
- angularjs自定义供应商
- 【bzoj1355】 Baltic2009
- 博客搬家
- 创建 vxlan 并部署 instance - 每天5分钟玩转 OpenStack(147)
- lua关于require和package.loaded常被忽略的故事
- 开发模式——MVC框架开发
- GLSL语法知识汇总