2008-10-22 6 views
15

Я использую полярные участки (POLAR (THETA, RHO)) в MATLAB.Фиксация радиальной оси на полярных участках MATLAB

Есть ли простой способ исправить радиус радиальной оси, например, 1,5?

Я ищу что-то аналогичное командам xlim, ylim для декартовых осей. Еще ничего не нашли в документах.

ответ

6

Вот как я смог это сделать.

Полярный участок MATLAB (если вы смотрите на доступные параметры графической ручки) не имеет ничего подобного xlim или ylim. Тем не менее, я понял, что первое, что график устанавливает диапазон, так что я смог построить функцию с радиусом диапазон [-.5 .5] на [-1 1] участок следующим образом:

theta = linspace(0,2*pi,100); 
r  = sin(2*theta) .* cos(2*theta); 
r_max = 1; 
h_fake = polar(theta,r_max*ones(size(theta))); 
hold on; 
h  = polar(theta, r); 
set(h_fake, 'Visible', 'Off'); 

Это выглядит не очень хорошо, и, надеюсь, есть лучший способ сделать это, но он работает.

+0

Это умный. Благодарю. Я удивлен, что они не обеспечивают более прямой контроль над радиусом. – 2008-10-22 17:53:23

+0

Я тоже - я бы не подумал, что желание настроить радиус будет *, что * редкий – 2008-10-22 18:15:42

8

это работало для меня ... я хотел диапазон радиус идти до 30, так что я первый график это

polar(0,30,'-k') 
hold on 

, а затем график, что я был на самом деле заинтересован в. Это первый график точки скрывается за метки сетки. просто не забудьте включить

hold off 

после окончательной печати команды.

4

В случае, если кто-то приходит через это, вот решения:

Как Скотти T и gnovice отметил, Matlab в основном используют полярную функцию в качестве интерфейса для стандартных участков , но с большим количеством форматирования за кулисами, чтобы заставить его выглядеть полярно. Посмотрите на значения свойств XLim и YLim полярного графика, и вы заметите, что они буквально являются границами x и y вашего графика в декартовых координатах. Таким образом, чтобы установить предел радиуса, используйте xlim и ylim, или ось, и быть умным о ценностях вы установили:

rlim = 10; 
axis([-1 1 -1 1]*rlim); 

... ну, вот и все. Happy Matlabbing :)

6

Простым решением является создание фальшивого графика и его цвет на белый.

fake=100; 
polar(0,fake,'w'); 
hold on; 

real=10; 
polar(0,real,'w'); 

 Смежные вопросы

  • Нет связанных вопросов^_^