Go to the first, previous, next, last section, table of contents.


ベクトル解析(Vector Analysis)

2つのベクトルを加算したら、結果は対応する要素ごとの和のベクトルとなります。

1:  [1, 2, 3]     2:  [1, 2, 3]     1:  [8, 8, 3]
    .             1:  [7, 6, 0]         .
                      .

    [1,2,3]  s 1      [7 6 0]  s 2      +

ベクトル要素はコンマかスペースで区切って入力します。 これは不完全ベクトル項を使って入力している時でも、 代数的入力方式でも同じく使えます。 あとで再利用するとき便利なように、 s 1s 2 でストアしておきましょう。

2つのベクトルを乗算したら、結果は対応する要素ごとの積の合計です。 これはベクトルの内積(dot product) と呼ばれています。

2:  [1, 2, 3]     1:  19
1:  [7, 6, 0]         .
    .

    r 1 r 2           *

2つのベクトルの内積は、それらの「長さ同士の積」×「両者がなす角度のコサイン」 に等しくなります。(ここで、ベクトルは3次元空間の原点 (0,0,0) から 特定の点に向けて引いた矢であると考えます。) A (絶対値)コマンドは、ベクトルの「長さ」を計算するのに使えます。

3:  19            3:  19          1:  0.550782    1:  56.579
2:  [1, 2, 3]     2:  3.741657        .               .
1:  [7, 6, 0]     1:  9.219544
    .                 .

    M-RET             M-2 A          * /             I C

まず先ほどの内積コマンドの引数(2つのベクトル)を呼出します。 次にスタック先頭にある2つのベクトルの絶対値を計算して各ベクトルの長さとします。 先の内積をこの長さの積で割り、角度のコサインを得ました。 逆コサイン関数は、ベクトルがなす角度を約56度と計算しました。

2つのベクトルの外積(cross product) はベクトルであって、 その長さは「長さ同士の積」×「両者がなす角度のサイン」に等しく、 その方向は2つの入力のベクトルのどちらに対しても垂直です。 内積とは異なり、外積は3次元ベクトルに対してのみ定義されています。 先ほど計算した 2つのベクトルがなす角度を、外積を使って再検証しましょう。

2:  [1, 2, 3]  3:  [-18, 21, -8]  1:  [-0.52, 0.61, -0.23]  1:  56.579
1:  [7, 6, 0]  2:  [1, 2, 3]          .                         .
    .          1:  [7, 6, 0]
                   .

    r 1 r 2        V C  s 3  M-RET    M-2 A * /                 A I S

まず、元の 2つのベクトルを呼出し、外積を計算します。 これも後のためにストアしておきます。 その外積ベクトルを、もとの2つのベクトルの長さの積で割ります。 その結果得られたベクトルの長さは、角度のサインになるはずで、 確かにそうなっていますね。

ベクトル関係のコマンド群は、一般に v プリフィックス・キーで始まります。 2番目のキーは大文字の場合と小文字の場合があります。 これらのコマンドを打つときの便利のために、 shift-V プリフィックス・キーは v プリフィックス・キーと同様に 働くようにしてあります。(全てのプリフィックス・キーにこの性質を持たせる方法は 一般モードコマンド群 参照 .)

互いに垂直な2つのベクトルの内積を取ると、 コサイン90°がゼロなので結果もゼロになるはずです。 外積ベクトルが、元の2つのベクトルに対して本当に垂直か確かめてみましょう。

2:  [1, 2, 3]      1:  0          2:  [7, 6, 0]      1:  0
1:  [-18, 21, -8]      .          1:  [-18, 21, -8]      .
    .                                 .

    r 1 r 3            *          DEL r 2 r 3            *

(*) 練習問題 1. スタック top に1つのベクトルが 与えられているとき、そのベクトルを正規化するには (つまりその方向を変えずに長さを1にするためには) どのようなキーストロークを使えば良いでしょうか ? ベクトル 練習問題 1 解答「ベクトルの正規化」 参照 . (*)

(*) 練習問題 2. ある粒子が1次元座標上のいくつかの位置に 存在しうると想定してください。ここにその座標群と対応する座標での粒子存在確率が ベクトル形式のリストで与えられたとします。その粒子の平均の位置座標を出しなさい。 ベクトル 練習問題 2 解答「重心」 参照 . (*)


Go to the first, previous, next, last section, table of contents.     利用度数