如何绘制具有混合欧氏和极坐标参数的圆形图

时间:2012-10-24 22:53:24

标签: matlab plot

我在math.stackexchange.com上发布了这个问题,但我不完全确定这是否是发布此问题的正确社区。我选择了数学网站,因为我能够以易于阅读的方式表示我想要绘制的数学方程式。

问题的链接在这里:https://math.stackexchange.com/questions/220395/matlab-how-to-plot-circular-plot-with-mixed-euclidean-and-polar-coordinate-para

我希望我不会通过双重发布或在错误的位置发布来违反任何规则。请随时在此纠正我。

全部谢谢

1 个答案:

答案 0 :(得分:2)

为简单起见,我将仅针对第一个等式显示答案,我确定您将了解如何进一步应用它。这是我如何生成3d矩阵,表示x,y,theta的等式,同时保持L1和L2不变:

N=100; % grid points
rangex=linspace(-2,2,N);
rangey=linspace(-2,2,N);
ranget=linspace(-pi,pi,N);

[x,y,theta] = meshgrid(rangex,rangey,ranget);

L1 = 1; 
L2 =-1; 

A = x.^2+y.^2-2*L1*L2*cos(theta);

您可以使用多种工具来可视化A = L1 ^ 2 + L2 ^ 2,这是一种方式:

p=patch(isosurface(x,y,theta,A,L1^2+L2^2))
set(p,'FaceColor','red','EdgeColor','none');
daspect([1,1,1])
view(3); axis tight
camlight 
lighting gouraud

enter image description here