How can I set the values of matrix in interval <a, b>?

4 Ansichten (letzte 30 Tage)
Ihor
Ihor am 4 Dez. 2022
Kommentiert: DGM am 4 Dez. 2022
Generate a matrix Ru of pseudo-random floating point values from a uniform distribution, a matrix Ri of pseudo- random integer
values from a uniform distribution and a matrix Rn of pseudo-random values from a normal distribution. Let the size of all
matrices be M x N. Let the expected value of Rn be m = 8 and variance v = 3. Let the values of Ru an Ri be from the interval < a,
b > = < 4, 9 >.
Rn = rand( M, N ) ;
Ru = randn( M, N) ;
Ri = randi( [a, b], M, N ) ; % here I know how to set the interval <a, b>
  2 Kommentare
Stephen23
Stephen23 am 4 Dez. 2022
Bearbeitet: Stephen23 am 4 Dez. 2022
Original question by Ihor retrieved from Google cache:
How can I set the values of matrix in interval <a, b>?
Generate a matrix Ru of pseudo-random floating point values from a uniform distribution, a matrix Ri of pseudo- random integer
values from a uniform distribution and a matrix Rn of pseudo-random values from a normal distribution. Let the size of all
matrices be M x N. Let the expected value of Rn be m = 8 and variance v = 3. Let the values of Ru an Ri be from the interval < a,b > = < 4, 9 >.
Rn = rand( M, N ) ;
Ru = randn( M, N) ;
Ri = randi( [a, b], M, N ) ; % here I know how to set the interval <a, b>
Rik
Rik am 4 Dez. 2022
I recovered the removed content from the Google cache (something which anyone can do). Editing away your question is very rude. Someone spent time reading your question, understanding your issue, figuring out the solution, and writing an answer. Now you repay that kindness by ensuring that the next person with a similar question can't benefit from this answer.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

DGM
DGM am 4 Dez. 2022
Bearbeitet: DGM am 4 Dez. 2022
Start with:
m = 500;
n = 500;
rrange = [4 9];
mn = 8;
vr = 3;
% uniform distribution with a specified range
Ru = rrange(1) + range(rrange)*rand(m,n);
[min(Ru(:)) max(Ru(:))]
ans = 1×2
4.0000 9.0000
% normal distribution with specified mean, variance
Rn = mn + sqrt(vr)*randn(m,n);
[mean(Rn(:)) var(Rn(:))]
ans = 1×2
7.9939 3.0058
% discrete uniform random integers
Ri = randi(rrange,m,n);
[min(Ri(:)) max(Ri(:))]
ans = 1×2
4 9
  3 Kommentare
Ihor
Ihor am 4 Dez. 2022
Is there tha way in which I can change the range() function because of it in other ToolBox?
DGM
DGM am 4 Dez. 2022
oof. I forgot that was in stats toolbox.
Ru = rrange(1) + (rrange(2)-rrange(1))*rand(m,n);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Random Number Generation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by