function pray = parax(pstart, cv, th, rn) % %PARAX % % paraxial ray trace pray(1,:) = pstart(1,:); m = length(th); if (nargin==3) for (n=2:m) pray(n,1) = pray(n-1,1)+ pray(n-1,2)*th(n-1); power = cv(n); pray(n,2) = pray(n-1,2) - power*pray(n,1); end else nu = rn(1)*pray(1,2); for (n=2:m) pray(n,1) = pray(n-1,1)+ pray(n-1,2)*th(n-1); power = (rn(n)-rn(n-1))*cv(n); nu = nu - power * pray(n,1); pray(n,2) = nu / rn(n); end end pray(m+1,1) = pray(m,1)+th(m)*pray(m,2); pray(m+1,2) = pray(m,2);