Закрепление радиальной оси на MATLAB полярные графики

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

15
задан H.Muster 26 September 2012 в 10:08
поделиться

3 ответа

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

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');

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

6
ответ дан 1 December 2019 в 03:05
поделиться

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

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

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

hold off

после последней команды построения.

8
ответ дан 1 December 2019 в 03:05
поделиться

На случай, если кто-то еще столкнется с этим, вот решение :

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

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

... вот и все. Удачного Матлаббинга :)

4
ответ дан 1 December 2019 в 03:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: