Matlab使用蒙特卡洛方法求概率
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab使用蒙特卡洛方法求概率相关的知识,希望对你有一定的参考价值。
Matlab使用蒙特卡洛方法求概率
1.问题
将长为 1 1 1的绳子截取三段,求组成三角形的概率。
2.方法
采用蒙特卡洛方法 进行随机实验 求概率。
- 循环
- 从 ( 0 , 1 ) (0,1) (0,1) 生成两个随机数
- 这两个随机数将其分成三段。
- 判断较短的两边之和是否大于第三边,如果满足,记数器加1。
3.代码
matlab代码如下:
clearvars;
clc
N = 100000;
sum = 0;
for i = 1:N
r = rand(1,2);
x = min(r);
y = max(r);
a = x;b = y-x;c = 1-y;
num = sort([a,b,c]);
if num(1) + num(2) > num(3)
sum=sum+1;
end
end
p = sum/N;
disp(p);
可以发现理论概率在p=0.25
之间。
以上是关于Matlab使用蒙特卡洛方法求概率的主要内容,如果未能解决你的问题,请参考以下文章