pro prob9_2,n,dz=dz aobs=40. bobs=20. dr=0.5 if not keyword_set(dz) then dz=1. z0=6. err1a=randomn(seed,n)*dr err1b=randomn(seed,n)*dr err2=randomn(seed,n)*dz+z0 apran=aobs+err1a-err2 bpran=bobs+err1b-err2 print,'mean(ap)=',mean(apran),' mean(bp)=',mean(bpran) ap=aobs-z0 bp=bobs-z0 rat=apran/bpran da=sqrt(dr^2+dz^2) db=da print,'mean ratio (analytic (1st order) vs. sampling)',ap/bp, mean(rat) print,'mean ratio (analyt. + cov + var(b) vs. sampling)',ap/bp-1./bp^2*dz^2+ap/bp^3*db^2, mean(rat) df1_2=(da/bp)^2+(db*ap/bp^2)^2 df_2=df1_2-2.*dz^2*ap/bp^3 print,'errors on ratio (analytic vs. sampling)',sqrt(df_2), stdev(rat) print print,'now different systematic errors (= without covariance)' print err2a=randomn(seed,n)*dz+z0 bpran=bobs+err1b-err2a print,'mean(ap)=',mean(apran),' mean(bp)=',mean(bpran) rat=apran/bpran print,'mean ratio (analytic (1st order) vs. sampling)',ap/bp, mean(rat) print,'mean ratio (analytic + var(b) vs. sampling)',ap/bp+ap/bp^3*db^2, mean(rat) print,'errors on ratio (analytic vs. sampling)',sqrt(df1_2), stdev(rat) return end