Non-integer values inside "Randi" function

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 Kommentare

Last line of your code seems to be wrong.
It should be:
random_perturbations = randi([e_min e_max],1,R);
In this way you generate random integer vector of size [1,R] with values within the range [e_min, e_max].
Problem solved?
khalid alharthi
khalid alharthi am 16 Feb. 2020
No, it gives me this
Error using randi
Size inputs must be scalar.
Walter Roberson
Walter Roberson am 16 Feb. 2020
What values are you entering for the prompts?
Are you entering a vector for the lower bounds and upper bounds?
khalid alharthi
khalid alharthi am 16 Feb. 2020
Bearbeitet: khalid alharthi am 17 Feb. 2020
I have also solved this problem.
The problem I am having now, is that randi only except integers and I need a way to have values like 10^-5.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Steven Lord
Steven Lord am 17 Feb. 2020

1 Stimme

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.
Walter Roberson
Walter Roberson am 16 Feb. 2020

0 Stimmen

random_perturbations = randi([e_min e_max],1,R);]
That ] should not be there at the end of the line.

1 Kommentar

khalid alharthi
khalid alharthi am 16 Feb. 2020
Bearbeitet: khalid alharthi am 17 Feb. 2020
So sorry Mr. Roberson about that a was a typo and It wasnt the problem I had.

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 16 Feb. 2020

Bearbeitet:

am 17 Feb. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by