« 座標の回転と行列演算 (2/2) | トップページ | 度分秒・時分秒と度との変換(2) »

2013年5月21日 (火)

Excelの行列演算の関数を使う

天文計算でよく出てくる座標の回転は行列と位置ベクトルの積として表すことができます。

もちろん行列演算(マトリックス計算)の定義にしたがって計算式を書いてもいいのですが、Excelには行列演算のための関数が用意されていますのでそれを使う手もあります。

サンプル
池袋駅南口の天文計算

z軸を中心とした角度θの回転を考えます。

これに対する回転の行列(A)があり、これを位置ベクトル(方向余弦)Pに掛けることによって回転後の位置ベクトルP'を求めることができます。

上のExcelのシートで計算式がどう設定してあるかというと....
池袋駅南口の天文計算

D9:D11のセルにある

  =MMULT($I$2:$K$4,C9:C11)

がベクトルP(C9:C11)に回転の行列(A)($I$2:$K$4)を掛けているところです。

自分で計算式をいちいち書き込んでいくよりずっと簡単ですがちょっとしたコツみたいなものがあります。

  まずD9:D11の三つのセルを選択した上でこの式を設定します。

  そして式を書き終わったら“Ctrl+Shift+Enter”で確定します。

ところでこの関数MMULT(A,B)を使う場合行列演算の規則が適用されます。

例えばAがL行M列の行列であればBはM行N列でなければなりません。そして結果はL行N列になります。

上の例ではAが3行3列、Bが3行1列ですからOKで結果は3行1列になります。

------

ところでC3のセルはC2の度の表示をラジアンの表示に変換したものです。
ですから

  =RADIANS(C2)

でいいんですが、こういう関数を使うとラジアンの定義を知らないみたいで恥ずかしいので

  =PI()*C2/180

としています (^^)

« 座標の回転と行列演算 (2/2) | トップページ | 度分秒・時分秒と度との変換(2) »

編集用」カテゴリの記事

コメント

この記事へのコメントは終了しました。

フォト

サイト内検索

  • 記事を探されるんでしたらこれがいちばん早くて確実です。私も使ってます (^^;; 検索窓が表示されるのにちょっと時間がかかるのはどうにかしてほしいです。

新着記事

リンク元別アクセス数

  • (アクセス元≒リンク元、原則PCのみ・ドメイン別、サイト内等除く)

人気記事ランキング

  • (原則PCのみ、直近2週間)
無料ブログはココログ