我必须编写一个计算机程序,当给出概率质量函数时 {pj,j = 1 ,. 。 。 ,n}作为输入,给出一个随机值作为输出 具有这种质量函数的变量。这是我对这个问题的唯一信息。我试过这个
%f(x)=pdf
%F(x)=cdf
%X=tixaia metavliti
f(x);
X;
F(x)= cumsum(f(x));
%firstly we want F(x) to have unique values
%we remove the non-unique values from cdf and X
[F(x),mask] = unique(F(x));
X = X(mask);
%apply inverse interpolation
%so we can produce random value X from the cdf
u = rand;
projection = interp1( F(x),X,u );
那个代码是否接近解决我的问题?任何人都可以帮助我吗?
答案 0 :(得分:1)
这是一个基于定义的概率从矢量(7 8 9 10)中采样2个值的示例。它使用统计工具箱。
R = randsample([7 8 9 10],2,true,[0.15 0.35 0.35 0.15])
如果您想自己编写代码,Tasos会向您指出正确的链接。