2015-10-06 6 views
0

вопрос Учитывая, что N = 1, антенна имеет диаграмму излучения, указанную как y (theta) = sin (N4pitheta)/(N4pitheta). Предположим, что формула действительна в диапазоне. Создайте полярный график диаграммы направленности. Используйте 400 точек для своего графика.Как построить сюжет?

вот мой код, я продолжаю получать «THETA и RHO должны быть одного размера». что это значит и как я могу исправить свою треску? спасибо

function [graph,x,y]=question3(N) 
     x=linspace(-pi,pi,400); 
     y=(sin(N*4*pi*x)/(N*4*pi*x)); 
     graph='polar(x,y)'; 
    end 
+0

Этот код не дает этой ошибки. –

ответ

3

Ваша проблема заключается в том, что вы выполняете деление матрицы, а не на элементное деление.

изменение y=(sin(N*4*pi*x)/(N*4*pi*x)) к y=(sin(N*4*pi*x)./(N*4*pi*x))

Обратите внимание, что в Matlab, * и / будут выполнять матричные операции во время .* и ./ будут выполнять операции массива.

Read more here.


Side Примечание: Похоже, что вы используете eval оценить результаты этой функции. Если это ваш профессионал, который сделал это, оставьте его, но помните, что even Matlab staff themselves suggest never to use eval.