-3
`n = 10000; 
Min= Minimum Value;
Max= Maximum Value;
Mode= Most Likely Value;
X = [Min=5,Mode=7,Max=10];
Y = [Min=3,Mode=5,Max= 10];
Z = [Min=5,Mode=7,Max=12];
P= X*Y*Z;`

我有三个参数,例如 X =( Min=5,Mode=7,Max=10); Y=(Min=3,Mode=5,Max=10); Z=(最小=5,模式=7,最大=12)。P = X Y Z;现在我如何编写一个 MATLAB 代码进行 10000 次迭代的蒙特卡罗模拟以获得 P 值?以及如何绘制输出 P 值的正态分布和累积分布?

4

1 回答 1

0

首先,您应该计算每个分布的均值和方差,用正态分布对其进行建模,然后:

Xrand = (Xvariance*randn(1,n)) + Xmean*ones(1,n);
Yrand = (Yvariance*randn(1,n)) + Ymean*ones(1,n);
Zrand = (Zvariance*randn(1,n)) + Zmean*ones(1,n);

P = Xrand.*Yrand.*Zrand;

plot(P);

如果您不想使用正态分布建模,那么您将需要一些工具箱或自己实现分布。

于 2012-08-23T11:24:07.860 回答