multinornd.m

来自「The BNL toolbox is a set of Matlab funct」· M 代码 · 共 22 行

M
22
字号
function R=multinornd(n,p)
%trekken uit multinomiale verdeling
%   n is sample size, p vector of probabilities
d=length(p);
if (sum(p)<.99999 | sum(p)>1.000001)

    error('probabilities must sum to one');
end
if ~isscalar(n) error('n must be scalar'), end
if ~isvector(p) error('n must be vector'), end
R=binornd(n,p(1));
for i=2:d-1
    N=n-sum(R);
    if N==0
        R=[R 0];
    else
    pp=p(i)/sum(p(i:d));
    R=[R binornd(N,pp)];
    end
end
R=[R n-sum(R)];

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?