www.gusucode.com > Fox-Li模拟谐振腔,含有条形,矩形,圆形腔,并做成GUI可是界面源码程序 > code3/barstable.m
function barstable(edit1_button,edit4_button,edit5_button,handles) N=399; A=ones(N+1,1); B=zeros(N+1,1); a=edit1_button; L=edit4_button; b=edit5_button; k=2*pi/b; c=sqrt(i*exp(-i*k*L)/(b*L)); delta=2*a/N; m=1:N+1; j=1; o=1; e=0.001; while(o>0) while j<N+2 B(j)=c*exp(-i*k*(delta*(j-m)).^2/(2*L))*A*delta; j=j+1; end j=1; ma=max(B); if(sum(abs(abs(A)-abs(B/ma)))>e) A=B/ma; x=-a+2*a*(m-1)/N; y=abs(A); axes(handles.axes1) plot(x,y) axes(handles.axes2) plot(x,angle(A)) else msgbox(['The times of iteration=',num2str(o)]) break; end o=o+1; end