www.gusucode.com > Fox-Li模拟谐振腔,含有条形,矩形,圆形腔,并做成GUI可是界面源码程序 > code3/circle.m
function circle(edit3_button,edit4_button,edit5_button,edit6_button,handles) N=199; A=ones(N+1,1); B=ones(N+1,1); C=ones(N+1,1); a=edit3_button; L=edit4_button; b=edit5_button; k=2*pi/b; m=1:N+1; dr=a/N; dang=2*pi/(N); diedai=edit6_button; r=dr*(m-1); ang=dang*(m-1); for n=1:diedai for j=1:N+1 B(j)=sum(exp(-i*k*L)*exp(-i*k*(r(j)^2+(r.^2)')/(2*L)).*r'.*(exp(i*k*r(j)*r'*cos(ang)/L)*dang*C).*A); end ma=max(B); A=B/ma; axes(handles.axes1) mesh(r'*cos(ang),r'*sin(ang),abs(A)*C') axes(handles.axes2) mesh(r'*cos(ang),r'*sin(ang),angle(A)*C') mywaitbar(diedai,300,10,n) set(handles.text17,'String',[num2str(n*100/diedai),'%']) end mywaitbaroff(diedai,300,10)