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

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



谷口です

神代さん, コメントどうもありがとうございます. 

On Fri, 27 Apr 2007 17:43:51 +0900,
KOSHIRO Tsuyoshi <koshiro@xxxxxxxxxxxxxx> wrote :

>> 神代です.
>> 
>> 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.average(0).average(0) をやってみたのですが, 

---------------------------------------------------------------------------
/usr/lib/ruby/1.8/numru/gphys/gphys.rb:456:in `initialize': 1st arg not a Grid (ArgumentError)
        from /usr/lib/ruby/1.8/numru/gphys/gphys.rb:597:in `new'
        from /usr/lib/ruby/1.8/numru/gphys/gphys.rb:597:in `average'
        from hogehoge.rb:52
---------------------------------------------------------------------------

となって, 残念ながらうまくいきません. 

p frst.average(0)

をして, 1D データになっている(↓)ことは確認できました. 

---------------------------------------------------------------------------
<GPhys grid=<1D grid <axis pos=<'y' float[17] val=[20.0,17.5,15.0,12.5,...]>>>
   data=<'hogehoge' float[17] val=[13383312256.9301,17245254876.3357,21292573840.3199,24609746814.3287,...]>>
---------------------------------------------------------------------------

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

はい. 同じエラーになりました. 

--
Hiroshi Taniguchi (Disaster Prevention Research Institute, Kyoto University)
e-mail: taniro@xxxxxxxxxxxxxxxxxxxxxxx Fx:+81-774-38-4153 Ph:+81-774-38-4155