[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:002783] Re: mean vs average



神代です.

At Fri, 27 Apr 2007 12:00:06 +0900 (JST),
Hiroshi Taniguchi wrote:
> 
> gphysAc5=gphysA.cut( 0..360, -20..20, 200, 4 ) # t=5 の A データ
> gphysBc5=gphysB.cut( 0..360, -20..20, 200, 4 ) # t=5 の B データ
> 
> frst=(gphysBc1-gphysAc1)**2
> fcst=(gphysBc5-gphysAc5)**2
> 
> frsta=frst.average(0).average(1).to_f 
> fcsta=fcst.average(0).average(1).to_f
> 
> #frsta=frst.mean(0,1).to_f
> #fcsta=fcst.mean(0,1).to_f
> ------------------------------------------------------------------
> 
> average を取ろうとしている frst や fcst の中身を表示させると, 
> 
> ------------------------------------------------------------------
> <GPhys grid=<2D grid <axis pos=<'x' float[144] val=[0.0,2.5,5.0,7.5,...]>>
>         <axis pos=<'y' float[17] val=[20.0,17.5,15.0,12.5,...]>>>
>    data=<'hogehoge' sfloat[144, 17] val=[31867783168.0,32369766400.0,33796042752.0,31745796096.0,...]>>
> ------------------------------------------------------------------

frst.average(0) とした時点で, 平均されて1次元データになっているので,
次に .average(1) としても, 2次元目がないのでエラーになっているように
見えます.

frst.average(0).average(0) とするとうまくいくのではないでしょうか.

frst.mean(0,1) のほうは, 一気に平均しているので, うまくいっているのだ
と思います. frst.mean(0).mean(1) とすれば, 同じエラーになるはずです.