![]() |
||||||
|
| Script S1_2_17.m | |||
|
|||
|
%==============================================
%Three mirrors %============================================= % %a set of fine values of lambda are defined %in the range 0.4-0.7 micron lambda=0.4:0.0005:0.7; %the number of elements of the array lambda max=length(lambda) % %the reflexifity ro and its square root ep r=0.95 ep=sqrt(r); %distance d among the mirrors defined in micron d=15.0000e+04; g=3*d; % %m is calculated according to the resonance condition m=((g./lambda)-0.5); % %the relative intensity is determined %for the assigned values of lambda k=(2*pi)./lambda; fi=(k*g-pi); fi_g=fi*180/pi; figr=mod(fi_g,360); dena=1+r; denb=-2*ep*cos(fi); den=dena+denb; I=1./den; %the array with max rows and 4 columns %contains the values lambda, m, figr and I val=[lambda' m' figr' I']; %the array val is arranged according to the size of I [Isort Iindsort]=sort(val(:,4)); for i=1:max vI(i,:)=val(Iindsort(i),:); end %and becomes vI vI; %the last N rows, where are the greatest values of the intensities, %are conveyed in vL N=20; Nm1=N-1; jmin=max-Nm1; p=1 for j=jmin:max vL(p,:)=vI(j,:); p=p+1; end vL; %the rows of vL are arranged so that the lambda are in %increasing order %the new array is called vLL [Lsort Lindsort]=sort(vL(:,1)); for i=1:N vLL(i,:)=vL(Lindsort(i),:); end vLL; %from vLL the final values are determined for q=1:N mlambda(q)=vLL(q,1); mm(q)=vLL(q,2); mfigr(q)=vLL(q,3); mI(q)=vLL(q,4); end %the final values of lambda mlambda %the final values of integers mm %the final values of fi mfigr %the final values of relative intensities mI plot(mlambda,mI,'r-o'),grid on axis([0.40 0.70 0 1500]) title('relative intensity function of lambda between 0.4 and 0.7 micron') |
|||
| Top | |||