【发布时间】:2016-04-22 12:21:06
【问题描述】:
我想在 matlab 中生成具有离散帕累托分布的 10000 数字。
我用 R 写了这段代码,但我想用 Matlab 写。
离散帕累托的 R 码:
N<-5 ##for instance,you need N large enough
i0<-(1:N)
p<-1/(i0^1.98); p<-p/sum(p)
X<-sample(i0,N,replace=TRUE,prob=p)
X
alpha=1.98 并且您在此链接中看到离散的 pPareto 分布 q=0, https://en.wikipedia.org/wiki/Zipf%E2%80%93Mandelbrot_law
我的问题是:如何在 Matlab 中编写这段代码?
我在matlab中使用randsample,并在matlab中翻译了这段代码。
例如:
N=5;
for i0=1:N
p=1/(i0.^1.98);
P=p/sum(p);`
X=randsample(i0,N,true,P);
X
end
但它有一个错误。
谁能给个建议?
【问题讨论】:
-
你能把错误包括进来吗?
标签: matlab static discrete-mathematics random-sample