0001 function d1 = bksupk(ny,fid,jcf,icc1) 0002 0003 global M_ options_ 0004 0005 icf = [1:jcf-1] ; 0006 ir = [(options_.periods-1)*ny+1:ny*options_.periods] ; 0007 irf = icc1+(options_.periods-1)*ny ; 0008 d1 = zeros(options_.periods*ny,1) ; 0009 0010 ofs = (((options_.periods-1)*ny+1)-1)*jcf*8 ; 0011 junk = fseek(fid,ofs,-1) ; 0012 c = fread(fid,[jcf,ny],'float64') ; 0013 0014 d1(ir) = c(:,jcf) ; 0015 ir = ir-ny ; 0016 0017 i = 2 ; 0018 0019 while i <= M_.maximum_lead | i <= options_.periods 0020 irf1 = selif(irf,irf<=options_.periods*ny) ; 0021 0022 ofs = (((options_.periods-i)*ny+1)-1)*jcf*8 ; 0023 junk = fseek(fid,ofs,-1) ; 0024 c = fread(fid,[jcf,ny],'float64') ; 0025 0026 d1(ir) = c(:,jcf) - c(:,1:size(irf1,1))*d1(irf1) ; 0027 ir = ir - ny ; 0028 irf = irf - ny ; 0029 i = i + 1 ; 0030 end 0031 0032 while i <= options_.periods 0033 0034 ofs = (((options_.periods-i)*ny+1)-1)*jcf*8 ; 0035 junk = fseek(fid,ofs,-1) ; 0036 c = fread(fid,[jcf,ny],'float64') ; 0037 0038 d1(ir) = c(:,jcf)-c(:,icf)*d1(irf) ; 0039 ir = ir-ny ; 0040 irf = irf-ny ; 0041 i = i+1; 0042 end 0043 0044 return ;