The function randisum() can draw random integers from a specified distribution, subject to user-specified sum and boundary constraints. Supported distributions are 'uniform', 'skew', 'exponential', and 'gaussian'.
Consider the simplistic example:
% Subdivide a vector into 10 randomly-sized blocks
x = 1:100;
blocksizes = randisum(5,numel(x),[1 10]);
xc = mat2cell(x,1,blocksizes);
I make no claims that these are particularly efficient, robust, or statistically meaningful ways to solve this problem.
Webdocs for randisum():
These tools are part of the MIMT:
DGM (2023). Random Integers With a Specified Sum and Range (https://www.mathworks.com/matlabcentral/fileexchange/106185-random-integers-with-a-specified-sum-and-range), MATLAB Central File Exchange. 검색됨 .
MATLAB 릴리스 호환 정보
개발 환경: R2019b
모든 릴리스와 호환
플랫폼 호환성Windows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!