Randi worked in a program I ran 5 weeks ago, today it doesn't-what gives?

2 views (last 30 days)
Dear all,
I had a perfectly-functioning program that used this line:
c = randi([1,n],mn,1)
where n and mn are integers. I've re-opened the program to do a monte carlo simulation, and all I get is an error message stating:
Error using randi
Too many input arguments.
Mind you, I haven't changed a coma in the program. I'm just running it again to re-acquaint myself with had I had done.
Any thoughts?

Accepted Answer

John D'Errico
John D'Errico on 17 Oct 2019
Edited: John D'Errico on 17 Oct 2019
Don't write an m-file that is named randi, at least, if you will ever want to use randi. Try this:
which randi -all
If there is a function named randi that you created, then you did exactly that.
In general, avoid naming functions with existing function names. Check BEFORE you create that file.
  6 Comments
Stephen23
Stephen23 on 17 Oct 2019
Edited: Stephen23 on 17 Oct 2019
" I don't have a script named randi, or a function with that name."
MATLAB disagrees with you:
C:\Users\federico\Documents\MATLAB\mvgc_v1.0\utils\legacy\randi\randi.m
Guillaume
Guillaume on 17 Oct 2019
It appears you're using this toolbox. Delete it or at least remove it from your path since it shadows built-in functions randi and rng and maybe more.
I would also recommend getting in touch with them to complain about that shadowing.

Sign in to comment.

More Answers (0)

Categories

Find more on Parallel Computing in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!