【发布时间】:2011-06-05 20:37:23
【问题描述】:
我目前在与模拟相关的领域工作,并尝试设计一种可以在矩阵中包含随机变量的数据结构。为了激发这一点,让我说我有以下矩阵:
[a b; c d]
我想找到一个允许a, b, c, d 是实数或随机变量的数据结构。例如,假设a = 1、b = -1、c = 2,但让d 是一个均值为 0 标准差为 1 的正态分布随机变量。
我想到的数据结构不会给d 带来任何价值。不过,我也希望能够设计一个函数,可以接受结构,模拟uniform(0,1),使用逆CDF 获得d 的值,然后吐出一个实际矩阵。
我有几个想法可以做到这一点(都与 MATLAB icdf 函数有关),但想知道更有经验的程序员会如何做到这一点。在这个应用程序中,结构尽可能“精简”很重要,因为我将使用非常大的矩阵并且内存将是一个问题。
编辑#1:
感谢大家的反馈。我决定使用单元结构并将随机变量存储为函数句柄。为了为大规模应用节省一些处理时间,我决定在“评估”部分参考随机变量的位置以节省时间。
【问题讨论】:
-
所有要支持的随机元素是否总是正态分布和独立的?或者您是否需要支持其他分布和/或协方差?
-
更多关于这些大型矩阵的详细信息将帮助我们为您提供更具体的解决方案。特别是,随机值会被分组到较大矩阵中的子矩阵中,还是会分散在整个较大矩阵中?
-
@aschepler:我需要它来支持用户定义的随机变量,以及其他通用随机变量类型(即正常、测试、统一等)
-
@gnovice:它们将分散在更大的矩阵中,所以我相信我还将存储 RV 的索引,而不必遍历矩阵
标签: matlab matrix random data-structures simulation