如何解决r中的递归关系程序
考虑一个家庭在生完儿子和女儿之前要生孩子的问题。
使用递推关系确定 E(N(s,d)) 家庭在达到 s 个儿子和 d 个女儿的目标之前可以期望拥有的孩子数量。
我首先提出了递归公式
E(N(s,d)) = 1 + pE(N(s-1,d)) + qE(N(s,d-1))
我将如何创建一个程序来在 r 中执行这个公式?我遇到了麻烦,因为每次递归都会分出 2 个新调用(一个用于 s-1 情况,一个用于 d-1 情况),所以我在尝试实施有用的解决方案方面运气不佳。
我用python编写了一个程序来模拟答案,如下所示:
from random import random
list_of_results = []
for j in range(100000):
m = 0
n=0
i=0
while n < 3 or m < 2:
if random() >.5:
n=n+1
else:
m=m+1
i=i+1
list_of_results.append(i)
print(sum(list_of_results)/len(list_of_results))
这是一个家庭作业问题,所以我并不是真的在寻找答案——只是一直在思考为什么我没有得到预期的结果
解决方法
结果是在我对 d 或 s = 0 的评估中,我有错误的公式。在纸上追查之后,我意识到我的错误。修正了这些情况的公式,现在它返回了正确的答案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。