📄 sample_discrete.m
字号:
function M = sample_discrete_noC(prob, r, c)% SAMPLE_DISCRETE Like the built in 'rand', except the elements of M are drawn from a discrete distrib.% M = sample_discrete(prob, r, c)if nargin == 1 r = 1; c = 1;elseif nargin == 2 c == r;endprob = prob(:)'; % make row vectorcumprob = cumsum(prob);n = length(prob);if ~approxeq(cumprob(n), 1) error('distribution does not sum to 1');end cumprob = [0 cumprob];R = rand(r, c);%fprintf('sample_discrete.m R=%f\n', R);M = zeros(r,c);for i=1:n M = M + (R>=cumprob(i) & R<=cumprob(i+1))*i;end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -