pen*_*guo 3 wolfram-mathematica function
如何定义抽象奇函数,比如f [x].
每当出现f [x] + f [-x]时,mathematica将其简化为零.
这可以使用upvalues轻松完成
f[x_] + f[y_] /; x == -y ^:= 0
Run Code Online (Sandbox Code Playgroud)
通常情况下,Mathematica会尝试将上述规则分配给Plus,这当然不起作用,因为它受到保护.通过使用^:=而不是:=您可以将规则分配给f.快速检查产生:
In[2]:= f[3]+f[-3]
Out[2]:= 0
Run Code Online (Sandbox Code Playgroud)
编辑:但是,这仅适用于Plus.使用更通用的东西可能更好,例如:
f[x_?Negative] := -f[-x]
Run Code Online (Sandbox Code Playgroud)
现在这也适用于像
In[4]:= -f[3] - f[-3]
Out[4]:= 0
Run Code Online (Sandbox Code Playgroud)
如果您还希望函数以符号方式工作,您可以添加如下内容:
f[-a_] := -f[a]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
713 次 |
| 最近记录: |