choosenfromm.m.txt

来自「这是马尔可夫-蒙特卡罗算法的MATLAB源程序.」· 文本 代码 · 共 18 行

TXT
18
字号
function x = ChooseNFromM(m,n)
% x = ChooseNFromM(m,n)
% Choose n distinct members from 1:m, by sampling uniformly at random without replacement

% Colin Fox, 20 Jan 2003

if m<n, disp('Error in ChooseNFromM'), x=[]; return, end

xset = 1:m;
x = zeros(1,n);
for count = 1:n
%    ind = PickOneFromM(length(xset));
%    ind = PickOneFromM(m);
    ind = min(floor(rand*m)+1,m);
    x(count) = xset(ind);
    xset(ind) = []; % zap that element
    m=m-1;
end

⌨️ 快捷键说明

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