English 中文(简体)
将纯功能移至模块
原标题:on passing a pure function to a module

如果能够安全地做以下工作,仅需要检查:

请允许我说,我有一种功能 f(x)也取决于其他参数。 例如,a*Exp[(x-x0)^2/(2*std^2)]

摘自《统一法》 我读到<代码>a和x0std的用户投入值(通过激光器)。

 f=Function[{x,a,x0,std}, a*Exp[ (x-x0)^2/(2*std^2)]

以上是在同样的情况下(在曼苏尔特控制区)进行的,当时我阅读了用户的投入,然后当用户打一个顿来管理该方案时,我称另一个下级职能处理这一投入,就像这一职能一样。

 foo[f,a,x0,std]

然后,在 f内,它通过发出类似电话,对某些电网点(x1,x2,etc......)评价<代码>f。

 foo[f_,a_,x0,std_]:=Module[{x1,x2...},     
   .....
   f[x1,a,x0,std];
   f[x2,a,x0,std];
   f[x3,a,x0,std]; etc... 
   ....
   ]

通知中,只使用<代码>x<>/code>参数的纯功能,其余部分则沿用。

但是,由于这些参数没有在oo内使用,我想不要通过所有其他参数a、x0、std。

So, I changed the pure function to become

 f=Function[{x}, a*Exp[ (x-x0)^2/(2*std^2)];

当时称为“oo”。

 foo[f]

之后,我确实在禁忌中。

 foo[f_]:=Module[{},     
   .....
   f[x1];
   f[x2];
   f[x3]; etc...
   ....
   ]

我对此进行了测试,并发挥了作用。 (在我第一次认为,由于在模块 f中情况不同,我不得不通过<代码>a,x0,std<>/code>和f。) 但我没有。 见a ,x0stdx,其纯粹功能中作为全球被节省下来并在纯功能体内通过。

我的问题:你是否对上述第二种做法有任何问题? 我所期待的东西? 在我进行的测试中,它迄今做了罚款。 这将使它更加简单,因为现在我只需要通过纯粹的职能,而不是通过用来扩大的所有其它参数,因为这些参数不是在oo内所需要的。

换言之,我正试图在这两个层次之间作出决定:

“entergraph

只是想检查。

感谢

最佳回答

如何按照这些方针处理某些问题:

mkf[a_, x0_, std_] := 
 Function[{x}, Evaluate[a*Exp[(x - x0)^2/(2*std^2)]]]

foo[f_] := Module[{x},
      x = 1;
      f[x]
      ]

foo[mkf[1, 1, 1]]

你产生你想要使用的职能,然后才能通过。

问题回答

暂无回答




相关问题
Solving vector equations in Mathematica

I m trying to figure out how to use Mathematica to solve systems of equations where some of the variables and coefficients are vectors. A simple example would be something like where I know A, V, and ...

Introspection of messages generated in Mathematica

Is there any way to get at the actual messages generated during the evaluation of an expression in Mathematica? Say I m numerically solving an ODE and it blows up, like so In[1] := sol = NDSolve[{x [...

Connecting points in Mathematica

I have a collection of points displayed in a graphic: alt text http://img69.imageshack.us/img69/874/plc1k1lrqynuyshgrdegvfy.jpg I d like to know if there is any command that will connect them ...

Mathematica, PDF Curves and Shading

I need to plot a normal distribution and then shade some specific region of it. Right now I m doing this by creating a plot of the distribution and overlaying it with a RegionPlot. This is pretty ...

Targeted Simplify in Mathematica

I generate very long and complex analytic expressions of the general form: (...something not so complex...)(...ditto...)(...ditto...)...lots... When I try to use Simplify, Mathematica grinds to a ...

热门标签