登录论坛

查看完整版本 : 【求助】请教如何画极坐标图形?


kad_417
2008-01-11, 21:31
我有个文件名为:E_XZ.txt的文档,其中第一列为角度,第二列为数值,我在matlab里写的程序如下:
load E_XZ.txt;
t11=E_XZ(:,1);
t1=t11/180*pi; %角度转化成弧度
E1=E_XZ(:,2);
polar(t1,E1);

为什么我用matlab画出来的图形跟原始的图形不一样啊?是不是因为数据有正有负啊?如果是的话要怎么改呢?哪位高手能指点一下啊?
附件中是E_XZ.txt、原始图形、.m文件

fanxing39
2008-01-12, 15:08
我有个文件名为:E_XZ.txt的文档,其中第一列为角度,第二列为数值,我在matlab里写的程序如下:
load E_XZ.txt;
t11=E_XZ(:,1);
t1=t11/180*pi; %角度转化成弧度
E1=E_XZ(:,2);
polar(t1,E1);

...
http://classpic.chinaren.com/wrapper.html?url=http://classpic22.chinaren.com/album/pic/203/885/2815032345909885203/120012203425372.jpg
我把数值全部取正的图象是这个.
程序做了修改
load E_XZ.txt;
t11=E_XZ(:,1);
t1=t11/180*pi; %角度转化为弧度
E1=abs(E_XZ(:,2));
polar(t1,E1)
还是和你给的原图有一定出入,我觉得原因应出在数据上,而不在这个命令上

kad_417
2008-01-12, 15:59
我的数据应该是没有问题的,因为这些数据是从原图导出来的,我发现好像这个命令只能画正值,因为我画其他图形的时候,如果都是正值的话,我原来写的那个程序画出来的图就和原图一样。为什么既有正值又有负值的时候画出来就不对啊?

fanxing39
2008-01-12, 19:40
我的数据应该是没有问题的,因为这些数据是从原图导出来的,我发现好像这个命令只能画正值,因为我画其他图形的时候,如果都是正值的话,我原来写的那个程序画出来的图就和原图一样。为什么既有正值又有负值的时候画出来就不对啊?

哈哈一个基本的概念你忘记了吗?

模 是大于等于 0的呀!

kad_417
2008-01-13, 09:48
可是这个程序就能画出来
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r')
其中sin(2*t).*cos(2*t)的数据不是也有正有负吗?