Non-integer values inside "Randi" function
8 views (last 30 days)
Show older comments
inputRvector = 'Input r vector for roots of the polynomial as a vector ';
R = input(inputRvector)
R_length = length(R);
input_lower_e_range = 'Input lower range of e ';
e_min = input(input_lower_e_range)
input_upper_e_range = 'Input upper range of e ';
e_max = input(input_upper_e_range)
random_perturbations = randi([e_min e_max],1,R_length);
Hey guys, I am trying to get an input from the user and use that input inside the 'randi' function as a range of vlaues and a length of the 'randi' vector. The trick is that I want values much lower than 1 in the range of (10^-1,10^-8) and I think randi doesnt work with non-integers. Got any ways to do the same except with non-integer values as in the range (10^-1,10^-8)?
I am trying to do as in this case:
r = randi([10 50],1,5)
r = 1×5
43 47 15 47 35
P.S: I have been looking for similar questions for 4 hours and could'nt find anything
Thank you in advance
4 Comments
Walter Roberson
on 16 Feb 2020
What values are you entering for the prompts?
Are you entering a vector for the lower bounds and upper bounds?
Answers (2)
Steven Lord
on 17 Feb 2020
If you want uniformly distributed random numbers that are not integers, randi is not the right tool for the job. See the examples in the documentation for the rand function.
0 Comments
Walter Roberson
on 16 Feb 2020
random_perturbations = randi([e_min e_max],1,R);]
That ] should not be there at the end of the line.
See Also
Categories
Find more on Logical 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!