LibreOffice / Apache OpenOffice Math 数式例『行列』 | 所長日記・改

LibreOffice / Apache OpenOffice Math 数式例『行列』

おはよう同志諸君。

 

 

 

さて。

 

今日も諸処省略して数式記述例。

 

LibreOffice / Apache OpenOffice Math 数式例『行列』

 

 

現行高校数学ではなくなってしまっている行列だが、

 

プログラムには必須ということで各業界からの強い要望があるらしく、

 

復活するかもしれない ―― らしい。

 

プログラムのみならず、現場でも多軸ロボットを使うのにも必要だしね。

 

まあ、知らなくても使えるだろうけど。

 

というわけで、

 

[記述例](※配置:中央)

left( stack{ u # v # w } right) = left( matrix{ 1 # 0 # 0 ## 0 # cos%theta # -sin%theta ## 0 # sin%theta # con%theta } right) left(matrix{ x ## y ## z} right)

 

 

 

さて。

 

ちょっと解説。

 

実は私は記述例として上に書いたようには記述しない。

 

だって醜いし見にくいから。

 

Mathでは、コマンド内における改行は数式の改行とはならないので、

 

left( stack{ u # v # w } right) 

= left(

matrix{ 

1 # 0 # 0 

##

0 # cos%theta # -sin%theta 

## 

0 # sin%theta # cos%theta

}

right) 

left(matrix{ x ## y ## z} right)

 

程度に改行して見やすさを演出する。

 

勿論、ソースコードを書ける人からすれば当たり前の嗜みではあるが・・・。

 

少なくとも、行列が入る数式入力の場合は行列の成分に合わせておくと間違いも見つけやすいだろう。

 

あともう一つ。

 

下の赤文字の部分

 

 

left( stack{ u # v # w } right) 

= left(

matrix{ 

1 # 0 # 0 

##

0 # cos%theta # -sin%theta 

## 

0 # sin%theta # cos%theta

}

right) 

left( matrix{ x ## y ## z }  right)

 

u v w と x y z が縦に3つ配置されている記述だが、

 

記述例の通りに、stackコマンドでもmatrixコマンドでも記述できる。

 

※復習

 

但し、気を付けなければならないのは

 

stackコマンド:改行は#

matrixコマンド:改行は##

 

であるということだ。

 

間違えないように。


記述ミスを防ぐ為、及び記述を統一することによる時間短縮の為、「改行は##」と癖を付けたいのであれば

 

常にmatrixコマンドを使うのが良いだろう。

 

尤も、Mathの良いところは数式を確認しながら記述を書けるところにあるので

 

記述ミスはすぐに分かるんだけど。

 

因みに嘗ての私はmatrixコマンドで統一して記述していたが、

 

今ではその時の気分で記述を変えている。

 

・・・まあ15年くらい使っているしね。

 

ただの「慣れの慣れの結果」です。

 

 

 

では。