พล็อตรูปร่างเชิงขั้วใน Maxima

ฉันจะสร้างพล็อตคอนทัวร์แบบโพลาร์ใน Maxima ได้อย่างไร ด้วยสำนวนเช่น

exp(-r) * cos(phi)

ฉันต้องการพล็อตโครงร่างในระนาบ x-y ซึ่งมีค่านิพจน์เท่ากันทุกจุดตลอดเส้นชั้นความสูง

ฉันพยายามแล้ว

draw3d(cylindrical(exp(-r) * cos(phi), r, 0, 5, phi, 0, 2*%pi), contour=map))

แต่ cylindrical แปลง r เป็นฟังก์ชันของ z และ phi ไม่ใช่ z เป็นฟังก์ชันของ r และ phi คงจะดีถ้าไม่ต้องแปลงเป็นพิกัดคาร์ทีเซียนด้วยตนเอง


person 1''    schedule 18.09.2013    source แหล่งที่มา


คำตอบ (2)


contour_plot(exp(-r)*cos(phi), [r,0,2], [phi, 0, 2*%pi], [transform_xy, polar_to_xy],
[gnuplot_preamble, "set cntrparam levels 10;"]);

ตัวเลือก polar_to_xy ตีความตัวแปรสองตัวแรกว่าเป็นระยะทางจากแกน z และมุมอะซิมัททัล

person Fred Senese    schedule 08.12.2014

ปัญหาในการใช้บางอย่างเช่น

draw3d(explicit(20*exp(-x^2-y^2)-10,x,0,2,y,-3,3),
   contour_levels = 15,
   contour        = map,
   surface_hide   = true) ;

ฉันคิดว่าในกรณีนั้นเป็นเรื่องที่ตรงไปตรงมาที่จะทำ

person nicoguaro    schedule 02.04.2014
comment
คุณพูดถูก คุณสามารถแปลงเป็นพิกัดคาร์ทีเซียนแล้วพล็อตโดยใช้ explicit ได้ตลอดเวลา ฉันแค่สงสัยว่ามีวิธีที่ดีกว่านี้หรือไม่ - person 1''; 02.04.2014
comment
คุณสามารถถาม Mario โดยตรง (โปรแกรมเมอร์ของ Draw Package) บางทีเขาอาจจะรู้วิธีที่ดีกว่า - person nicoguaro; 04.04.2014