我正在使用的表达式太复杂了,无法在这里完全输入,但我已经包含了一个简单的示例,突出显示了我遇到的问题。我希望有人在那里有足够的编程能力来帮助我解决这个问题。让我先说这个,说我在编程方面一般没有什么背景,但我知道Mathematica的基础知识。任何和所有的帮助,不胜感激。假设我已经设置了以下功能: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])
我已经建立了A[x,y,z]
与X[x]
,Y[y]
规则,Z[z]
以便它可以处理时x == 0
我想在A[x,y,z]
所有表达式的情况下x,y,z == 0
,即与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: Indeterminate expression 0 (-[Infinity]) encountered. >>
必须有用Mathematica解决这个问题,我想知道是否会涉及Hold函数或相关的东西。谢谢大家的帮助。
这是一个简单的修复,谢谢! – CaptanFunkyFresh 2012-01-07 21:31:36