Reference manuals of the GPhys library(http://ruby.gfd-dennou.org/products/gphys/doc/)の日本語訳です。

離散化した物理座標を扱うクラスです。

概要

NumRu::AxisオブジェクトはNumRu::Gridオブジェクト内の次元を代表するものとして作られており、NumRu::Grid内で使用されています(以降Num::Ru::は省略)。Axisは格子点位置上の1次元データをVArrayとして保有しています。加えて、補助的なデータも(VArrayオブジェクトとして)保有することができます。

このクラスでは3つのタイプの軸がサポートされています。
  1. シンプルな軸(主に点抽出されるもの)
  2. セル型の軸。この場合、格子点はセルの境界かセルの内部にある(多くは中心にある)
  3. シンプルな(生の)インデックス(物理的意味が特にない)
ほとんどの適用に置いては、最初のタイプで大丈夫でしょう。ただし、2番目のタイプはあるタイプの数値シミュレーションで使いやすいものでしょう。3番目のタイプは物理的でなく、軸としては考えられないかもしれませんが、実践的な適用の場面では便利だと思われることもあります。

クラスメソッド

Axis.new(cell=false,bare_index=false,name=nil)

コンストラクタ。はじめの2つの引数は上で説明されているタイプのうちの一つを指定する
引数
  • cell (true or false)
  • bare_index (true or false)
  • name (String or nil): デフォルト名は"noname"(nilの場合)
返り値
  • Axisオブジェクト

Axis.defined_operations

Axisクラスで定義されており、軸に沿った処理をするメソッド名を返す。
返り値
  • StringのArrayオブジェクト。現在の初期値は["integrate","average"]

Axis.humane_messaging = t_or_f

falseが与えられた場合、その軸が失われたら[]メソッドはネイティブの直接的なメッセージを返すように変更される。(By default, it returns a fancy but sometimes unwanted message if the axis is the time with since field in the form of yyyy-mm-dd....)

インスタンスメソッド

name=(nm)

名前を設定する。
引数
  • name (String)
返り値
  • name(引数)

name

名前を返す。
返り値
  • Stringオブジェクト

cell?

selfがセル型の軸かどうか。
返り値
  • true or false

cell_center?

selfがセルの中のデータポイントを意味しているかどうか(大概はセルの中心であるが、必ずしもそうであるとは限らない)。
返り値
  • true, false
  • nil(軸がセル型でないとき)

cell_bounds?

selfがセルの境界にあるデータポイントを意味しているかどうか。
返り値
  • true, false
  • nil(軸がセル型でないとき)

bare_index?

selfが生のインデックス型かどうか。
返り値
  • true or false

flatten

self内のVArrayをフラットなArrayとして返す。クローンは行われない
返り値
  • VArrayのArrayオブジェクト

each_varray

self内のVArrayオブジェクトに対するイテレータ(flattenに依存)
返り値
  • VArrayのArrayオブジェクト(flattenと同じ)

copy

メモリ上に深いクローンを行う。返り値の全てのVArrayオブジェクトはVarrayのルートクラスとなる。
返り値
  • Axisオブジェクト

collect

copyと似ているが、self内のVArrayに対する”collect”イテレータ(ブロックが必要)。
返り値
  • Axisオブジェクト

pos=(pos)

格子点位置(離散座標変数)を設定する。
引数
  • pos (a 1D VArray)
返り値
  • pos(引数)

set_pos(pos)

格子点位置(離散座標変数)を設定する。
引数
  • pos (a 1D VArray)
返り値
  • self

pos

格子点位置(離散座標変数)を返す。
返り値
  • VArrayオブジェクト(複製は行われない)

cell_center

セル型の際にセルの中心の格子点位置を返す。
返り値
  • VArrayオブジェクト(複製は行われない)

cell_bounds

セル型の際にセルの境界の格子点位置を返す。
返り値
  • VArrayオブジェクト(複製は行われない)

length

軸の長さを返す。
返り値
  • Integerオブジェクト

set_cell(center, bounds, name=nil)

セルの中心と境界を与えて、セル型の軸を設定する。この設定はone of set_pos_to_center が実行されたときに完了する。
引数
  • center (a 1D VArray)
  • bounds (a 1D VArray)
  • name (String)
返り値
  • self

set_cell_guess_bounds(center, name=nil)

セルの中心のみを指定し、境界は組み込みの予測によって導出することで、セル型の軸を設定する。
引数
  • center (a 1D VArray)
  • name (String)
返り値
  • self

set_pos_to_center

現在の軸の位置をセルの中心に設定する。これかset_pos_to_boundsはset_cell_*メソッドによる設定を完了するために必要となる。

set_pos_to_bounds

現在の軸の位置をセルの境界に設定する。これかset_pos_to_centerはset_cell_*メソッドによる設定を完了するために必要となる。

set_aux(name,vary)

補助的なデータを設定する。
引数
  • name (String) : データの種類を表すタグ
  • vary (a VArray) : データ
返り値
  • vary(2番目の引数)

get_aux(name)

補助的なデータを返す。
引数
  • name (String) : データの種類を表すタグ(set_aux参照)
返り値
  • VArrayオブジェクト

aux_names

補助的なデータの名前一覧を返す。
返り値
  • StringのArrayオブジェクト

to_gphys(datavary1d=nil)

AxisオブジェクトからGphysオブジェクトを組み立てる。
引数
  • datavary1d (nil or VArray) : nilの場合、selfの位置オブジェクトは主要なデータオブジェクトとなる。VArrayの場合は、それが主要なデータオブジェクトとして使用される
返り値
  • GPhysオブジェクト

[slicer]

部分集合を返す。詳細はNArrayと同様。
返り値
  • Axisオブジェクト

cut(coord_cutter)

[]と同様だが、物理座標系に基づく。
返り値
  • Axisオブジェクト

cut_rank_conserving(coord_cutter)

cutと同様だが、階層が常に維持される。つまり、[i]のような部分集合は[i..i]として扱われる。
返り値
  • Axisオブジェクト

integrate(ary,dim)

軸に沿って積分する。
引数
  • ary (NArray or NArrayに似た多次元データクラス) : データ。dim番目の次元は軸と同じ長さを持っていなければならない
  • dim (Integer) : 処理が適用されるaryの次元
返り値
  • aryと同じクラスのオブジェクト、もしくはaryが1次元ならばNumericオブジェクト

integ_weight

積分重みを返す(デフォルトはnil)。

integ_weight=(wgt)

積分重みを設定する(デフォルトはnil)。

average(ary,dim)

integrateと同様だが、平均化を行う。
引数
返り値

average_weight

積分重みを返す(デフォルトはnil)。

average_weight=(wgt)

積分重みを設定する(デフォルトはnil)。

draw_positive

軸を描く方向を返す。(VArray#axis_draw_positiveメソッドに依拠)。
返り値
  • 以下のどれか
    • true: 軸は増加する方向に描かれる(右方向/上方向)
    • false: 軸は減少する方向に描かれる
    • nil: 指定なし

cyclic?

軸が周期的かどうかを返す(VArray#axis_cyclic?メソッドに依拠)。
返り値
  • 以下のどれか
    • true: 周期的
    • false: 周期的でない
    • nil: 指定なし

modulo

周期的な軸のモジュローを返す(VArray#axis_moduloメソッドに依拠)。
返り値
  • 以下のどれか
    • モジュローが定義されていればFloatオブジェクト
    • モジュローが見つからなければnil

cyclic_extendible?

軸が周期的で拡張に適しているかどうかを返す(VArray#axis_cyclic_extendible?メソッドに依拠)
返り値
  • true or false

管理人/副管理人のみ編集できます