【发布时间】:2019-11-11 12:32:39
【问题描述】:
我正在尝试计算 100 次伯努利试验中 70 次(或更少)的成功概率。我用 Matlab 编写了它。但是,我得到的概率是 1(它不可能是 1,因为它在所有 100 次试验中都没有成功)。
我的功能正常吗?
syms k
f = nchoosek(100,k)*0.5^k*0.5^(100-k);
F = double(symsum(nchoosek(100,k)*0.5^k*0.5^(100-k),k,0,70));
如果是,我怎样才能在Matlab中得到更准确的结果?
谢谢
编辑: 我有一个二进制向量,表示 n 次试验中的成功/失败(比如掷硬币 100 次)。而且我需要样本的错误(统计数据的方式......但我不知道统计数据)。所以我想也许我会尝试计算“在所有试验中我离正确还有多远”,这在我的代码中应该是 1-F。但是,100 次成功中有 70 次成功给了我 error = 0 这显然不是真的..
edit2:在我在这里给出的示例中,我需要 100 次试验中有 70 次成功的概率。
【问题讨论】:
-
在询问数学问题时,将您尝试实现的数学包含在问题中是非常重要的。如果不这样做,您将潜在回答者的范围从“具有 MATLAB 知识的人”缩小到“具有 MATLAB 知识且事先了解您的特定数学问题的人”。请edit这个问题解释你正在尝试做什么,以及你的预期结果是什么@ 987654323@ - 你应该很容易手动做一个小试验示例来验证预期的输出我认为
-
@Wolfie:好的,谢谢你的提示。我试图将它添加到 edit 部分。我希望它足够清楚
-
这可以通过分析或经验来完成。你想要第 70 次试验第一次成功的概率吗?或者 100 次试验中有 70 次成功的概率?基础分布因具体问题(几何与二项式)而异。此外,如果您说“第 70 次试验成功”,那只是意味着使用 CDF 可能更方便。
-
@SecretAgentMan,我需要 100 次试验中有 70 次成功的概率
-
100 次试验中的 成功次数 分布为 Binomial(n = 100, p = P(成功))分布。 在 100 次试验中恰好有 70 次成功的概率是
binopdf(70,100,0.5)如果p = 0.5。
标签: matlab performance statistics probability binomial-cdf