Effacer les filtres
Effacer les filtres

how to write the randn' s code with just using rand and CLT

2 vues (au cours des 30 derniers jours)
alireza kooshafar
alireza kooshafar le 19 Fév 2016
Réponse apportée : jgg le 19 Fév 2016
I wrote this code but I didn't get the correct answer from it. i don't know where the problem is. thank for help
clc
clear all
m = input( 'please enter the number of LINES:');
n = input( 'please enter the number of ROWS:');
y = zeros(m,n);
G = zeros(m,n);
x = rand(m,n);
y= 0.2*x+32;
s(1)=y(1);
s(m*n)=sum(sum(y));
for i= 3: m*n
s(i-1)= s(i-2) + y(i-1);
end
G = zeros(m,n);
for i= 1:m*n
G(i) = s(i)/(i) ;
end
disp(G)
hist(G)
  4 commentaires
alireza kooshafar
alireza kooshafar le 19 Fév 2016
@Walter Roberson
Central Limit Theorem
@jgg
thanks yes you are right about the fault but I have no idea about using Cumulative distribution function here
and I am just going to write randn's code by using rand and the way is not importent
jgg
jgg le 19 Fév 2016
If you don't care about the method, see the answer below.

Connectez-vous pour commenter.

Réponse acceptée

jgg
jgg le 19 Fév 2016
Since you don't actually want to use the CLT, then inverse sampling is your solution.
notrandn = @(n,m)(norminv(rand(n,m),0,1));
out = notrandn(10000,1);
out2 = randn(10000,1);
ecdf(out)
hold on
ecdf(out2)

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by