MatLab假设有一个长度为1cm的木棍,在其中间有两个断点,求构成三角形的概率
MatLab假设有一个长度为1cm的木棍,在其中间有两个断点,求构成三角形的概率
1.总述:
在数学中,主要应用线性规划来实现相关的概率计算,在计算机中,用rand生成(0,1)之间的均匀分布的伪随机数。根据构成三角形的判断条件,(实现构成三角形的次数)与(总的满足三角形边长是正数和边长小于总边长的条件)的商表示构成三角形的概率
2.源代码
%rand()产生一组(0,1)之间的均匀分布的随机数
%长度为一的木棍,两个结点后,构成三角形的概率
L = 1; % 木棒长度
LOOP = input('请输入你想循环的次数:'); %循环次数
triangle12 = 0; %用来计数,每次成功构成一个三角形记录次数加一
total = 0;
for i = 1:LOOP %使用for循环
x = rand;
y = rand;
z = L - x - y;%已知三角形的两边,第三边z的表示
if(x>0 && x<L && y>0 && y<L && z>0 && z<L)
total = total + 1;
%判断边长为正数,并且它的长度小于总长度
if(x+y>z && x+z>y && y+z>x && x-y<z && x-z<y && y-z<x)
%判断三角形的形成条件,三角形的两边之和大于第三边,三角形的两边之差小于第三边
%满足构成三角形,用来记录的那个数加一
triangle12 = triangle12 + 1;
end
end
end
a = triangle12/total;
fprintf("循环之后所得到的概率是:%d\n",a)
x = [a,1-a]; %画出概率饼状图
pie(x)
3.运行结果和成图结果:

结果接近于0.25

总结
使用MatLab,实现此概率的求解比较简单,画图也很方便。
欢迎留言点赞

浙公网安备 33010602011771号