这个工具可以保存你的协方差矩阵,把它们变成真正具有你需要的属性的东西。 也就是说,当您尝试在 mvnrnd 之类的工具中使用协方差矩阵时,如果您的矩阵不是正定矩阵,则毫无意义。 所以 mvnrnd 在这种情况下会失败。
但有时,似乎用户最终得到的矩阵不是对称的和正定的(通常缩写为 SPD),他们仍然希望使用它们来生成随机数,通常是在 mvnrnd 之类的工具中。 一种解决方案是找到具有所需特性的 SPD 的 NEAREST 矩阵(最小化差异的 Frobenius 范数)。
我看到问题每隔一段时间就会出现,所以我查看了文件交换,看看那里有什么。 我发现的只是nearest_posdef。 虽然这通常几乎有效,但它可能会更好。 它实际上在我的大多数测试用例中完全失败,并且使用优化并没有我想要的那么快。 事实上,在对nearest_posdef 的评论中,提出了一个合乎逻辑的替代方案。 该
2021-10-11 08:49:28
22KB
matlab
1