matlab polar3d,新手求助一个关于Polar3D函数的问题
由于我是做天线处理的,需要画一个极坐标的三维方向图。经过论坛搜索,找到一个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我放到附件中,请各位帮我看看这里问题出在哪里?已经困扰我几天了,依旧没有解决,只能发帖求助了,谢谢!

2015-9-9 09:21 上传
点击文件名下载附件
16.82 KB, 下载次数: 463
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)