Вот как я смог это сделать.
Полярная диаграмма MATLAB (если вы посмотрите на доступные параметры Handle Graphics) не имеет ничего подобного 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');
Это выглядит не очень хорошо, и, надеюсь, есть лучший способ сделать это, но это работает.