[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002781] mean vs average
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002781] mean vs average
- From: Hiroshi Taniguchi <taniro@xxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 27 Apr 2007 12:00:06 +0900 (JST)
谷口と申します.
gphys-0.5.4 を使っております.
mean と average の両メソッドの使用に関する質問です.
mean(0,1) (1,2次元の単純平均)メソッドを用いるとエラー無く計算できるの
ですが, average(1).average(0) 平均メソッドを用いると, 以下のエラーが表
示され計算できません.
------------------------------------------------------------------
/usr/lib/ruby/1.8/numru/gphys/grid.rb:543:in `ax_dim': rank=1: 1th grid does not exist (ArgumentError)
from /usr/lib/ruby/1.8/numru/gphys/grid.rb:524:in `average'
from /usr/lib/ruby/1.8/numru/gphys/gphys.rb:596:in `average'
from hogehoge.rb:52
------------------------------------------------------------------
というエラーが表示されます. 具体的には以下のような gphys データをこし
らえて計算させようとしています.
------------------------------------------------------------------
require "narray"
require "numru/ggraph"
require "numru/dcl"
include NumRu
include Math
...
gphysA = GPhys::IO.open(ofile1, 'hogehoge')
gphysB = GPhys::IO.open(ofile2, 'hogehoge')
gphysAc1=gphysA.cut( 0..360, -20..20, 200, 0 ) # t=1 の A データ
gphysBc1=gphysB.cut( 0..360, -20..20, 200, 0 ) # t=1 の B データ
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,...]>>
------------------------------------------------------------------
と表示され, 計算させようとしている gphys データ中に grid データは存在
しています. エラーで注意されている
1th grid does not exist (ArgumentError)
の意味が理解できておりません.
素人質問で恐縮ですが, 何か手がかりを教えて頂ければ幸いです.
宜しくお願いいたします.
--
Hiroshi Taniguchi (Disaster Prevention Research Institute, Kyoto University)
e-mail: taniro@xxxxxxxxxxxxxxxxxxxxxxx Fx:+81-774-38-4153 Ph:+81-774-38-4155