Is there a way to simply the code?
Posted: Mon Apr 08, 2013 6:49 pm
For !i=0 to 32
If w{%Y}(!i+1) <> na then
smpl 1960+!i 1965+!i
%myeq_name="w{%Y}eqb{!i}"
if @isobject(%myeq_name) then
delete %myeq_name
endif
equation w{%Y}eqb{!i}.ls log(w{%Y}) C YEAR
smpl 1965+!i 1970+!i
%myeq_name="w{%Y}eqa{!i}"
if @isobject(%myeq_name) then
delete %myeq_name
endif
equation w{%Y}eqa{!i}.ls log(w{%Y}) C YEAR
!diff=w{%Y}eqa{!i}.c(2)-w{%Y}eqb{!i}.c(2)
!dt=1970+!i
if w{%Y}eqa{!i}.c(2)>=.035 and !diff>=.02 then
if @elem (w{%Y}, @str(!dt)) >= @max(w{%Y})then
!flag=1
%mysmpl_name="w{%Y}sample{!i}"
if @isobject(%mysmpl_name) then
delete %mysmpl_name
endif
sample w{%Y}sample{!i} 1965+!i 1970+!i
%mytable_name="temp_table{%Y}"
if @isobject(%mytable_name) then
delete %mytable_name
endif
freeze(temp_table{%Y}) w{%Y}eqa{!i}.results
%mytable_name="temp_table2{%Y}"
if @isobject(%mytable_name) then
delete %mytable_name
endif
freeze(temp_table2{%Y}) w{%Y}eqb{!i}.results
setcell(globaltab,!lineg,1,%Y,"l")
setcell(globaltab,!lineg,2,temp_table{%Y}(4,1),"l")
setcell(globaltab,!lineg,3,temp_table2{%Y}(10,2),"l")
setcell(globaltab,!lineg,4,temp_table{%Y}(10,2),"l")
setcell(globaltab,!lineg,5,temp_table{%Y}(10,4),"l")
!line=!line+1
!lineg=!lineg+1
delete temp_table{%y} temp_table2{%y}
endif
else
!flag=0
delete w{%Y}eqb{!i} w{%Y}eqa{!i}
If w{%Y}(!i+1) <> na then
smpl 1960+!i 1965+!i
%myeq_name="w{%Y}eqb{!i}"
if @isobject(%myeq_name) then
delete %myeq_name
endif
equation w{%Y}eqb{!i}.ls log(w{%Y}) C YEAR
smpl 1965+!i 1970+!i
%myeq_name="w{%Y}eqa{!i}"
if @isobject(%myeq_name) then
delete %myeq_name
endif
equation w{%Y}eqa{!i}.ls log(w{%Y}) C YEAR
!diff=w{%Y}eqa{!i}.c(2)-w{%Y}eqb{!i}.c(2)
!dt=1970+!i
if w{%Y}eqa{!i}.c(2)>=.035 and !diff>=.02 then
if @elem (w{%Y}, @str(!dt)) >= @max(w{%Y})then
!flag=1
%mysmpl_name="w{%Y}sample{!i}"
if @isobject(%mysmpl_name) then
delete %mysmpl_name
endif
sample w{%Y}sample{!i} 1965+!i 1970+!i
%mytable_name="temp_table{%Y}"
if @isobject(%mytable_name) then
delete %mytable_name
endif
freeze(temp_table{%Y}) w{%Y}eqa{!i}.results
%mytable_name="temp_table2{%Y}"
if @isobject(%mytable_name) then
delete %mytable_name
endif
freeze(temp_table2{%Y}) w{%Y}eqb{!i}.results
setcell(globaltab,!lineg,1,%Y,"l")
setcell(globaltab,!lineg,2,temp_table{%Y}(4,1),"l")
setcell(globaltab,!lineg,3,temp_table2{%Y}(10,2),"l")
setcell(globaltab,!lineg,4,temp_table{%Y}(10,2),"l")
setcell(globaltab,!lineg,5,temp_table{%Y}(10,4),"l")
!line=!line+1
!lineg=!lineg+1
delete temp_table{%y} temp_table2{%y}
endif
else
!flag=0
delete w{%Y}eqb{!i} w{%Y}eqa{!i}