Как построить диаграмму направленности антенны в MATLAB, заданную нормализованной диаграммой поля? - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь использовать MATLAB для создания полярной диаграммы диаграммы направленности антенны с учетом нормализованной диаграммы поля (помните 0 <? <180 °). Диаграмма направленности антенны показана на следующем рисунке: </p>

antenna pattern

Я пытался создать функцию для ее построения, но когда я вызываю созданную мной функцию, я получаю сообщение об ошибке. Кто-нибудь может помочь?

Мой текущий код, который у меня пока есть, находится на этом изображении:

my current code

1 Ответ

1 голос
/ 19 апреля 2020

Вы можете сделать это векторизованным способом, используя поэлементные операции вместо al oop.

Обратите внимание, что, хотя переменные определены как символ c в вашем коде, они затем изменяются на double, когда вы инициализируете их с помощью zeros.

Математическая функция не определена в theta = pi , Его предел составляет 0, но если вы вычисляете его напрямую с точностью double, вы получите значение -1.5, полученное из-за неточностей, присущих типам данных с плавающей запятой. Лучший способ избежать этой проблемы - использовать нечетное число выборок , чтобы theta никогда не было слишком близко к pi.

И наконец, polar функция не рекомендуется . Лучше использовать polarplot.

N = 101; % odd number of samples
theta = (0:N-1)/N*2*pi;
f = cos(1.5*pi*cos(theta))./sin(theta); % vectorized. Note element-wise division
polar(theta, f)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...