由于我是做天线处理的,需要画一个极坐标的三维方向图。经过论坛搜索,找到一个Polar3D.m的绘图函数。

拿过来调用的时候,一直出现错误,调用格式如下:

[Xout, Yout, Zout] = polar3d(abs(f_theta),min(theta*pi/180),max(theta*pi/180),min(phi*pi/180),max(phi*pi/180),1,mesh);

提示的错误:

Error using mesh (line 66)

Not enough input arguments.

下面是我的整个程序:

clc;clear all;

%% 求解参数设置

% [theta,phi] = meshgrid(0:.1:90,0:.1:360);

% theta=meshgrid(0:.1:90);

%

% phi=meshgrid(0:.1:360)';

theta=0:0.1:90;

phi=-180:0.1:180;

freq=3e9; %频率为3GHz

c0=3e8;

lambda=c0/freq;%波长

k=2*pi/lambda;%自由空间下的波束

r=0.18*lambda;%圆贴片半径

phi_0=-pi/2;%馈电点位置角度

%% theta方向方向图函数求解

temp=j.*(besselj(2,k.*r.*sin(theta.*pi/180))-besselj(0,k.*r.*sin(theta*pi/180))).*cos(theta*pi/180);

temp_2=cos(phi.*pi/180-phi_0.*pi/180);

%temp_3=cos(theta.*pi/180);

%temp_3_=repmat(temp_3,901,1);

%f_theta_=temp'*temp_2.*temp_3_';

f_theta=(temp'*temp_2);

phi_=repmat(phi,size(theta'),1);

theta_=repmat( theta',1,size(phi'));

[Xout, Yout, Zout] = polar3d(abs(f_theta),min(theta*pi/180),max(theta*pi/180),min(phi*pi/180),max(phi*pi/180),1);

Polar3D.m我放到附件中,请各位帮我看看这里问题出在哪里?已经困扰我几天了,依旧没有解决,只能发帖求助了,谢谢!

f5c3d56501a3d0261ce0cb81cbf824a7.gif

2015-9-9 09:21 上传

点击文件名下载附件

16.82 KB, 下载次数: 463

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐