2014-11-06 2 views
0

я использовал MATLAB сделать следующую функцию усиления антенной решетки, код был следующим,Draw полярного графика функции усиления

Nt=8; 
deltat=1; 
Lt=8; 
omegat=-2:0.01:2; 
for j=1:length(omegat) 
gainfunction(j)= (1/Nt) * exp(i*pi*deltat* omegat(j)* (Nt-1)) * (sin(pi*Lt*omegat(j))/sin(pi*Lt*omegat(j)*Nt^-1)); 
end 
plot(omegat,abs(gainfunction)) 
title('Radiation Pattern Cartesian Plot','linewidth',30) 
grid on 
ylabel('|f(\Omega_r)|','linewidth',25) 
xlabel('\Omega_r','linewidth',15) 

Изображением ниже является диаграммой излучения антенны, т.е. он показывает функцию усиления, обозначенную | f (\ Omega) | как функция от $ \ Omega $ от -2 до 2.

Мой вопрос: я хотел бы построить следующее в полярных координатах, чтобы увидеть, как главный лепесток находится в градусах.

Любые мысли о том, как я могу продолжать полярный сюжет с использованием MATLAB?

radiation pattern

+0

Я заменил v на «omegat» в вашем вызове, чтобы он работал, так что это нормально? –

+0

thats right, что было моей ошибкой – George

ответ

0

polar (omegat*pi/2, abs(gainfunction));

Я масштабируется OmegaT пи/2, потому что я не уверен, что ваша условность здесь. Я предполагаю, что omegat должен варьироваться от -pi до + pi, и, следовательно, я увеличил его на pi/2. Измените масштабирование по своему усмотрению.

Кроме того, не используйте i или j в качестве счетчиков циклов в matlab. Они используются во многих местах как iota или корень sq минус один.

+0

Большое спасибо, на самом деле это между -2 и 2. Я не знаю, знаете ли вы немного о диаграмме излучения, но это график между $ cos (theta_1) -cos (theta_2) $. Как вы думаете, что мы можем масштабировать? – George

+0

Прошу прощения, я не очень много помню о диаграммах радиации в данный момент. 'Polar()' требует, чтобы первый аргумент находился в радианах. –

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