0

我们在圆柱坐标 (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)

并将其恢复为圆柱坐标...

4

1 回答 1

2
simplify(toCyl) assuming r>=0, `&varphi;`<=Pi, `&varphi;`>-Pi;

注意,

arctan(sin(Pi/4),cos(Pi/4));
                          1   
                          - Pi
                          4   

arctan(sin(Pi/4 + 10*Pi),cos(Pi/4 + 10*Pi));
                          1   
                          - Pi
                          4   

arctan(sin(-7*Pi/4),cos(-7*Pi/4));
                          1   
                          - Pi
                          4   

arctan(sin(-15*Pi/4),cos(-15*Pi/4));
                          1   
                          - Pi
                          4   


arctan(sin(-Pi),cos(-Pi));
                           Pi

K:=arctan(r*sin(Pi/4),r*cos(Pi/4));
                      arctan(r, r)

simplify(K) assuming r<0;
                           3   
                         - - Pi
                           4   

simplify(K) assuming r>0;
                          1   
                          - Pi
                          4   

一旦您从圆柱形转换为矩形,任何关于原始角度“可能环绕(过去 -Pi)多少次的信息都会丢失。

因此,除非它在 ​​(-Pi,Pi] 中,否则您不会恢复原始&varphi;数据。如果您告诉 Maple 是这种情况(以及 r>-0 以便它知道哪个半平面),使用假设,那么它可以简化为您所期望的。

于 2011-05-18T16:17:51.813 回答