📄 randomsample.m
字号:
% RANDOMSAMPLE - selects n random items from an array%% Usage: items = randomsample(a, n)%% Arguments: a - Either an array of values from which the items are to% be selected, or an integer in which case the items% are values selected from the array [1:a]% n - The number of items to be selected.%%% This function can be used as a basic replacement for RANDSAMPLE for those% who do not have the statistics toolbox.% Also,% r = randomsample(n,n) will give a random permutation of the integers 1:n %% See also: RANSAC% Strategy is to generate a random integer index into the array and select that% item from the array. The selected element in the array is then overwritten by% the last element in the array and the process is then repeated except that% when we select the next element we generate a random integer index that lies% in the range 1 to arraylength - 1, and so on. This ensures items are not% repeated.% Copyright (c) 2006 Peter Kovesi% School of Computer Science & Software Engineering% The University of Western Australia% pk at csse uwa edu au % http://www.csse.uwa.edu.au/~pk% % Permission is hereby granted, free of charge, to any person obtaining a copy% of this software and associated documentation files (the "Software"), to deal% in the Software without restriction, subject to the following conditions:% % The above copyright notice and this permission notice shall be included in % all copies or substantial portions of the Software.%% The Software is provided "as is", without warranty of any kind.% September 2006 function item = randomsample(a, n) npts = length(a); if npts == 1 % We have a scalar argument for a npts = a; a = [1:a]; % Construct an array 1:a end if npts < n error(... sprintf('Trying to select %d items from a list of length %d',n, npts)); end item = zeros(1,n); for i = 1:n % Generate random value in the appropriate range r = ceil((npts-i+1).*rand); item(i) = a(r); % Select the rth element from the list a(r) = a(end-i+1); % Overwrite selected element end % ... and repeat
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -