|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
- clear all;
- syms n r lamda z rho alpha w;
- k=2*pi/lamda;
- sgb=exp(-(r/w)^n)*besselj(0,alpha*r);%SGB
- intgrnd=k/z*exp(i*k*rho^2/(2*z))*sgb*exp(-i*k*r^2/(2*z))*besselj(0,k*rho*r/z)*r;
- N=8;% the order of SG
- Z=100:2:106;
- Rho=linspace(-0.01,0.01);
- intgrnd=subs(intgrnd,{n lamda z alpha w},{N,1550*10^-9,Z,600,0.05});%关于Z的向量
- intValue=zeros(length(Z),length(Rho));%预分配空间
- for iValue=1:length(Z)
- disp(iValue);
- intgrndRho=subs(intgrnd(iValue),rho,Rho);
- for jValue=1:length(Rho)
- disp(jValue);
- intf=inline(vectorize(char(intgrndRho(jValue))));
- intValue(iValue,jValue)=abs(quad(intf,0,1));
- end;%内循环结束
- plot(Rho,intValue.^2);
- hold on
- end %外循环结束
复制代码
如果将上面程序中的quad 换为quadl ,则得到很好的图像,但是数量级不正确,请问咋回事? |
|