1. 程式人生 > >Matlab 從多維正態分佈中隨機抽取樣本:mvnrnd

Matlab 從多維正態分佈中隨機抽取樣本:mvnrnd

R = mvnrnd(MU,SIGMA)——從均值為MU,協方差為SIGMA的正態分佈中抽取n*d的矩陣R(n代表抽取的個數,d代表分佈的維數)。
MU為n*d的矩陣,R中的每一行為以MU中對應的行為均值的正態分佈中抽取的一個樣本。
SIGMA為d*d的對稱半正定矩陣,或者為d*d*n的array。若SIGMA為array,R中的每一行對應的分佈的協方差矩陣為該array對應的一個page。也就是說:R(i,:)由MU(i,:)和SIGMA(:,:,i)產生。
如果協方差矩陣為對角陣,sigma也可用1*d向量或1*d*n的array表示,如果MU是一個1*d的向量,則SIGMA中的n個協方差矩陣共用這個MU。
R的行數n由MU的行數n或者SIGMA的page數n決定。


r = mvnrnd(MU,SIGMA,cases)——從均值為MU(1*d),協方差矩陣為SIGMA(d*d)的正態分佈中隨機抽取cases個樣本,返回cases*d的矩陣r。