在matlab/octave中显示围绕阴谋的角度

在matlab/octave中显示围绕阴谋的角度

问题描述:

我可以用pol2cart创建一个阴谋,但是我怎样才能让角度出现在最后?请参见下面的代码:在matlab/octave中显示围绕阴谋的角度

hold on ; 
    for angle = 0:20:(360-20) 
     [x1,y1] = pol2cart( angle/180 * pi , [0 2]); 
     plot(x1,y1,'r') 
    end 

    for rho = 0:0.1:2 
     [x1,y1] = pol2cart( 0:0.01:2*pi , rho); 
     plot(x1,y1,'b') 
    end 
    axis equal 

Image

我试图让角度增量现身各地见下图。 请注意,我没有画所有带编号的角度仅仅是第一对夫妇,以显示我想要做

PS:我使用的是八度3.8.1它试图使用相同的语言语法MATLAB Imgae2

+0

而为参考的资料和情节:随着八度4.2版本(当前的开发分支),你可以使用“polar”:http://www.tech-chat.de/compare_plot_demos/fltk/polar_01.png,http://www.tech-chat.de/compare_plot_demos/fltk /polar_03.png – Andy 2014-10-19 08:14:18

你可以做类似

step = 20; 

r= 2.2; 
for idx = 0:step:360-step 
    text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), ... 
     'HorizontalAlignment','center', 'color',[1 .5 0]) 
end 

为了更好的配合,包括

axis(1.05*[-r r -r r]) 
axis equal 

(这适用于MATLAB,我不知道如果语法恰恰是在八度的相同)。

+0

是的,这个工作也很好。谢谢 ! – ederag 2014-10-17 17:41:00

这里的动画

%polar_chart_with_angles and there opposites 
clear all, clc, clf 
%find how many angles to make one full cycleremeber to divide by two if using stereo signal 180 out of phase 
incr=72; 
angle_wanted=incr; 

n = lcm(360, 180 - angle_wanted)/(180 - angle_wanted) 
angle_div=[0:incr:incr*n] %angle divsions 
angle_div_mod=mod(angle_div,360) %angle divsions mod into 360 
angle_div_mod_opp=mod(angle_div+180,360) %oppsite angle divsions mod into 360 

%for circles 
r= 2.2; 
for rho = 0:0.1:2 
    [x1,y1] = pol2cart( 0:0.01:2*pi , rho); 
    plot(x1,y1,'b') 
    axis(1.10*[-r r -r r]) 
    axis equal 
    hold on; 
end 

%for orig angles 

for ii=1:n 
    angle=angle_div(ii) 
    [x1,y1] = pol2cart( angle/180 * pi , [0 2]); 
    plot(x1,y1,'r') 
    hold on; 
    title_h=title(['Norig= ', int2str(ii)]); 
    %title_h = title('This is the title'); 
    set(title_h, 'Position', [0.5, 0.02],'VerticalAlignment', 'bottom', 'HorizontalAlignment', 'left') 
    %%for creating orig angles 
    idx=angle_div_mod(ii); 
    text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), 'HorizontalAlignment','center', 'color',[1 .5 0]) 
    pause (.1) 
end 

%for oppsite angles 
for ii=1:n 
    angle_opp=angle_div_mod_opp(ii) 
    [x1,y1] = pol2cart( angle_opp/ 180 * pi , [0 2]); 
    plot(x1,y1,'g') 
    hold on; 
    title(['Nopp= ', int2str(ii)]); 
    %for creating oppsite angles 
    idx=angle_div_mod_opp(ii); 
    text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), 'HorizontalAlignment','center', 'color',[.5 .7 .7]) 
    pause (.1) 
end 

enter image description here