Index exceeds matrix dimensions. Error in RandomSelection (line 9) xx=r(1:numOfBits);

function [xx]=RandomSelection(numOfBits,max)
% This function generates unrepeated random numbers ranges from 1 to max
% x1=0;
xx= zeros(1, numOfBits);
r = randperm(max);
xx=r(1:numOfBits);
%
end
%

Answers (1)

You will get this error if numOfBits is greater than max.
For example, if max = 5 and numOfBits = 7, then r will be a 1x5 vector and you will try to access the seventh element of a 5-element array.
By the way, the line
xx= zeros(1, numOfBits);
is not necessary since you are redefining xx below.

Products

Release

R2013a

Asked:

on 30 Mar 2021

Answered:

on 30 Mar 2021

Community Treasure Hunt

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

Start Hunting!