2011-05-18 423 views
0

我们在Cylindrical coordinates (r, ϕ, z)中得到一些表达式,例如:expr := r*z^2*sin((1/3)*ϕ我们需要将它转换成Cartesian coordinates,然后回到圆柱坐标。如何做这样的事情?Maple:如何将圆柱坐标转换为笛卡尔坐标?

所以我发现这样的事情: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}), `ϕ`) 

它看起来接近真实,但看:enter image description here

为什么arctan(r*sin(ϕ ), r*cos(ϕ ))未显示为ϕ?

其实这是有趣的时间只begining适合我,因为我还需要计算

Q := int(int(int(toCar, x = 0 .. r), y = 0 .. 2*Pi), z = 0 .. H) 

,并把它放回圆柱坐标...

回答

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 

将圆柱形转换为矩形后,将有关ori的次数金刚石角度“可能缠绕(过去-Pi)丢失。

所以你不会恢复原来的&varphi;,除非它在(-Pi,Pi)中,如果你告诉Maple情况是这样的(与r> -0一样,它知道哪个半平面),使用假设,那么它可以简化为你所期望的。

+0

所以... top line仍然给我'arctan(sin('&varphi;'),cos('&varphi;'))'请参阅post update。 – Rella 2011-05-18 17:21:13

+0

它适用于我,只要提供了上述假设。 – acer 2011-06-03 13:41:14