MATLAB Answers

Problem using the matlab function randsample

14 views (last 30 days)
I ask randsample to return a random samples from a 1 x 78000 vector with second argument being 50
example:
randsample(vector,50)
It throws an error message reading:
Error using randi
Too many input arguments.
Error in randsample line 153
x(randi(n,1,k-sumx)) = 1; sample w/replacement
I've tried the matlab example too, and it returns the same error message.
Any suggestions?

  1 Comment

Adam
Adam on 9 Oct 2019
Works fine for me with a 1 x 78000 vector of random values. Are you using your offline help or online help? And are you using Matlab R2019b? If not you should always refer to your offline help, even if you first do an online search to find a help page. I have no idea if randsample has changed in recent versions though since it has been in the software since before 2006.

Sign in to comment.

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 9 Oct 2019
Edited: Stephen Cobeldick on 9 Oct 2019
MATLAB is trying to access the wrong randi function.
This might occur if you created your own randi function, or a third-party toolbox has a function with this name.
You can check this easily:
which randi -all
The solution is rename that function, or remove it from the MATLAB Search Path:

  1 Comment

Knut Andre Skaug
Knut Andre Skaug on 9 Oct 2019
There was another randi in a third-party toolbox.
Now it works, thank you!

Sign in to comment.

More Answers (0)

Sign in to answer this question.