내가 사용하고있는 표현은 너무 복잡하여 여기에 완전히 입력 할 수는 없지만 지금 실행중인 문제를 강조하는 간단한 예제를 포함 시켰습니다. 이 문제를 해결하기에 충분한 프로그래밍 불만이있는 누군가가 있기를 바랍니다. 필자는 프로그래밍에 대한 배경 지식이 거의 없지만 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])
내가 X[x]
, Y[y]
에 대한 규칙 A[x,y,z]
을 설정, 그리고 x == 0
내가 A[x,y,z]
의 모든 표현을 할 때 즉, 경우 x,y,z == 0
를 처리 할 수 있도록 Z[z]
x
은 0으로되거나 무시되어야합니다 (예 : Log[x]
). A[x,y,z]
의 부분 도함수가 포함 된 함수 B[x,y,z]
을 정의했습니다.
Infinity::indet: Indeterminate expression 0 (-[Infinity]) encountered. >>
이 있어야합니다 : B[0,y,z]
는 기본적으로 돌아가서 A[x,y,z]:= Y[y]+Z[z]
을 대신 내가 현재 다음, 이해, 오류로 실행하고하는 것입니다
yLog[y]-y(1+Log[y])+zLog[z]-z(1+Log[z])
를 얻을 수 있도록 지금, 나는 결과를 원한다 Mathematica로이 문제를 해결할 수있는 방법이 있습니다. Hold 함수 나 관련이 있는지 궁금합니다. 도와 주셔서 감사합니다.
간단한 수정이었습니다. 감사합니다! – CaptanFunkyFresh