如何通过替换Mathematica中的值来评估一个点上的Vector

时间:2017-04-27 10:01:41

标签: wolfram-mathematica

我在下面有一个简单的Mathematica代码,我首先介绍一个标量函数ϕ = ϕ[x,y,z],然后计算ϕ的渐变。现在,我想通过用适当的值代替x, y, z来评估P点的渐变。请帮助我完成最后一步,将值插入xy到渐变中。请参阅下面的代码:

ϕ = y^2 + z^2 - 4;
varlist = {x, y, z}
Delϕ = Table[D[ϕ, varlist[[i]]], {j, 1, 1}, {i, 1, 3}]
Delϕ // MatrixForm
P = {2, 1, Sqrt (3)}

由于

2 个答案:

答案 0 :(得分:1)

假设您的意思是y^2 + z^2 - 4 x

φ = y^2 + z^2 - 4 x;
varlist = {x, y, z};
g = D[φ, #] & /@ varlist
  

{ - 4,2 y,2 z}

p = {2, 1, Sqrt[3]};
grad = g /. Thread[varlist -> p]
  

{ - 4,2,2 Sqrt [3]}

答案 1 :(得分:1)

另一种方法是使你的衍生物成为一种功能:

\[Phi] = y^2 + z^2 - 4 x;
varlist = {x, y, z};
Del\[Phi][{x_, y_, z_}] = Table[D[\[Phi], varlist[[i]]], {i, 1, 3}];

然后你可以这样做:

P = {2, 1, Sqrt[3]};
Del\[Phi][P]
  

{ - 4,2,2 Sqrt [3]}