
エクセルには、=MMULT という、行列の積を求める関数が装備されていると申しましたが、一度に直接的に処理できるのは、2行列のみ。3行列を掛けたい場合は、普通はまず最初の2つを掛けて、その結果に左の残った行列を掛けるわけですが、表の組み立てをシンプルにするために、一挙に処理する方法はないか?と、調べたところ、数式を”入れ子”にすればよい事が分かりました。

本例だと、演算式は、
=MMULT(B2:C3,MMULT(E2:F3,H2:I3))
となります。
+2.0Dの薄レンズを0.1m(100mm)間隔でセットした2枚レンズ系のシステムマトリックスを求めるプログラムです。ついでに主点位置も出力できるようにしました。(H1=物側主点;H2=像側主点)
一度組めば、例えば間隔の数値のみ、構成レンズの度数のみを入れ替えても、瞬時に再計算してくれて痛快ですよ。
システムマトリックスの見方ですが、右上が合成度数(D)です。
A D
B C
と置くと、物側主点(H1)=(1-A)/D ; 像側主点(H2)=(C-1)/D となります。
最後になりましたが、重要なことがありました。
組んだ数式の結果を示すには、”Enter” ではダメで、” Ctrl + Shift + Enter” を同時に押します。次回からは、数値を入れ替えるだけで、自動的に再計算してくれます。(些細なことですが、当初、とまどいました。)