[Thread Prev][Thread Next][Index]
Re: Using @Ave function for irr. data files
Hi Steve,
This sounds like an issue that came up before. For evenly
spaced data @ave is just like a simple average - add the values and
divide by the number of points. But for unevenly spaced points, what
one wants is the weighted average, the weighting being the length of
axis to which each value applies. In the absence of other information
ferret assigns the boundaries/edges of the boxes to the midpoints
between the data locations. If one wants the simple average in the
case of unevenly spaced data the ratio v[l=@sum]/v[l=@ngd] will
supply it.
Heres a demo
let v=tsequence({1,4,6,5}) ! evenly spaced
list v[l=@ave] ! gives 4.000 as expected
! now locate those same values on an uneven time axis
let tax=tsequence({2,5,8,10})
def axis/t/from_data/name=taxis tax
def grid/t=taxis grd
let vt=v[g=grd,gt=@asn]
list vt[l=@ave] ! gives 3.810 as expected since
show grid/t grd ! shows the box widths are
! 3,3,2.5,2 respectively.
list vt[l=@sum]/vt[l=@ngd] ! still gives 4.000
Mick
|____spillane@pmel.noaa.gov____|
|__Room 2070 Bldg#3 NOAA/PMEL__|
|____Phone_:_(206)526-6780_____|
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement