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