使用多元正态分布(MATLAB)进行仿真

时间:2011-02-22 13:53:19

标签: matlab simulation

我在我创建的模拟功能中使用mvnrnd函数

我有以下内容:

如果sigma行小于或= 5(运行模拟函数i'v创建= 1000)该函数工作但是如果segma矩阵的行超过5(并且我创建的函数run = 1000)它返回错误消息:SIGMA矩阵必须是正半定义矩阵。

如果我运行模拟50次并且sigma矩阵的行= 10(例如)

它有效

我如何让mvnrnd在模拟中起作用?

1 个答案:

答案 0 :(得分:0)

我假设命令是这样的:     R = mvnrnd(亩,SIGMA)

SIGMA的元素必须是协方差,根据定义它们是正的,因此SIGMA必须是正半定矩阵。即它具有正或等于零的特征值。

因此,您正在使用一个错误的SIGMA来提供您的功能。

我建议您检查一下代码或在此处发布。