求助,公式推导时如何控制梯度不展开? 50

浏览:1138 回答:1

我要对以下两个公式联立消去其中的eta

equ1 = D[\[Eta][x, y, t], t] + 

Grad[\[Phi][x, y, z, t], {x, y}].Grad[\[Eta][x, y, t], {x, y}] == 

D[\[Phi][x, y, z, t], z];

equ2 = D[\[Phi][x, y, z, t], t] + 

1/2*Norm[Grad[\[Phi][x, y, z, t], {x, y, z}]]^2 + 

g*\[Eta][x, y, t] == 0;

直接用eliminate始终不行,然后我尝试通过equ2导出eta代入equ1,并且要控制梯度不被展开,于是我尝试

Inactivate[Solve[equ2, \[Eta][x, y, t]], Grad]

可是不知道为啥梯度项无论怎么控制它还是会展开。单独求解一个Inactivate[Grad[\[Phi][x, y, z, t], {x, y}], Grad]就能成功。

求问各位前辈怎么解决?


邀请回答 我来回答

全部回答

(1)
默认 最新
Fair
"当你用=定义的时候,Grad已经被展开计算了,所以后面再Inactivate也没用 把equ1和equ2的定义也放到Inactivate里就可以了 Inactivate[ equ1 = D[\[Eta][x, y, t], t] + Grad[\[Phi][x, y, z, t], {x, y}].Grad[\[Eta][x, y, t], {x, y}] == D[\[Phi][x, y, z, t], z]; equ2 = D[\[Phi][x, y, z, t], t] + 1/2*Norm[Grad[\[Phi][x, y, z, t], {x, y, z}]]^2 + g*\[Eta][x, y, t] == 0; Eliminate[{equ1, equ2}, eta], Grad]"
2018年1月23日
已采纳 评论 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP