假設在Matlab中生成一個分佈爲N(u,diag(sigma_1^2,...,sigma_n^2)的n維正態隨機數,其中u是一個垂直向量。在MATLAB中生成具有零協方差的多元正態隨機數
有兩種方式。
randn(n,1).*[sigma_1, ..., sigma_n]' + u;
mvnrnd(u', diag(sigma_1^2, ..., sigma_n^2))';
我認爲他們都是正確的。但我不知道是否有一個比其他基於某些原因,一些偏好?我問這個問題,因爲我看到另一個人總是選擇第一種方式,而我選擇了第二種,卻沒有考慮到它。
感謝和問候!
'mvnrnd'在stats工具箱中,'randn'不是 - 所以你擔心工具箱兼容性,然後使用'randn'。 – Richante 2012-04-24 15:52:59