実際にデータを表示させてみましょう。この節ではVECTORを使って仕事をし ます。VECT ORはFORTRANの配列のようなものです。1次元から3次元のものまで が定義できます。CREAT Eで定義します。例えば次の例を見てください。
PAW> VECTOR/CREATE A(10) R 5*0 1 3 2 1 0
Aという名前のベクトルが一次元配列、寸法10で実数型として宣言され、初期 値として最初の5つの要素は0その後の要素は順に1,3,2,1,0に設定されたとい うわけです。実際に定義されたかどうか確かめましょう。
PAW> VECTOR/LIST Vector Name Type Length Dim-1 Dim-2 Dim-3 A R 10 10 Total of 1 Vector(s) PAW >
ちゃんと出来ていました。ではこれをグラフに表示させてみましょう。
PAW> VECTOR/DRAW A
あまりおもしろい例ではありませんがちゃんとグラフが表示されました。
ベクトルの定義はVECTOR/LISTで調べました。実際の内容を端末に表示させ るにはVECTO R/PRINTコマンドを使います。
PAW > VECTOR/PRINT A A( 1) ... A( 5) = 0 A( 6) = 1 A( 7) = 3 A( 8) = 2 A( 9) = 1 A(10) = 0
つぎに内容を変更しましょう。VECTOR/INPUTを使います。ベクトルのどれかの 要素を変更するときはFORTRANの配列要素と同じように指定します。例えば3番 目の要素を変更するときは
PAW > VECTOR/INPUT A(3) 4
同様に配列の一部を変更するときは
PAW > VECTOR/INPUT A(4:5) 5 3
のように配列の範囲を指定することが出来ます。
ベクトルの内容をファイルに保存したりファイルから読み込んだりすること も出来ます。テキストファイルの形式なので別のプログラムの出力をベクトル として読み込むことも出来ます。
PAW > VECTOR/WRITE A A.DAT
ベクトルAをA.DATに書き込みました。この時、書式もFORMAT文の書式記述子の 形式で与えることが出来ます。読み込みは
PAW > VECTOIR/READ A A.DAT
ということになります。なにか他のアプリケーションで書いたデータファイル で、コメントやタイトルなどを読み飛ばして、データを含んだ行だけ読みたい 場合があるかも知れません。そのとき例えばデータのある行の7桁目に:、8桁 目に空白があって、他の行と区別がつく場合
PAW > VECTOR/READ A A.DAT 8X,10F6.0 ! /:0/(7)
先の例とほとんど同じですが、書式8Xで最初の8文字を読み飛ばすことと、 /: /(7)で7桁目と8桁目が': "である行のみを読みだすことを指定しています。行 の先頭のパターンを比較する場合は(1)を省略できます。行の中のどこにでも 現われていいときは(*)、そのパターンが含まれない行を読みたいときは-/文 字列/で表します。
ベクトルに関する演算も用意されています。VECTOR/OPERATIONSの下のコマ ンドなのですがユニークに決まるコマンド名なので次の例のように使えます。 ベクトルの演算はそれぞれの等しい位置の要素同士の演算です。
PAW > VBIAS A 10.0 B * B = 10.0 + A PAW > VSCALE A 3.0 B * B = 3.0 + A PAW > VADD A B C * C = A + B PAW > VMULTIPLY A B C * C = A * B PAW > VSUBTRACT A B C * C = A - B PAW > VDIVIDE A B C * C = A / B