我正在用mathematica编写一份关于寻找程序失败的概率的作业,制作一个带有结果的图和表,但是我在获取表的最后一个值时遇到了麻烦
Clear[bin1]
bin1[n_, p_, k_] :=
Module[{prob = (1 - p)^n, i},
Do[prob = (((n - i + 1)/i) (p/(1 - p))) prob, {i, k}]; prob]
distribution =
Table[bin1[50, #, k], {k, 0, 50}] & /@ Range[0, .9, .1];这是概率计算器prob = Max[Take[distribution, {#}]] & /@ Range[1, 10],它取表格的第一个值(它是故障的百分比)
position = # & /@ Range[0, .9, .1](thats just for the third value)
max = Last[
Last[Position[distribution, Take[prob {#}] & /@ Range[1, 10]]]]这是第三个值,我遇到麻烦的地方是它应该是最大值,但prob{#}部分不起作用,我不知道为什么
最后一个表应该是:TableForm[{position, prob, max}]
发布于 2014-09-04 11:54:39
请参阅documentation for Module
Module[{x,y,…},expr]
指定符号x,y,…在expr中应被视为本地。
当您说bin1[n_, p_, k_] := Module[{prob = …}]时,那么prob只在Module内部定义,并且在外部没有值。
您可以通过使用它来了解它是如何工作的:
In[1]:= Module[{foo}, foo]
Out[1]= foo$185Module重命名其作用域内的变量,使其具有无法在外部访问的唯一名称。
您可能需要另一个函数来计算prob,或者设置bin1[]来计算分布和概率。
https://stackoverflow.com/questions/25656041
复制相似问题