我们在圆柱坐标 (r, φ, z )中得到一些表达式,例如:expr := r*z^2*sin((1/3)*
φ)
我们需要将其转换为笛卡尔坐标,然后再转换回圆柱坐标。怎么做这样的事情?
所以我发现了这样的东西:eval(expr, {r = sqrt(x^2+y^2), z = z,
φ= arctan(y, x)})
但它似乎不正确,如何纠正它以及如何使 eval 将反词从笛卡尔转换为圆柱?
ϕ
== φ
所以我尝试:
R := 1;
H := h;
sigma[0] := sig0;
sigma := sigma[0]*z^2*sin((1/3)*`ϕ`);
toCar := eval(sigma, {r = sqrt(x^2+y^2), z = z, `ϕ` = arctan(y, x)});
toCyl := collect(eval(toCar, {x = r*cos(`ϕ`), y = r*sin(`ϕ`), z = z}), `ϕ`)
它看起来接近真实,但看起来:
为什么arctan(r*sin(
φ ), r*cos(
φ))
不显示为 φ?
其实这对我来说只是乐趣的开始,因为我还需要计算
Q := int(int(int(toCar, x = 0 .. r), y = 0 .. 2*Pi), z = 0 .. H)
并将其恢复为圆柱坐标...