gpt4 book ai didi

c# - 从 Matlab 到 C# 的多元正态随机数

转载 作者:太空狗 更新时间:2023-10-29 23:51:09 28 4
gpt4 key购买 nike

我正在将用 Matlab 编写的代码转换为 C#。在 Matlab 中,有一个名为 mvnrnd 的函数,它是一个多元正态随机数生成器。这需要两个输入:n x d 均值矩阵和 d-by-d cov 矩阵。我用谷歌搜索并发现 math.net matrixnormal 确实做同样的事情。

与 Matlab 中的函数不同,matrixnormal 需要三个输入:均值矩阵 (M)、行的 cov 矩阵 (V) 和列的 cov 矩阵 (K)。文档说明如果 M 的维度是 d-by-m,则 V 是 d-by-d,K 是 m-by-m。我有这两个输入矩阵(Matlab 的 1x12 均值矩阵和 12x12 cov 矩阵。我想将这两个输入转换为矩阵法线的三个输入。

均值矩阵部分不是问题,但我不知道如何转换 cov 部分。我不擅长统计。有人可以帮我做这个吗?谢谢,

最佳答案

这不是一个优雅的解决方案或任何东西,但我认为它可以工作...

为什么不通过填充值来创建协方差矩阵,然后在其上调用 ColumnCovariance() 和 RowCovariance()?我从来没有写过 C#,所以我不知道语法,但这应该给你一个大概的想法:

Matrix covariance = new Matrix( [some numbers]) // basically just copy the covariance values
Matrix rowCov = covariance.getRowCovariance()
Matrix colCov = covariance.getColumnCovariance()

关于c# - 从 Matlab 到 C# 的多元正态随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23413950/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com