Generating random number between 1 to 10 but having discrete steps

4 views (last 30 days)
Hi,
I want to generate random time steps to test my function. As i have to give random time and it will generate output on that time value. any simple solution.
As i have tried before this method.
if true
N =10;
randperm(N);
%giving me
output = 5 2 10 3 8 1 9 7 4 6
%But i want output as
output = 1.857 3.597 2.684 7.158 9.516 5.535
end
Need your guidance.

Accepted Answer

Guillaume
Guillaume on 3 Feb 2016
output = rand(1, 10) * 10;
There's no guarantee that the 10 values are unique but the probability that you have two identical values is extremely small.
  1 Comment
Joseph Cheng
Joseph Cheng on 3 Feb 2016
Edited: Joseph Cheng on 3 Feb 2016
to expand on that why not use what you have but add the decimal as rand as well.
N =10;
output = randperm(N)+rand(1,10)
or instead of randperm you can use randi(10,1,numtests)+rand(1,numtests) where numtests is the number of test cases you're putting in.

Sign in to comment.

More Answers (0)

Categories

Find more on Random Number Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!