Re: [問題] 常態分布的隨機變數已回收
※ 引述《cypoint (蚊子)》之銘言:
: 我已經知道 如何從給定範圍內取兩個均勻分布的隨機亂數
: 變成常態分布的隨機亂數
: [-1,1) 取兩個 隨機變數 x1 x2
: 假使 r=x1^2+x2^2 >1 即重新選取
: y1=(-2lnr/r)^0.5*x1 同理 y2
: 則 y1 y2 即是常態分布的隨機亂數
: 兩個我會變 但如果是1000個亂數呢??
: 要怎麼寫 謝謝!!
: (抱歉 新手成長中..............)
: ---------------以下是我的程式碼-----------
: clear all;
: clc;
: x1=rand+rand-1;
: x2=rand+rand-1;
: r=x1^2+x2^2;
: while r>1
: x1=rand+rand-1;
: x2=rand+rand-1;
: end
: y1=(-2*log(r)/r)^0.5*x1;
: y2=(-2*log(r)/r)^0.5*x2;
n=1000;
ans=zeros(1,n);
r=1;
i=1;
while i<=n/2
while r>=1
x1=rand+rand-1;
x2=rand+rand-1;
r=x1^2+x2^2;
end
y1=(-2*log(r)/r)^0.5*x1;
y2=(-2*log(r)/r)^0.5*x2;
ans([i i+n/2])=[y1 y2];
i=i+1;
r=1;
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.60.138
※ 編輯: biglongtoday 來自: 61.216.60.138 (05/26 22:53)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):