24小时热门版块排行榜    

查看: 883  |  回复: 0

zyj8119

木虫 (著名写手)

[交流] 【转帖】使用matlab对 某正态函数进行 蒙特卡罗模拟

在如下图的公式中


g(x)=f(m,n,L), 其中,m,n,L均服从正态分布,分布情况也在所给的图中.
请使用matlab,用蒙特卡罗模拟法 对该函数进行模拟,得出g(x)大于0的概率.
请将所需程序告知我,并给出结果.
CODE:
function func_baidu_monte_carlo

randn('state', sum(100*clock));
%利用时钟设置随机种子,这样每次产生的随机数就不同了

N = 1000000;
% 设置样本个数

m = 0.43 + sqrt(0.008) * randn(N,1);
n = 0.19 + sqrt(0.008) * randn(N,1);
L = 0.5 + sqrt(0.008) * randn(N,1);
%随机生成m, n, L,根据他们各自的分布

g = 16.4445 .* (m.*m.*L./(m.*m+n.*n))-8.2;
%计算g

fprintf('the probability of g>0 is %.2f\n', sum(g>0)/length(g));
%统计 g>0的概率,结果为0。18

已经测试通过,可以运行,结果为
the probability of g>0 is 0.18

回复此楼

» 猜你喜欢

好好学习,天天向上。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 zyj8119 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见