别噜噜
花朵
共回答了22个问题采纳率:95.5% 举报
两者本质上还是有一些细微的不同,主要反映在两个函数的值集的不同,见下图:
可以看到函数 f 的定义是存在 f 的 DownValues,但是函数 g 的定义却是存在 g 的 SubValues 中的,对于一般的不涉及自定义函数属性操作的话,两者区别不大,推荐使用第一种表达方式,但是如果你除了自定义函数外,还要赋予函数一些属性,例如 HoldAll,Listable 等等,那么两者是有一些显著的差异的,稍不注意就会出错,切记只有 DownValues 定义的函数才能使所有的参数全部继承这些属性,而通过 SubValues 定义的函数只有最外面的参数才能继承属性.
下面是一个例子,看了之后就明白了.
上图中 f 和 g 的执行结果是不一样的.
1年前
追问
10
emma135
举报
在下对mathematica理解比较浅薄,能麻烦大侠讲解通俗一点吗?谢谢了!
举报
别噜噜
我都已经说得这么通俗这么清楚了,还前后举两个了例子,并截图给你展示,你还理解不了,那就没办法了,估计你平常也不会用到的,只要记住用第一种就行。