如何在Mathematica中将复杂表达式改写为自定义函数形式
如何将Mathematica中的积分表达式改写为自定义函数的组合?
我在Mathematica中有一个包含多个未求值定积分和大量参数的长表达式,同时定义了若干包含这些积分的自定义函数,已知该表达式可以改写为这些函数的组合,但无法实现这一改写。
已尝试的操作步骤
通过求逆系数矩阵得到线性方程组的解:
In[20]:= equation1 = -Inverse[A] . vector1 // MatrixForm // FullSimplify(注:输出为图片形式,因声望限制无法直接上传)
定义用于改写的目标自定义函数:
X[r1_, r2_] := Inactive[Integrate][1/Sqrt[R], {r, r1, r2}]; Y[r1_, r2_] := Inactive[Integrate][r^2/Sqrt[R], {r, r1, r2}]; Z[r1_, r2_] := Inactive[Integrate][(r (LL r - 2 M (LL - a EE)))/(\[CapitalDelta] Sqrt[R]), {r, r1, r2}]; K[k_] := Inactive[Integrate][1/Sqrt[1 - k Sin[\[Phi]]^2], {\[Phi], 0, \[Pi]/2}]; Ee[k_] := Inactive[Integrate][Sqrt[1 - k Sin[\[Phi]]^2], {\[Phi], 0, \[Pi]/2}]; \[CapitalPi][z_, k_] := Inactive[Integrate][1/((1 - z Sin[\[Phi]]^2) Sqrt[1 - k Sin[\[Phi]]^2]), {\[Phi], 0, \[Pi]/2}]; W[r1_, r2_] := Inactive[Integrate][( r (r^3 + a^2 EE r - 2 a (LL - a EE)))/(\[CapitalDelta] Sqrt[R]), {r, r1, r2}];尝试使用
Eliminate函数进行改写:Clear[X, Y, Z, K, Ee, \[CapitalPi]]; Eliminate[{expr == equation1[[0, 0]] , X == X[r1, r2], Y == Y[r1, r2], Z == Z[r1, r2], K == K[k], Ee == Ee[k], \[CapitalPi] == \[CapitalPi][z1, k], W == W[r1, r2]}, {M}] // FullSimplify
当前遇到的问题
运行上述Eliminate代码后,未得到预期的改写结果,输出内容为:
Output[34]= Ee == Ee[k] && expr == Symbol && K == K[k] && W == Inactive[Integrate][(r (-2 a LL + r^3 + a^2 EE (2 + r)))/((a^2 - 2 Mr + r^2) Sqrt[(a LL - EE (a^2 + r^2))^2 - (a^2 - 2 Mr + r^2) ((-a EE + LL)^2 + Q + r^2 \[Mu]^2)]), {r, r1, r2}] && X == X[r1, r2] && Y == Y[r1, r2] && Z == Z[r1, r2] && \[CapitalPi] == \[CapitalPi][z1, k]
需求
希望将equation1的第一个元素改写为上述自定义函数X、Y、Z、K、Ee、[CapitalPi]、W的组合。预期解析解为图片形式(注:常量E对应代码中的EE,与函数E(k)不同;z_+、z_-对应代码中的z2、z1)。已查阅相关Stack Overflow问题但未找到解决方法,求可行的实现方案。
内容的提问来源于stack exchange,提问作者Entropy Reducer
相关产品推荐
相关产品推荐

