【问题标题】:Simulating result by Monte Carlo Simulation蒙特卡罗模拟的模拟结果
【发布时间】:2012-05-14 12:57:52
【问题描述】:

我有三个变量,比如说 a、b 和 c,我通过正态分布生成了 10,000 个这些变量的随机数。现在我想运行 monte carlo 模拟以得到 1000 次的结果。
我的模型是,Y=0.5*a+0.4*b+0.6*c。
任何人都可以帮助使用matlab代码吗?
提前致谢

【问题讨论】:

    标签: matlab


    【解决方案1】:
    v = randn(1000,3);
    y = 0.5*v(:,1)+0.4*v(:,2)+0.6*v(:,3);
    

    v 的列是 a,b,cy 是结果。

    编辑:给定一个 10000x3 矩阵 v,为从 v 中随机选择的 1000 个样本计算 y

    ind = randperm(10000);
    y = 0.5*v(ind(1:1000),1) + 0.4*v(ind(1:1000),2) + 0.6*v(ind(1:1000),3);
    

    我认为随机选择随机数据只会使事情复杂化。如果v是随机生成的,那么任何1000个样本的集合都应该没问题。

    【讨论】:

    • 嗨雅各布,感谢您的回复。在您的代码中,“v”生成 1000 行和 3 列。但是我已经为我的三个不同变量生成了“v”矩阵,每个变量都有不同的分布。所以我有 v 的矩阵,它包含 10000*3 个数据。现在我想做蒙特卡罗模拟,它将从“v”矩阵中获取随机数据 1000 次,并在 1000 次中给出 y 的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2015-02-10
    • 1970-01-01
    • 2013-01-02
    • 2021-08-23
    • 1970-01-01
    相关资源
    最近更新 更多