# 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
# 详细信息
向量散度
向量散度由一下公式获得