名前

       grdmath - グリッドファイルに対する Reverse Polish Notation
 計算機


概要

       grdmath    [    -F     ]     [     -Ixinc[m|c][/yinc[m|c]]
-Rwest/east/south/north -V] operand [ operand ] OPERATOR [
operand ] OPERATOR ... = outgrdfile

記述

       grdmath は Reverse Polish Notation (RPN) シンタックス(例え
ば Hewlett-Packard の計算方式)を用いて1つ以上のグリッドファ
イルや定数に対して加減乗除等の計算を実行します。そのため任
意の複雑な表現を計算できます; 最終結果は出力グリッドファイ
ルに書き出されます。2つのグリッドファイルがスタックにあると、
ファイル A の各要素がファイル B の対応する要素により変更さ
れます。しかし、いくつかの演算子は1つの演算数だけを必要とし
ます(下を参照)。表現中にグリッドファイルが使われていないと
きはオプション -R, -I (およびオプションで -F )が設定されて
いなければなりません。

operand
もし operand がファイルとしての演算数であればグリッ
ドファイルとして読み込まれます。もしファイルでなけれ
ば、数値の定数または特別な記号(下を参照)であると解釈
されます。

outgrdfile は最終結果を持つ 2-D グリッドファイルです。

OPERATORS
以下の演算子から選びます:
演算子 引数の数 戻り値

ABS 1 abs (A).
ACOS 1 acos (A).
ACOSH 1 acosh (A).
ADD(+) 2 A + B.
AND 2 A および B が NaN なら NaN, それ以外で A が NaN
 なら B, それ以外なら A.
ASIN 1 asin (A).
ASINH 1 asinh (A).
ATAN 1 atan (A).
ATAN2 2 atan2 (A, B).
ATANH 1 atanh (A).
BEI 1 bei (A).
BER 1 ber (A).
CDIST 2 グリッド格子点とスタック x,y の間のカルテジ
アン距離.
CEIL 1 ceil (A) (最小の整数 >= A).
CHIDIST 2 χ自乗分布 P(chi2,nu), ここで
chi2 = A, nu = B.
COS 1 cos (A) (A はラジアン).
COSD 1 cos (A) (A は度).
COSH 1 cosh (A).
CURV 1 A の曲率(ラプラシアン).
D2DX2 1 d^2(A)/dx^2 2階微分.
D2DY2 1 d^2(A)/dy^2 2階微分.
D2R 1 度をラジアンに変換.
DDX 1 d(A)/dx 1階微分.
DDY 1 d(A)/dy 1階微分.
DILOG 1 Dilog (A).
DIV(/) 2 A / B.
DUP 1 A の複製をスタックに置く.
ERF 1 A のエラー関数.
ERFC 1 A の相補エラー関数.
ERFINV 1 A の逆エラー関数.
EQ 2 A == B なら 1, それ以外なら 0.
EXCH 2 スタック上で A と B を交換.
EXP 1 exp (A).
EXTREMA 1 極値: +2/-2 は極大/極小, +1/-1 は x が極
大/極小となる鞍点, その他は 0.
FDIST 4 F分布 Q(var1,var2,nu1,nu2), ここで var1 = A,
var2 = B, nu1 = C, nu2 = D.
FLOOR 1 floor (A) (最大の整数 <= A).
FMOD 2 A % B (剰余).
GDIST 2 グリッド格子点とスタック lon,lat の間の大円
距離(度).
GE 2 A >= B なら 1, それ以外なら 0.
GT 2 A > B なら 1, それ以外なら 0.
HYPOT 2 hypot (A, B).
I0 1 A の変形ベッセル関数(第1種0次).
I1 1 A の変形ベッセル関数(第1種1次).
IN 2 A の変形ベッセル関数(第1種B次).
INV 1 1 / A.
ISNAN 1 A == NaN なら 1, それ以外なら 0.
J0 1 A のベッセル関数(第1種0次).
J1 1 A のベッセル関数(第1種1次).
JN 2 A のベッセル関数(第1種B次).
K0 1 A の変形ケルビン関数(第2種0次).
K1 1 A の変形ベッセル関数(第2種1次).
KN 2 A の変形ベッセル関数(第2種B次).
KEI 1 kei (A).
KER 1 ker (A).
LE 2 A <= B なら 1, それ以外なら 0.
LMSSCL 1 A の LMS スケール推定 (LMS STD).
LOG 1 log (A) (自然対数).
LOG10 1 log10 (A).
LOG1P 1 log (1+A) (小さな A に対して正確).
LOWER 1 A の最小値.
LT 2 A < B なら 1, それ以外なら 0.
MAD 1 A のメディアン絶対偏差 (L1 STD).
MAX 2 A と B の最大値.
MEAN 1 A の平均値.
MED 1 A のメディアン.
MIN 2 A と B の最小値.
MODE 1 A のモード値 (LMS).
MUL(x) 2 A * B.
NAN 2 A == B なら NaN, それ以外なら A.
NEG 1 -A.
NRAND 2 平均 A と標準偏差 B を持つ正の乱数.
OR 2 A または B が NaN なら NaN, それ以外なら A.
PLM 3 同伴ルジャンドル多項式 P(-1<A<+1) B階C次.
POP 1 スタックから最上位の要素を削除.
POW(^) 2 A ^ B.
R2 2 R2 = A^2 + B^2.
R2D 1 ラジアンを度に変換.
RAND 2 A と B の間の一様な乱数.
RINT 1 rint (A) (最も近い整数).
SIGN 1 A の符号 (+1 または -1).
SIN 1 sin (A) (A はラジアン).
SIND 1 sin (A) (A は度).
SINH 1 sinh (A).
SQRT 1 sqrt (A).
STD 1 A の標準偏差.
STEP 1 ヘビサイド階段関数 H(A).
STEPX 1 x のヘビサイド階段関数 H(x-A).
STEPY 1 y のヘビサイド階段関数 H(y-A).
SUB(-) 2 A - B.
TAN 1 tan (A) (A はラジアン).
TAND 1 tan (A) (A は度).
TANH 1 tanh (A).
TDIST 2 Student のt分布 A(t,nu) = 1 - 2p,
ここで t = A, nu = B.
UPPER 1 A の最大値.
XOR 2 A == NaN なら B, それ以外なら A.
Y0 1 A のベッセル関数(第2種0次).
Y1 1 A のベッセル関数(第2種1次).
YLM 2 実部と虚部で規格化された球面調和関数(A階B次).
YN 2 A のベッセル関数(第2種B次).

SYMBOLS
以下の記号には特別な意味があります:

PI 3.1415926...
E 2.7182818...
X x 座標のグリッド
Y y 座標のグリッド


オプション

       -I     x_inc [およびオプションで y_inc ]はグリッド間隔です。
分を示すには m を、秒を示すには c を付け加えてくだ
さい。

-R west, east, south, north は興味のある領域を特定し
ます。度と分[と秒]で境界を特定するには、dd:mm[:ss]
のフォーマットを使ってください。wesnの代わりに左下
と右上のマップ座標を使うときは r を付け加えてくださ
い。

-F ( -R, -I と用いて)ピクセルレジストレーションを選び
ます[デフォルトはグリッドレジストレーション]。

-V 冗長モードを選択します。標準エラー出力に経過報告を
送ります[デフォルトでは"静かに"走ります]。


注意

       演算子 GDIST はスタック上の (lon, lat) の点とグリッドのす
べての格子点の位置との間の球面上の距離を計算します。グリッ
ド領域と (lon, lat) の点の単位は度であると見なされます。演
算子 YLM は L 階 M 次の完全に規格化された球面調和関数を、
グリッドのすべての位置でその単位を度と見なして計算します。
 YLM は複素球面調和関数の実部(コサイン)と虚部(サイン)の2つ
のグリッドを返します。これらの1つを取り除くには POP 演算子
(と EXCH )を用います。演算子 PLM は L 階 M 次の同伴ルジャ
ンドル多項式を計算しますが、引数は -1 <= x <= +1 を満たす
余緯度のコサインでなければなりません。 YLM と違い PLM
正規化されていません。
すべての導関数は中央差分、自然境界条件に基づいています。


用例

       2つのファイルの平均の log10 を計算します。
grdmath file1.grd file2.grd ADD 0.5 MUL LOG10 =
file3.grd

海底の年代が百万年単位で与えられたファイル ages.grd がある
として、深さ(m) = 2500 + 350 * sqrt (年代) の関係を用いて標
準水深を推定します:
grdmath ages.grd SQRT 350 MUL 2500 ADD =
depths.grd

3つのファイル s_xx.grd, s_yy.grd, s_xy.grd で与えられる応力
テンソルから、 (2*a) = 2 * s_xy / (s_xx - s_yy) の関係を用い
て最大応力主軸の角度 a (度)を見つけます。
grdmath 2 s_xy.grd MUL s_xx.grd s_yy.grd SUB DIV ATAN2 2 DIV = direction.grd

実部の振幅0.4と虚部の振幅1.1を用いて、1×1度の世界地図上の8
階4次の完全に規格化された球面調和関数を計算します。
grdmath -R0/360/-90/90 -I1 8 4 YML 1.1 MUL EXCH 0.4 MUL ADD = harm.grd

ファイル faa.grd において 100 mGal を超える局所的な最低点の
位置を抽出します。
grdmath faa.grd DUP EXTREMA 2 EQ MUL DUP 100 GT NAN MUL = z.grd
grd2xyz z.grd -S > max.xyz


バグ

       演算子と同じ名前、例えば ADD, SIGN, = などといったファイル
は読むことができずカレントディレクトリに存在してはいけませ
ん。ファイルのパイプは許されません。スタックの限度は50に固
定されています。正の半径を想定したすべての関数(例えば log,
 kei など)には引数の絶対値が受け渡されます。


参考文献

       Abramowitz, M., and I. A. Stegun, 1964, Handbook of Mathe-
       matical Functions, Applied Mathematics  Series,  vol.  55,
Dover, New York.
Press, W. H., S. A. Teukolsky, W. T. Vetterling, B. P.
Flannery, 1992, Numerical Recipes, 2nd edition, Cambridge
Univ., New York.


関連事項

       gmt(l),  gmtmath(l),  grd2xyz(l),  grdedit(l), grdinfo(l),
xyz2grd(l)



1 May 2003 GRDMATH(l)

Man(1) output converted with man2html