全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1440 3
2021-10-26
一根棍子正好有一米长。沿着棍子的长度随机选择两个点。棍子在这些地方被切开。让这
三根棒子的长度为 x, y, z,这三根棒子能不能形成一个三角形?让我们执行一个模拟来估计
我们能做到的概率。
(1)用自己学号的后五位数字作为 seed,从(0, 1)的均匀分布里随机抽取 20000 个样
本,保存为 r。将 r 转化为 n×2 矩阵,再次保存为 r,使 r 中的每一行都代表随机切割点。
(2)对于 r 中的每一行,计算他的最小值和最大值,并分别保存为 r1 和 r2(r1 和 r2 应
为长度为 n 的向量)。
(3)计算以 r1 和 r2 中的点为分割点而得到的三根棍子的长度,分别保存为 x,y 和 z(x,
y 和 z 应为长度为 n 的向量)。
(4)已知三根长度为 x, y, z 的棍子,每根都小于 1 米,什么时候可以用它们创造一个三
角形呢?也就是说,找出 x, y, z 必须满足才能形成三角形的不等式。
(5)从 r 中选择所有能够形成一个三角形的情况,并将它们保存为 tri,并且,估计在任
意两个位置切割棍子可以形成一个三角形的概率。
(6)现在试着用数学思维来计算这个概率的理论值。你能解释一下你的理论答案和你的
模拟估计之间的区别吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2021-10-26 16:29:27
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-10-26 16:30:20
求问为什么我循环里基本每一次tri变量都加进去了,而不是满足条件的n加进去了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-10-27 09:01:03
两个问题。首先你的判断条件不是很正确,你要限制的其实是三角形的两条边(因为周长固定,确定了两条边,第三边即可得)
所以判断的条件应该是两条不超过1/2的边之和大于1/2,即x+y>0.5且x<=0.5且y<=0.5。
第二你循环里的c()函数是想组合两个元素成为一个向量,但你的只有一个元素(即c(n)),也就是说你告诉了电脑,你的tri里面只有一个元素,所以你想要把你每一个n都放到tri里,应该是tri<-c(tri,n)。

所以
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群