how to get the same result using rand

2 vues (au cours des 30 derniers jours)
Damien
Damien le 3 Nov 2022
Commenté : Les Beckham le 3 Nov 2022
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');

Réponses (2)

Les Beckham
Les Beckham le 3 Nov 2022
Modifié(e) : Les Beckham le 3 Nov 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 commentaires
Damien
Damien le 3 Nov 2022
Thank you for your help!
Les Beckham
Les Beckham le 3 Nov 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.

Connectez-vous pour commenter.


David Hill
David Hill le 3 Nov 2022
s=sum(rand(2,1e6)-.5);
histogram(s,40)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by