バージョン (2.35 KB) 作成者: Jos (10584)
RANDPERMFULL (N) returns a random derangement (complete permutation) of the integers from 1 to N

ダウンロード 525 件

更新 2019/5/23


RANDPERMFULL(N) is a random complete or full permutation of the integers from 1 to N; each integer is randomly assigned to an index position that is different from its value. In other words R = RANDPERMFULL(N) creates a row vector R, such that R(j) ~= j for all j=1:N. This type of permutation is called a derangement.
N should be larger than 1.
% might be [2 4 5 6 1 7 3], but not [2 1 3 6 4 7 5]
% since 3 cannot be in index position 3.

% Scramble a sentence
Words = {'can', 'you', 'make', 'sense', 'of', 'this', 'scrambled', 'sentence'} ;
R = randpermfull(numel(Words)) ;
disp([sprintf('%s ',Words{R}) '?'])

Reference: http://en.wikipedia.org/wiki/Derangement


Jos (10584) (2022). RANDPERMFULL (https://www.mathworks.com/matlabcentral/fileexchange/30189-randpermfull), MATLAB Central File Exchange. 取得済み .

MATLAB リリースの互換性
作成: R2018a
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!