matlab中怎样用pol2cart把极坐标转换成直角坐标,求调用程序

我知道theta=linspace(-5,5);a=.2;
polar(theta,exp(a*theta))可以画出对数函数曲线
但是怎样把这个极坐标曲线转换成直角坐标系中
谢谢~~

% by dynamic
% see also http://www.matlabsky.com
% contactme [email protected]

pol2cart的调用格式如下

[X,Y] = pol2cart(THETA,RHO)
[X,Y,Z] = pol2cart(THETA,RHO,Z)

但是要绘制指教坐标图,方法主要如下

1、在直角坐标系绘制直角坐标数据
这个很简单,使用plot等就可以了,如果是极坐标那是用pol2cart转换到直角坐标
a=.2;
theta=linspace(-5,5);
rho=exp(a*theta);
[x,y]=pol2cart(theta,rho)
plot(x,y)

2、在直角坐标系绘制极坐标数据
这个需要先创建一个直角坐标系,然后就可以直接使用极坐标函数绘图,而不需要进行坐标数据转换,这个绘图技巧,很多人都不知道

hold on % 只是为了创建一个直角坐标系
a=.2;
theta=linspace(-5,5);
rho=exp(a*theta);
polar(theta,rho)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-01
theta=linspace(-5,5);a=.2;
[x,y]=pol2cart(theta,exp(a*theta));
plot(x,y)
axis equal
第2个回答  2019-03-28
给你几个函数参考一下,详细可以看它们的帮助文档:
sph2cart
cart2sph
cart2pol
pol2cart
其中sph为球坐标
cart为笛卡尔
pol为极坐标