Curl
更多信息
- Curl 也成为 rot、rotor、rotational 和环量密度.
- Curl[f,x] 可以作为 ∇xf 输入. 符号 ∇ 可通过键入
del
或 \[Del] 得到,符号 可通过键入
cross
或 \[Cross] 得到. 变量列表 x 可以作为下标输入. - 空模板 ∇ 可通过键入
delx
得到,并用
将光标从下标移动到主体部分. - 所有不显式依赖于给定变量的数量具有零偏导数.
- 在 Curl[f,{x1,…,xn}] 中,如果 f 是深度为 k<n 的数组,它的维度必须是 {n,…,n},而所得旋度是维度为 {n,…,n}、深度为 n-k-1 的数组.
- 如果 f 是一个标量,Curl[f,{x1,…,xn},chart] 在与 chart 相关联的标准正交基中返回深度为 n-1 的数组.
- 在 Curl[f,{x1,…,xn},chart] 中,如果 f 是一个数组,那么 f 的分量被解释为位于与 chart 相关联的标准正交基中.
- 对于欧几里得空间上的坐标系,可通过将 f 转换至直角坐标系来计算 Curl[f,{x1,…,xn},chart],算出旋度后再转换回 chart. »
- 可用三元组 {coordsys,metric, dim}(与 CoordinateChartData 的第一个参数相同的方式)指定 Curl 的第三个参数中的坐标系. 可以使用忽略了 dim 的简短形式 式.
- Curl 适用于 SparseArray 和结构化数组对象.
范例
打开所有单元 关闭所有单元基本范例 (4)
Curl[{f[x, y, z], g[x, y, z], h[x, y, z]}, {x, y, z}]Curl[{f[r, θ, z], g[r, θ, z], h[r, θ, z]}, {r, θ, z}, "Cylindrical"]Curl[{y, -x}, {x, y}]使用
del
输入 ∇,用
输入带有下标的变量列表,用
cross
输入 :
Subscript[∇, {x, y, z}]⨯{y, -x, z}使用
delx
输入模板 ∇,填入变量,按
键,填入函数:
Subscript[∇, {x, y, z}]⨯{y, -x, z}范围 (6)
Curl[{r Sin[θ], -r Cos[θ]}, {r, θ}, "Polar"]Curl[{1, 1, 1}, {r, θ, ϕ}, "Spherical"]//ExpandCurl[{{x y, x y^2, x y^3}, {x^2y, x^2y^2, x^2y^3}, {x^3y, x^3y^2, x^3y^3}}, {x, y, z}]Curl[{ψ, 0, ϕ θ}, {ψ, θ, ϕ}, {{"EllipticCylindrical", {a}}, "Euclidean"}]//SimplifyCurl 可产生高阶数组:
Curl[u ^ 2 v ^ 2 x ^ 2 y ^ 2 z ^ 2, {u, v, x, y, z}]TensorRank[%]Curl 适用于曲面空间:
Curl[{f[u, v], g[u, v]}, {u, v}, {"Stereographic", {"Sphere", 1}}]//FullSimplify应用 (3)
v[x_, y_] := {Cos[x] Sin[y], Cos[y] Sin[x]}
Curl[v[x, y], {x, y}]StreamPlot[v[x, y], {x, -10, 10}, {y, -10, 10}, PlotRangePadding -> None]解析意义上讲,它意味着向量场可以被表示为一个标量函数的梯度. 为了找到这个函数,把一条从原点到任意点 {x,y} 的曲线参数化:
c[t_] := t{x, y}φ[x_, y_] = Subsuperscript[∫, 0, 1]v@@c[t].c'[t]ⅆtGrad[φ[x, y], {x, y}] == v[x, y]如果向量场是球形对称的且只有一个径向分量,称该向量场为中心场:
v[r_, θ_, φ_] := {f[r], 0, 0}Curl[v[r, θ, φ], {r, θ, φ}, "Spherical"]这表明 v 是一个梯度场. 因为 v 只依赖于径向分量,电势 u 的线积分简化为一个简单的一维积分:
u[r_, θ_, φ_] = Subsuperscript[∫, 0, r]v[s, θ, φ] . {1, 0, 0}ⅆsGrad[u[r, θ, φ], {r, θ, φ}, "Spherical"] == v[r, θ, φ]B[r_, θ_, z_] := {0, 0, 1 / r }Div[B[r, θ, z], {r, θ, z}, "Cylindrical"]A[r_, θ_, z_] := {f[r, θ, z], g[r, θ, z], h[r, θ, z]}Thread[B[r, θ, z] == Curl[A[r, θ, z], {r, θ, z}, "Cylindrical"]]如果
和
是常量,则前两个方程成立. 第三个方程具有明显的解
:
B[r, θ, z] == Curl[{0, 1, 0}, {r, θ, z}, "Cylindrical"]属性和关系 (7)
Curl 产生完全反对称的数组:
cur = Curl[x y z, {x, y, z}]Transpose[cur] == - curTensorContract[cur, {{1, 2}}]Curl[Grad[f[x, y, z], {x, y, z}], {x, y, z}]Curl[Grad[{f[x, y, z], g[x, y, z], h[x, y, z]}, {x, y, z}], {x, y, z}]Curl[Inactive[Grad][f[x, y, z], {x, y, z}], {x, y, z}]Curl[Inactive[Grad][{f[x, y, z], g[x, y, z], h[x, y, z]}, {x, y, z}], {x, y, z}]
维情况下,Curl 只对阶数少于
的张量有定义:
Curl[f[x, y], {x, y}]Curl[{f[x, y], g[x, y]}, {x, y}]Curl[{{a[x, y], b[x, y]}, {c[x, y], d[x, y]}}, {x, y}]Curl 与反对称 Grad 成比例,随后是一个对 HodgeDual 的调用:
Curl[f[x, y], {x, y}] == HodgeDual@Symmetrize[Grad[f[x, y], {x, y}], Antisymmetric[All]]f = {x ^ 2y, z x y, z ^ 3};r = TensorRank[f]Curl[f, {x, y, z}] == (-1)^r(r + 1)HodgeDual[Symmetrize[Grad[f, {x, y, z}], Antisymmetric[All]]]通过转换为直角坐标然后再转换回来,计算欧几里得坐标系 c 中的 Curl:
TransformedField["Spherical" -> "Cartesian", {f[r, θ, φ], g[r, θ, φ], h[r, θ, φ]}, {r, θ, φ} -> {x, y, z}]//MatrixFormCurl[%, {x, y, z}]//Simplify//MatrixFormFullSimplify[TransformedField["Cartesian" -> "Spherical", %, {x, y, z} -> {r, θ, φ}], r > 0 && 0 < θ < π && -π < φ < π]//MatrixForm结果与直接计算 Curl[f,{x1,…,xn},c] 相同:
% == Curl[{f[r, θ, φ], g[r, θ, φ], h[r, θ, φ]}, {r, θ, φ}, "Spherical"]//FullSimplify维度为
时,标量的旋度是秩为
的张量. 因此,对于
,结果是一个秩为 2 的张量:
cur = Curl[x ^ 2 + y ^ 2 + z ^ 2, {x, y, z}]Normal[cur]Curl[cur, {x, y, z}]Curl[Curl[f[x, y], {x, y}], {x, y}]Laplacian[f[x, y], {x, y}]Curl[Curl[f[x, y, z], {x, y, z}], {x, y, z}]//CancelLaplacian[f[x, y, z], {x, y, z}]互动范例 (1)
systems = {{"BipolarCylindrical", {a}}, {"Bispherical", {a}}, "Cartesian", "CircularParabolic", {"Conical", {b, c}}, "Cylindrical", {"EllipticCylindrical", {a}}, {"OblateSpheroidal", {a}}, "ParabolicCylindrical", {"ProlateSpheroidal", {a}}, "Spherical", {"Toroidal", {a}}};Manipulate[Block[{f, varNames, vars, vec},
varNames = CoordinateChartData[{Coordinates, 3}, "StandardCoordinateNames"];vars = ToExpression /@ varNames;
vec = Subscript[f, HoldForm[#]]@@vars& /@ varNames;
Inactive[Curl][vec, vars] == Simplify@Curl[vec, vars, {Coordinates}]], {{Coordinates, "Cartesian"}, systems}]技术笔记
-
▪
- 向量分析
文本
Wolfram Research (2012),Curl,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Curl.html (更新于 2014 年).
CMS
Wolfram 语言. 2012. "Curl." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/Curl.html.
APA
Wolfram 语言. (2012). Curl. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Curl.html 年
BibTeX
@misc{reference.wolfram_2026_curl, author="Wolfram Research", title="{Curl}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/Curl.html}", note=[Accessed: 12-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_curl, organization={Wolfram Research}, title={Curl}, year={2014}, url={https://reference.wolfram.com/language/ref/Curl.html}, note=[Accessed: 12-September-2026]}