Re: [問題] 常態分布的隨機變數已回收

看板MATLAB作者 (大長今)時間15年前 (2010/05/26 22:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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)
文章代碼(AID): #1B_JLqK8 (MATLAB)
文章代碼(AID): #1B_JLqK8 (MATLAB)