[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002787] Re: mean vs average
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002787] Re: mean vs average
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 09 May 2007 14:51:43 +0900
堀之内です。
谷口さん、反応遅くなってすみません。average, integrate
(NumRu::Axis の @@operations に定義されてるメソッド)
については、結果がスカラーになる場合に対応できてません
でした。mean 等 (VArray::NArray_type3_methods) では、
そういう場合に GPhys オブジェクトでなく、生のスカラーを
返すようになってますので、それにあわせるように変えて
cvs commit しました。
(http://ruby.gfd-dennou.org/products/gphys/gphys/lib/numru/gphys/gphys.rb)
>
> 谷口です
>
> 神代さん, コメントどうもありがとうございます.
>
> 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
>
堀之内 武 horinout@xxxxxxxxxxxxxxxxxx
京都大学生存圏研究所 611-0011 宇治市五ヶ庄