# divergence


矢量场的散度

函数库: TySymbolicMath

# 语法

divergence(V,X)

# 说明

divergence(V,X) 返回向量场 V 相对于笛卡尔坐标中向量 X 的散度。 向量 V 和 X 必须具有相同的长度。示例

# 示例

求向量场的散度

求向量场的散度关于向量

using TySymbolicMath
@variables x y z
field = [x 2*y^2 3*z^3];
vars = [x y z];
TySymbolicMath.divergence(field,vars)
ans = 1 + 4y + 9(z^2)

求这个标量函数梯度的散度。 结果是标量函数的拉普拉斯算子。

@variables x y z
f = x^2 + y^2 + z^2;
TySymbolicMath.divergence(TySymbolicMath.gradient(f, vec(vars)), vars)
ans = 6
从电场中求电荷密度

微分形式的高斯定律表明,电场的发散度与电荷密度成正比。

求电场的电荷密度

using TySymbolicMath
using TyPlot 
using TyBase
@variables  x y ep0
E = [x^2 y^2];
rho = TySymbolicMath.divergence(E, [x y])*ep0
rho = ep0*(2x + 2y)

将 ep0 = 1 的 -2 < x < 2 和 -2 < y < 2 的电场和电荷密度可视化。使用 meshgrid2 创建 x 和 y 值的网格。 通过使用substitute替换网格值来查找电场和电荷密度的值。 通过使用单元阵列作为 substitute的输入,同时将网格值 xPlot 和 yPlot 代入电荷密度 rho。

rho = substitute(rho,Dict(ep0=>1))
v = -2:0.1:2;
xPlot,yPlot = meshgrid2(v);
Ex = substitute(E[1],Dict(x=>xPlot))
Ey = substitute(E[2],Dict(y=>yPlot))
rhoPlot = substitute(rho,Dict([x=>xPlot,y=>yPlot]))
contour(value.(xPlot),value.(yPlot),value.(scalarize(rhoPlot)))
hold("on")
quiver(xPlot,yPlot,value.(scalarize(Ex)),value.(scalarize(Ey)),length=2.5e13)
hold("off")

# 输入参数

V — 矢量场
符号变量 | 符号表达式 | 符号函数 | 符号向量 | 符号矩阵

用于查找散度的向量字段,指定为符号表达式或函数,或符号表达式或函数的向量。 V 必须与 X 的长度相同。

数据类型: Num

x - 寻找散度的向量
符号变量 | 符号向量

与您发现散度的变量,指定为符号变量或符号变量向量。 X 必须与 V 的长度相同。

数据类型: Num

# 详细信息

向量散度

向量散度由一下公式获得

# 另请参阅

laplacian | gradient | potential | jacobian