DSolveChangeVariables[dsolve,u,t,trans]
使用变换 trans 将 dsolve 中的解函数更改为
.
DSolveChangeVariables[dsolve,{u1,u2,…},t,trans]
将系统中的解函数更改为
.
DSolveChangeVariables[dsolve,u,{t1,…,tn},trans]
将偏微分方程中的解函数更改为
.
DSolveChangeVariables
DSolveChangeVariables[dsolve,u,t,trans]
使用变换 trans 将 dsolve 中的解函数更改为
.
DSolveChangeVariables[dsolve,{u1,u2,…},t,trans]
将系统中的解函数更改为
.
DSolveChangeVariables[dsolve,u,{t1,…,tn},trans]
将偏微分方程中的解函数更改为
.
更多信息和选项
- 变量的更改通常用于简化微分表达式中的系数或在更合适的坐标系(例如极坐标)中表示它,以利用问题中的对称性.
- DSolveChangeVariables 可用于在没有初始或边界条件的情况下,对单个常微分方程或偏微分方程执行变量的更改.
- 变量的更改使用链式法则
- 在区间
或 - 在区域
上(其中
表示函数
关于其参数的雅可比行列式)执行. - dsolve 的可能形式是 DSolve 支持的形式:
-
DSolve[deq,y,x] 常微分方程 DSolve[{deq1,…,deqn},{y1,…,yn},x] 微分方程组 DSolve[deq,z,{x,y,…}] 偏微分方程 - 可以使用未运算的 DSolve[…] 或 Inactive[DSolve][…]. 确保 dsolve 不运算非常重要,因此安全的方法是使用 Inactive[DSolve][…],它可以通过 Inactivate[dsolve,DSolve] 生成.
- DSolveChangeVariables 返回形式为 Inactive[DSolve][…] 的结果. 使用 Activate 求解新坐标中的微分方程. »
- 转换 trans 可以有以下形式:
-
t==ϕ[x] 由 t 替换 ϕ[x] {u==ϕ[x,y,…],v==ψ[x,y,…],…} 由 u 替换 ϕ[x,y,…] ,由 v 替换 ψ[x,y,…],等等 chart1chart2 来自 CoordinateChartData 的命名坐标系 - 假设变换
在其定义域上是可微的. - 使用命名坐标系时,可以以 CoordinateTransformData 接受的任何形式输入变换,包括 {oldsys,metric,dim}{newsys,metric,dim}、{oldsysnewsys,metric,dim} 及各种缩写形式.
- 可以使用 Assumptions 指定对微分表达式中变量和参数域的限制.
范例
打开所有单元 关闭所有单元基本范例 (4)
DSolveChangeVariables[Inactive[DSolve][E^x Derivative[1][y][x] + y[x] == 0, y, x], u, t, t == E^x]Activate[%]DSolveChangeVariables[Inactive[DSolve][(Subscript[∂, η](η Derivative[1][f][η])/η) + (1 - (s^2/η^2)) f[η] - f[η]^3 == 0, f, η], g, ξ, η == Sqrt[(1 + ξ/1 - ξ)]]//SimplifyDSolveChangeVariables[Inactive[DSolve][Laplacian[f[x, y], {x, y}] == 0, f, {x, y}], f, {r, θ}, "Cartesian" -> "Polar"]//SimplifyDSolveChangeVariables[Inactive[DSolve][Log[x] Derivative[1][y][x] - y[x] == 0, y[x], x], u, t, t == Log[x]](u[t] /. First[Activate[%]]) /. t -> Log[x]DSolveValue[Log[x] Derivative[1][y][x] - y[x] == 0, y[x], x]范围 (18)
常微分方程 (6)
DSolveChangeVariables[Inactive[DSolve][Derivative[2][y][x] + f[x] Derivative[1][y][x] + ((f[x]^2/4) + (Derivative[1][f][x]/2) + a) y[x] == 0, y, x], u, x, y[x] == u[x] Exp[-(1/2) ∫f[x]ⅆx]]//Simplify通过变量更改
,将非线性 Riccati 方程转换为线性 ODE:
DSolveChangeVariables[Inactive[DSolve][Derivative[1][y][x] + x^-a - 1 y[x]^2 == x^a, y[x], x], η, x, y[x] == (x^a + 1 Derivative[1][η][x]/η[x])]//SimplifyDSolveChangeVariables[Inactive[DSolve][x^2 Derivative[2][y][x] - (2 x Tan[x] - 1) x Derivative[1][y][x] - (x Tan[x] + a) y[x] == 0, y, x], u, x, y[x] == (u[x]/Cos[x])]//SimplifyDSolveChangeVariables[Inactive[DSolve][-4 E^x x^3 / 2 - (1 + 4 x^2) y[x] + 4 x Derivative[1][y][x] + 4 x^2 Derivative[2][y][x] == 0, y, x], η, ξ, {y[x] == (η[ξ]/Sqrt[x]), x == 2 I Sqrt[ξ]}]//SimplifyDSolveChangeVariables[Inactive[DSolve][Derivative[2][y][x] == 0, y[x], x], u, t, t == Cos[x]]DSolveChangeVariables[Inactive[DSolve][{x^2 Derivative[1][y][x] Derivative[1][v][x] - v[x] == 0, x Derivative[1][y][x] - v[x] == 0}, {y, v}, x], {y, v}, t, x == E^t]偏微分方程 (5)
DSolveChangeVariables[Inactive[DSolve][Subscript[∂, {t, 2}]u[x, t] == c^2 Subscript[∂, {x, 2}]u[x, t], u, {x, t}], {u}, {ξ, η}, {ξ == x - c t, η == x + c t}]//SimplifyDSolveChangeVariables[Inactive[DSolve][Subscript[∂, {t, 2}]u[x, t] == c^2 Subscript[∂, {x, 2}]u[x, t], u, {x, t}], {u}, {ξ, η}, {x == (ξ + η/2), t == -(ξ - η/2 c)}]//SimplifyDSolveChangeVariables[Inactive[DSolve][Subscript[∂, t]u[x, t] == Subscript[∂, {x, 2}]u[x, t], u, {x, t}], u, {ξ, t}, {x == ξ s[t]}]//SimplifyDSolveChangeVariables[Inactive[DSolve][Subscript[∂, t]y[x, t] - 2 Subscript[∂, x]y[x, t] == Exp[-(t - 1)^2 - (x - 5)^2], y, {x, t}], y, {ξ, η}, {ξ == t + (x/2), η == t}]//SimplifyDSolveChangeVariables[Inactive[DSolve][x^2 Subscript[∂, {x, 2}]u[x, y] - Subscript[∂, {y, 2}]u[x, y] + Subscript[∂, y]u[x, y] == 0, u, {x, y}], u, {s, t}, {s == x Exp[y], t == x Exp[-y]}]//SimplifyDSolveChangeVariables[Inactive[DSolve][Subscript[∂, x]u[x, y] - Subscript[∂, y]v[x, y] == 0, {u, v}, {x, y}], {u, v}, {ξ, η}, {x == x[ξ, η], y == y[ξ, η]}]//Simplify偏微分方程和命名坐标系 (7)
DSolveChangeVariables[Inactive[DSolve][Laplacian[u[x, y, z], {x, y, z}] == z^2(x^2 + y^2), u, {x, y, z}], u, {r, θ, Overscript[z, ~]}, "Cartesian" -> "Cylindrical"]//SimplifyDSolveChangeVariables[Inactive[DSolve][Laplacian[u[x, y, z, t], {x, y, z}] - (Subscript[∂, {t, 2}]u[x, y, z, t]/c^2) == 0, u, {x, y, z, t}], {u}, {r, θ, Overscript[z, ~], t}, Thread[{x, y, z} == CoordinateTransform["Cylindrical" -> "Cartesian", {r, θ, Overscript[z, ~]}]]]//SimplifyDSolveChangeVariables[Inactive[DSolve][f^(0, 0, 4)[x, y, z] + 2 f^(0, 2, 2)[x, y, z] + f^(0, 4, 0)[x, y, z] + 2 f^(2, 0, 2)[x, y, z] + 2 f^(2, 2, 0)[x, y, z] + f^(4, 0, 0)[x, y, z] == 0, f, {x, y, z}], {f}, {ρ, θ, ϕ}, "Cartesian" -> "Spherical"]//Simplifylap = Laplacian[f[r, θ, φ, t], {r, θ, φ}, "Spherical"]//SimplifyDSolveChangeVariables[Inactive[DSolve][lap == D[f[r, θ, φ, t], t], f, {r, θ, φ, t}], {f}, {x, y, z, t}, Thread[{x, y, z} == CoordinateTransform["Spherical" -> "Cartesian", {r, θ, φ}]]]//SimplifyDSolveChangeVariables[Inactive[DSolve][(-ℏ^2/2m)Laplacian[f[ρ, θ, φ], {ρ, θ, φ}, "Spherical"] + ρ^2f[ρ, θ, φ] == ℰ f[ρ, θ, φ], f, {ρ, θ, φ}], f, {r, ϕ, z}, "Spherical" -> "Cylindrical"]//SimplifyDSolveChangeVariables[Inactive[DSolve][Laplacian[u[x, y, z, w], {x, y, z, w}], {u}, {x, y, z, w}], {u}, {r, ϑ[1], ϑ[2], ϑ[3]}, "Cartesian" -> "Hyperspherical"]//FullSimplifyDSolveChangeVariables[Inactive[DSolve][Laplacian[f[θ, φ], {θ, φ}, {"Standard", {"Sphere", r}}] == r^2Cos[θ]Sin[θ], f, {θ, φ}], f, {x, y}, {"Standard" -> "Stereographic", {"Sphere", r}}]//FullSimplify应用 (6)
在量子力学中,算子
是
方向角动量的倍数. 通过将方程
转换为极坐标来证明这一点:
DSolveChangeVariables[Inactive[DSolve][x Subscript[∂, y]u[x, y] - y Subscript[∂, x]u[x, y] == 0, u, {x, y}], {u}, {r, θ}, "Cartesian" -> "Polar"]//Simplify考虑柯西-欧拉方程
. 通过应用变量更改
,可以将此 ODE 转换为具有常数系数的方程:
DSolveChangeVariables[Inactive[DSolve][x^2 Derivative[2][y][x] + p x Derivative[1][y][x] + q y[x] == 0, y, x], y, t, x == E^t]//SimplifyDSolveChangeVariables[Inactive[DSolve][Derivative[2][y][x] + f[x] Derivative[1][y][x] + ((f[x]^2/4) + (Derivative[1][f][x]/2) + a) y[x] == 0, y, x], u, x, y[x] == u[x] Exp[-(1/2) ∫f[x]ⅆx]]//FullSimplifyMapAt[DivideSides[#1, E^-(1/2) ∫f[x]ⅆx, Assumptions -> E^-(1/2) ∫f[x]ⅆx != 0 ]&, %, 1]热方程
在三维中的球对称解可以化简为线性 ODE. 首先,写出球坐标方程:
D[f[r, t], t] == a^2Laplacian[f[r, t], {r, θ, φ}, "Spherical"]DSolveChangeVariables[Inactive[DSolve][%, f, {r, t}], {g}, {u}, {f[r, t] == g[u], u == (r/Sqrt[t])}]~FullSimplify~(t u > 0)在热质传递问题中,方程采用形式
,其中
为常数,
为到原点的距离,
是极角的修改. 从标准球坐标出发,用局部坐标表示这个方程,然后证明它可以化简为泊松方程. 将
设置为等于一个常数,并使用 DSolveChangeVariables 改变极角的表达方式:
DSolveChangeVariables[DSolve[Laplacian[H[r, θ], {r, θ, φ}, "Spherical"] == rhs, H[r, θ], {r, θ}], H, {r, μ}, μ == Cos[θ]]//Simplifylaplacian[H_, {r_, μ_}] = %[[1, 1]]DSolveChangeVariables[DSolve[laplacian[H, {r, μ}] == u (μ D[H[r, μ], r] + (1 - μ^2/r)D[H[r, μ], μ]), H[r, μ], {r, μ}], G, {r, μ}, H[r, μ] == G[r, μ]Exp[(u r μ/2)]]//SimplifyAddSides[DivideSides[First[%], -4r Exp[(u r μ/2)] , GenerateConditions -> False], (u^2 /4)G[r, μ]]//SimplifyFirst[%] == laplacian[G, {r, μ}]DSolveChangeVariables[Inactive[DSolve][-Subscript[∂, {x, 2}]u[x, t] + Subscript[∂, {t}]u[x, t] - Subscript[∂, {x}](x u[x, t]) == 0, u, {x, t}], {X, T}, {x, t}, u[x, t] == Exp[-(x^2/2)] X[x] T[t]]//SimplifyMapAt[Expand[(#/Exp[-(x^2/2)] X[x] T[t])]&, %, {{1, 1}}]属性和关系 (2)
DSolveChangeVariables[DSolve[Laplacian[f[θ, φ], {θ, φ}, {"Standard", {"Sphere", r}}] == r^2Cos[θ]Sin[θ], f, {θ, φ}], f, {x, y}, {"Standard" -> "Stereographic", {"Sphere", r}}]//FullSimplifyDSolveChangeVariables 有效使用 CoordinateTransformData 的 "Mapping" 属性:
DSolveChangeVariables[Inactive[DSolve][Laplacian[f[x, y], {x, y}] == 0, f, {x, y}], f, {r, θ}, "Cartesian" -> "Polar"]//SimplifyDSolveChangeVariables[Inactive[DSolve][Laplacian[f[x, y], {x, y}] == 0, f, {x, y}], f, {r, θ}, Thread[{x, y} == CoordinateTransformData["Polar" -> "Cartesian", "Mapping", {r, θ}]]]//Simplify可能存在的问题 (1)
DSolveChangeVariables 变换微分算子,这里给出
:
DSolveChangeVariables[Inactive[DSolve][-y Subscript[∂, x]u[x, y] + x Subscript[∂, y]u[x, y] == 0, u, {x, y}], {u}, {r, θ}, "Cartesian" -> "Polar"]//Simplify线性微分算子可以转换为向量场,尽管 TransformedField 将用正交基表示结果,这里给出
:
TransformedField["Cartesian" -> "Polar", {-y, x}, {x, y} -> {r, θ}]//Simplify技术笔记
相关指南
-
▪
- 微积分
文本
Wolfram Research (2022),DSolveChangeVariables,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DSolveChangeVariables.html.
CMS
Wolfram 语言. 2022. "DSolveChangeVariables." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DSolveChangeVariables.html.
APA
Wolfram 语言. (2022). DSolveChangeVariables. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DSolveChangeVariables.html 年
BibTeX
@misc{reference.wolfram_2026_dsolvechangevariables, author="Wolfram Research", title="{DSolveChangeVariables}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/DSolveChangeVariables.html}", note=[Accessed: 12-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_dsolvechangevariables, organization={Wolfram Research}, title={DSolveChangeVariables}, year={2022}, url={https://reference.wolfram.com/language/ref/DSolveChangeVariables.html}, note=[Accessed: 12-September-2026]}