how to get the same result using rand
Mostrar comentarios más antiguos
im looking to answer this question: create N = 2 random vectors and each vector with L=10^6 samples
that are uniformly distributed between [-0.5 and 0.5], Plot the histogram with 40
bins of the sum of these two vectors..
so far I am here but i when i check my random numbers it ranges from 0,1 and not (-.5, .5). Can someone else me understand what I am doing wrong.
L=10^6;
a=[-.5 5];
b=[-.5 5];
a=rand(1,L);
b=rand(1,L);
sum=(a+b);
histogram(sum,40)
title('Histogram with 40 bins for sum of the 2 vectors');
Respuestas (2)
Les Beckham
el 3 de Nov. de 2022
Editada: Les Beckham
el 3 de Nov. de 2022
The documentation for rand states that it returns values "drawn from the uniform distribution in the interval (0,1)". If you want numbers between -0.5 and +0.5 simply subtract 0.5 from your a and b vectors.
Also, delete these two lines from your code. The don't do anything as you are redefining a and b in the next two lines:
a=[-.5 5];
b=[-.5 5];
3 comentarios
Steven Lord
el 3 de Nov. de 2022
FYI the "Random Numbers Within Specified Interval" example on that documentation page shows how to generate numbers on a specific interval using rand.
Damien
el 3 de Nov. de 2022
Les Beckham
el 3 de Nov. de 2022
You are quite welcome.
It is considered courteous in this forum to click "Accept this Answer" on the answer that best answers your question.
s=sum(rand(2,1e6)-.5);
histogram(s,40)
Categorías
Más información sobre Random Number Generation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
