在mathematica中,函数的表达式的基本形式为f[arg1,arg2, ...]
其中,f为函数名(常规函数)或者函数体(匿名函数),arg1,arg2, ...为函数参数。
一元函数f(x)可以写成以下形式:
f[x](常规形式)
f@x(简写形式)
f@@{x}(用列表来存放参数,返回值也包裹在列表里)
Construct[ f, x ](构造函数形式)
多元函数f(x,y,z)可以写成以下形式:
f[x,y,x](常规形式)
f@ Sequence[x,y,z](简写形式)
f@@{x,y,z} (用列表来存放参数序列,返回值也包裹在列表里)
Construct[ f , Sequence[x,y,z] ](构造函数形式)
从上面可以看出,Sequence结构非常有用,Sequence[x,y,z]相当于[x,y,z](大体上相同,不是完全相同,因为Sequence[]可以单独使用,[]不可以单独使用),在mathematica中,单独用x,y,z是不合法的,把序列放到一个可以被函数直接应用的容器里,这个容器就是Sequence。比如可以这么写:
args=Sequence[x,y,..]
f@args
也可以把参数序列放在列表里,比如可以这么写:
args={x,y,..}
f@@args