Wolfram mathematica wolfram mathematica中的位置使用问题

Wolfram mathematica wolfram mathematica中的位置使用问题,wolfram-mathematica,Wolfram Mathematica,嗨,我正在用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}] &a

嗨,我正在用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]
这是表的第一个值(它是failiure的过程)

这是第三个值,我很难确定它是最大值,但问题部分不起作用,我不知道为什么

最后一个表格应该是:
TableForm[{position,prob,max}]

请参见:

模块[{x,y,…},expr]

指定expr中出现的符号x、y、…应视为本地符号

当你说
bin1[n,p,k]:=Module[{prob=…}]
,那么
prob
只在
模块内部定义,在模块外部没有值

您可以通过玩它来了解它的工作原理:

In[1]:= Module[{foo}, foo]                                                      

Out[1]= foo$185
模块
重命名其作用域内的变量,使其具有外部无法访问的唯一名称


您可能需要另一个函数来计算
prob
,或者设置
bin1[]
来计算分布和概率。

第二个
Take
中似乎缺少一个逗号。也就是说你根本不需要使用take
Max[Take[distribution,{#}]&/@Range[1,10]
可以简单地写成
Max/@distribution
In[1]:= Module[{foo}, foo]                                                      

Out[1]= foo$185