mvnrnd函数使用matlab错误信息?

时间:2013-02-12 12:39:29

标签: matlab simulation

我正在创建一个gibbs采样算法,当我使用mvnrnd函数时会出现以下消息:

??? Error using ==> mvnrnd SIGMA must be a symmetric positive semi-definite matrix.

注意我在使用mvnrnd

之前使用过chol函数
nu02=chol(nu01);
nu0=s*nu02;
z = mvnrnd(mu0,nu0)';

我该怎么做才能解决问题?

1 个答案:

答案 0 :(得分:0)

我猜你期望nu0在你传递给mvnrnd时应该是对称正半正定的,但由于某种原因,有很小的数值问题使它成为不太对称。

可能还有另一个问题,但如果这是问题,你可以强制它与命令完全对称

nu0 = (nu0 + nu0')/2;

希望有所帮助。