【发布时间】:2012-01-07 20:43:09
【问题描述】:
我正在使用的表达式过于复杂,无法在此处完全输入,但我提供了一个简单的示例来突出我遇到的问题。我希望有人有足够的编程毅力来帮助我解决这个问题。让我先说我在一般编程方面几乎没有背景,但我知道 Mathematica 的基础知识。非常感谢任何和所有帮助。假设我设置了以下功能:
X[x_] := x Log[x]
X[0] := 0
Y[y_] := y Log[y]
Y[0] := 0
Z[z_] := z Log[z]
A[x_, y_, z_] := X[x] + Y[y] + Z[z]
In[7]:= A[x, y, z]
Out[7]= x Log[x] + y Log[y] + z Log[z]
In[8]:= B[x_, y_, z_] :=
Evaluate[A[x, y, z] - x*D[A[x, y, z], x] - y*D[A[x, y, z], y] -
z*D[A[x, y, z], z]]
In[9]:= B[x, y, z]
Out[9]= x Log[x] - x (1 + Log[x]) + y Log[y] - y (1 + Log[y]) +
z Log[z] - z (1 + Log[z])
我已经使用X[x]、Y[y] 和Z[z] 的规则设置了A[x,y,z],以便它可以处理x,y,z == 0 的情况,即x == 0 我想要@987654328 中的所有表达式@ 和 x 归零或被忽略,包括 Log[x]。我定义了一个函数B[x,y,z],它涉及A[x,y,z] 的偏导数。现在,我想要结果,以便B[0,y,z] 产生
yLog[y]-y(1+Log[y])+zLog[z]-z(1+Log[z])
那基本上是返回并制作A[x,y,z]:= Y[y]+Z[z],但我目前遇到了以下可以理解的错误:
Infinity::indet:遇到不确定的表达式 0 (-[Infinity])。 >>
Mathematica 一定有办法解决这个问题,我想知道它是否会涉及 Hold 函数或相关的东西。谢谢大家的帮助。
【问题讨论】:
标签: wolfram-mathematica controls evaluation expression