% directional coupler dd=linspace(0.4,3,50); for i=length(dd):length(dd) index=[1.4,1.5,1.4,1.5,1.4]; thickness=[0.8,dd(i),0.8]; ml=multi(index,thickness); % te eigenvalues at 955nm i nstart=index(1); wl=1.2; dump=1e-4; acc=1e-12; ev=mltevalue(ml,nstart,wl,dump,acc); figure(1); plot((dd(i))*ones(length(ev),1),ev,'or'); hold on; end yp=mltevector(ml,ev(1),wl); ym=mltevector(ml,ev(2),wl); return; % dispersion relation index=[1.4,1.5,1]; thickness=[0.8]; ml=multi(index,thickness); % te eigenvalues at 955nm nstart=index(1); dump=1e-3; acc=1e-12; wll=linspace(0.2,2,100); for i=1:length(wll) wl=wll(i); ev=mltevalue(ml,nstart,wl,dump,acc); figure(1); plot((1/wl)*ones(length(ev),1),ev,'or'); hold on; end return % define a multilayer index=[1.4,1.5,1.45,1.38,1]; thickness=[0.8,0.4,0.6]; ml=multi(index,thickness); % te eigenvalues at 955nm nstart=index(1); wl=0.955; dump=1e-3; acc=1e-12; ev=mltevalue(ml,nstart,wl,dump,acc) % plot it mltevector(ml,ev(1),wl);