|

楼主 |
发表于 2012-11-13 16:09
|
显示全部楼层
下面是matlab代码,帮忙分析一下,哪儿有错误。
clc
clear all
a=0.5;
lamda=[2.231 3.734 5.065;
5.455 6.965 8.375;
8.613 10.15 11.59;];
rfa=lamda/a;
[x,y]=meshgrid(-0.5:0.005:0.5);
n=size(x);
for i=1:n
for j=1:n
if x(i,j).^2+y(i,j).^2>a.^2
x(i,j)=nan;
y(i,j)=nan;
end
end
end
z=(besselj(1,rfa(2,1).*sqrt(x.^2+y.^2))-(besseli(1,rfa(2,1).*sqrt(x.^2+y.^2)).*(besselj(1,lamda(2,1)))./((besseli(1,lamda(2,1)))))).*cos(1.*atan(y./x));
meshc(x,y,z)
shading interp
|
|