如何绘制极坐标图?

How to plot a polar plot?

问题 给定 N=1,天线的辐射图为 y(theta)=sin(N4pitheta)/(N4pitheta) 假设该公式在 的范围内有效。生成辐射图的极坐标图。为您的图表使用 400 点。

这是我的代码,我不断收到 "THETA and RHO must be the same size." 这是什么意思,我该如何修复我的 cod?谢谢

   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

您的问题是您执行的是矩阵除法,而不是逐元素除法。

y=(sin(N*4*pi*x)/(N*4*pi*x)) 更改为 y=(sin(N*4*pi*x)./(N*4*pi*x))

请注意,在Matlab中,*/将执行矩阵运算,而.*./将执行数组运算。

Read more here.


旁注:看起来您正在使用 eval 来评估该函数的输出。如果是你的教授干的,别管它,但要记住even Matlab staff themselves suggest never to use eval.