在 Mathematica 中消除变量

Eliminating variables in Mathematica

我是 Mathematica 的新手,想从两个方程组中消除一个变量 iNt,结果应该是剩余变量 Nprime 的四阶 ODE。这是我尝试过的:

mass1=hBar*nPrime''[x]+\[Sigma]^2*(nPrime[x] - iNt[x])==nBar[x] 
mass2=(h-hBar)*(nPrime''[x]+\[Rho]*iNt''[x])+\[Sigma]^2*iNt[x]== 0
Eliminate[{mass1, mass2}, iNt]

答案由两个等式组成,iNt没有消去:

nBar[x] == -\[Sigma]^2 iNt[x] + \[Sigma]^2 nPrime[x] + hBar (nPrime^\[Prime]\[Prime])[x] && h (\[Rho] (iNt^\[Prime]\[Prime])[x] + (nPrime^\[Prime]\[Prime])[x]) == -\[Sigma]^2 iNt[x] + hBar \[Rho] (iNt^\[Prime]\[Prime])[x] + hBar (nPrime^\[Prime]\[Prime])[x]

我做错了什么??

Eliminate 仅适用于普通变量,不适用于函数。这可能是你想要的,首先用一个符号替换函数 iNt[x] 并删除它。

Eliminate[{
   mass1 = 
    hBar*nPrime''[x] + \[Sigma]^2*(nPrime[x] - iNt[x]) == nBar[x],
   mass2 = (h - hBar)*(nPrime''[x] + \[Rho]*iNt''[x]) + \[Sigma]^2*
       iNt[x] == 0
   } /. iNt[x] -> aa, aa]

[Sigma]^2 nPrime[x] + h [Rho] (iNt^[Prime][Prime])[x] - hBar [Rho] (iNt^[Prime][Prime])[x] + h (nPrime^[Prime][Prime])[x] == nBar[x]

此处保留 iNt 的二阶导数。那是你想要的吗?

消除函数需要更多的手工工作:

 iNt[x_] = iNt[x] /. Solve[mass1, iNt[x]][[1, 1]]
 mass2

fourth order equation in nPrime