(菜鸟求救)特急!!!关于MATLAB编程
functionpushbutton1_Callback(hObject,eventdata,handles)cla;Lambda=500*1e-9;d=2*1e-3;z...
function pushbutton1_Callback(hObject, eventdata, handles)
cla;
Lambda=500*1e-9;d=2*1e-3;z=1;
yMax=5*Lambda*z/d;xs=yMax;
Phi1=0;Phi=0;
Ny=101;ys=linspace(-yMax,yMax,Ny);
for i=1:Ny
L1=sqrt((ys(i)-d/2).^2+z^2);
L2=sqrt((ys(i)+d/2).^2+z^2);
N1=11;dL=linspace(-0.1,0.1,N1);
Lambda1=Lambda*(1+dL);
Phi1=2*pi*(L2-L1)./Lambda1;
B(i,:)=sum(4*cos(Phi1/2).^2)/N1;
NCLevels=255;
Br=(B/4.0)*NCLevels;
axes(handles.axes1);image(xs,ys,Br);
colormap(gray(NCLevels));
axes(handles.axes2);
plot(B(i,:),ys)
end
运行结果不出来,而且出现Error using ==> plot Vectors must be the same lengths.
plot(B(i,:),ys)应改为plot(B(:),ys)
如果按上面那样的话,有一个图正常显示,第二个图不显示。
请教应如何修改??? 展开
cla;
Lambda=500*1e-9;d=2*1e-3;z=1;
yMax=5*Lambda*z/d;xs=yMax;
Phi1=0;Phi=0;
Ny=101;ys=linspace(-yMax,yMax,Ny);
for i=1:Ny
L1=sqrt((ys(i)-d/2).^2+z^2);
L2=sqrt((ys(i)+d/2).^2+z^2);
N1=11;dL=linspace(-0.1,0.1,N1);
Lambda1=Lambda*(1+dL);
Phi1=2*pi*(L2-L1)./Lambda1;
B(i,:)=sum(4*cos(Phi1/2).^2)/N1;
NCLevels=255;
Br=(B/4.0)*NCLevels;
axes(handles.axes1);image(xs,ys,Br);
colormap(gray(NCLevels));
axes(handles.axes2);
plot(B(i,:),ys)
end
运行结果不出来,而且出现Error using ==> plot Vectors must be the same lengths.
plot(B(i,:),ys)应改为plot(B(:),ys)
如果按上面那样的话,有一个图正常显示,第二个图不显示。
请教应如何修改??? 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询