自从我使用 Mathematica 已经有一段时间了,我查看了整个帮助菜单。我认为我遇到的一个问题是我不知道到底要查找什么。我有一段代码,包括附加列表和做基本数学,我想将其定义为单个变量。
我的目标是遍历一个序列,并且在需要时我想调用一段代码,我将在整个循环中多次使用该代码块。我猜我应该把它全部放在一个循环中,但我希望能够将它全部定义为一个函数。
看起来这应该是一个简单直接的过程。我错过了一些简单的东西吗?
自从我使用 Mathematica 已经有一段时间了,我查看了整个帮助菜单。我认为我遇到的一个问题是我不知道到底要查找什么。我有一段代码,包括附加列表和做基本数学,我想将其定义为单个变量。
我的目标是遍历一个序列,并且在需要时我想调用一段代码,我将在整个循环中多次使用该代码块。我猜我应该把它全部放在一个循环中,但我希望能够将它全部定义为一个函数。
看起来这应该是一个简单直接的过程。我错过了一些简单的东西吗?
这是 Mathematica 中函数定义的基本格式。
myFunc[par1_,par2_]:=Module[{localVar1,localVar2},
statement1; statement2; returnStatement ]
你的问题并不完全清楚,但我解释说你想要这样的东西:
facRand[] :=
({b, x} = Last@FactorInteger[RandomInteger[1*^12]]; Print[b])
现在每次facRand[]
调用一个新的随机整数被分解,全局变量被赋值,b
并且x
值b
被打印出来。这也可以通过以下方式完成Function
:
Clear[facRand]
facRand =
({b, x} = Last@FactorInteger[RandomInteger[1*^12]]; Print[b]) &
这也称为 with facRand[]
。这种形式是标准的,允许在facRand
不触发评估的情况下寻址或传递符号。