Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-01-11, 21:31   #1
kad_417
初级会员
 
注册日期: 2008-01-11
年龄: 41
帖子: 3
声望力: 0
kad_417 正向着好的方向发展
默认 【求助】请教如何画极坐标图形?

我有个文件名为: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文件
上传的附件
文件类型: rar m.rar (19.1 KB, 44 次查看)
kad_417 当前离线   回复时引用此帖
旧 2008-01-12, 15:08   #2
fanxing39
高级会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31
fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星
默认

引用:
作者: kad_417 查看帖子
我有个文件名为:E_XZ.txt的文档,其中第一列为角度,第二列为数值,我在matlab里写的程序如下:
load E_XZ.txt;
t11=E_XZ(:,1);
t1=t11/180*pi; %角度转化成弧度
E1=E_XZ(:,2);
polar(t1,E1);

...

我把数值全部取正的图象是这个.
程序做了修改
load E_XZ.txt;
t11=E_XZ(:,1);
t1=t11/180*pi; %角度转化为弧度
E1=abs(E_XZ(:,2));
polar(t1,E1)
还是和你给的原图有一定出入,我觉得原因应出在数据上,而不在这个命令上
fanxing39 当前离线   回复时引用此帖
旧 2008-01-12, 15:59   #3
kad_417
初级会员
 
注册日期: 2008-01-11
年龄: 41
帖子: 3
声望力: 0
kad_417 正向着好的方向发展
默认

我的数据应该是没有问题的,因为这些数据是从原图导出来的,我发现好像这个命令只能画正值,因为我画其他图形的时候,如果都是正值的话,我原来写的那个程序画出来的图就和原图一样。为什么既有正值又有负值的时候画出来就不对啊?
kad_417 当前离线   回复时引用此帖
旧 2008-01-12, 19:40   #4
fanxing39
高级会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31
fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星
默认

引用:
作者: kad_417 查看帖子
我的数据应该是没有问题的,因为这些数据是从原图导出来的,我发现好像这个命令只能画正值,因为我画其他图形的时候,如果都是正值的话,我原来写的那个程序画出来的图就和原图一样。为什么既有正值又有负值的时候画出来就不对啊?
哈哈一个基本的概念你忘记了吗?

模 是大于等于 0的呀!
fanxing39 当前离线   回复时引用此帖
旧 2008-01-13, 09:48   #5
kad_417
初级会员
 
注册日期: 2008-01-11
年龄: 41
帖子: 3
声望力: 0
kad_417 正向着好的方向发展
默认

可是这个程序就能画出来
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r')
其中sin(2*t).*cos(2*t)的数据不是也有正有负吗?
kad_417 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 03:25


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.