小德 发表于 2014-4-19 12:53

matlab在用polar画图

matlab在用polar画出的极坐标图中,用Date Cursor标识显示的是直角坐标的坐标,而不是幅值和角度?为什么?急急急!!!

牛小贱 发表于 2014-4-19 21:10

不是很明白LZ的意思。给你举个例子,LZ是不是这个意思?程序代码: t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'--r')图像如图:

楼主,可以参考这个链接:http://zhidao.baidu.com/question/198802358207207845.html?qbl=relate_question_0&word=matlab%20Date%20Cursor%B1%EA%CA%B6%BC%AB%D7%F8%B1%EA%CD%BC
希望我的回答对你有所帮助。

chybeyond 发表于 2014-4-20 16:25

本帖最后由 牛小贱 于 2014-5-26 15:54 编辑

When data cursor mode is enabled, you can

Click on any graphics object defined by data values and display the x, y, and z (if 3-D) values of the nearest data point.data cusor显示的是直角坐标系的坐标,如果想修改显示的值,可以尝试通过修改回调函数来实现,默认回调函数:
function output_txt = myfunction(obj,event_obj)
% Display the position of the data cursor
% obj          Currently not used (empty)
% event_obj    Handle to event object
% output_txt   Data cursor text string (string or cell array of strings).

pos = get(event_obj,'Position');
output_txt = {['X: ',num2str(pos(1),4)],...
    ['Y: ',num2str(pos(2),4)]};

% If there is a Z-coordinate in the position, display it as well
if length(pos) > 2
    output_txt{end+1} = ['Z: ',num2str(pos(3),4)];
end

小德 发表于 2014-5-25 12:56

谢谢大神的指点 ,我的意思是想显示出图像上某一点的极坐标如(幅值,角度)

chybeyond 发表于 2014-5-25 16:12

本帖最后由 chybeyond 于 2014-5-25 16:24 编辑

极坐标系中的两个坐标 r 和 θ 可以由下面的公式转换为直角坐标系下的坐标值
x = rcos(θ),
y = rsin(θ),
由上述二公式,可得到从直角坐标系中x 和 y 两坐标如何计算出极坐标下的坐标:
r=sqrt(x^2+y^2);
θ=atan(y/x);
代码修改步骤:
在工具栏中选中datacursor图标,然后右击图形区域选择


将代码修改为function output_txt = myfunction(obj,event_obj)
% Display the position of the data cursor
% obj          Currently not used (empty)
% event_obj    Handle to event object
% output_txt   Data cursor text string (string or cell array of strings).
pos = get(event_obj,'Position');
posx = sqrt(pos(1)^2+pos(2)^2);
posy = atan(pos(2)/pos(1));
output_txt = {['X: ',num2str(posy,4)],...
    ['Y: ',num2str(posx,4)]};
%由于actan对变量要求为-pi/2~pi/2,适用第一象限制,其它象限可判断pos(1)和pos(2)的正负稍作修改即可保存为NewCallback.m,然后右击选择Select Text updata....打开刚才保存的NewCallback.m即可。
结果:pi/6=0.5236,r=0.5处显示为




小德 发表于 2014-5-25 19:12

多谢大神指点学习了

chybeyond 发表于 2014-5-25 19:26

小德 发表于 2014-5-25 19:12
多谢大神指点学习了

不客气,互相学习
页: [1]
查看完整版本: matlab在用polar画图