Wolfram mathematica 如何在Mathematica中通过替换值来计算点处的向量

Wolfram mathematica 如何在Mathematica中通过替换值来计算点处的向量,wolfram-mathematica,Wolfram Mathematica,下面我有一个简单的Mathematica代码,其中我首先引入了一个标量函数ν=ν[x,y,z],然后计算ν的梯度。现在,我想通过用适当的值替换x,y,z来计算P点的梯度。请帮助我完成最后一步,将值插入到x和y渐变中。见下面的代码: ϕ = 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)}

下面我有一个简单的Mathematica代码,其中我首先引入了一个标量函数
ν=ν[x,y,z]
,然后计算
ν
的梯度。现在,我想通过用适当的值替换
x,y,z
来计算P点的梯度。请帮助我完成最后一步,将值插入到
x
y
渐变中。见下面的代码:

ϕ = 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)}

谢谢

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

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

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


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

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

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


另一种方法是使导数成为函数:

\[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]}


另一种方法是使导数成为函数:

\[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]}


谢谢这提供了正确的答案!你介意解释一下被线程除法[varlist->p]是如何得到正确结果的吗?@PatStarks这不是除法,而是ReplaceAll,也就是说,谢谢!这提供了正确的答案!你介意解释一下被线程除法[varlist->p]是如何得到正确结果的吗?@PatStarks它不是除法,而是ReplaceAll,即。