Scilab Tips #001

数式処理は、商用ソフト買わなくても、これで十分じゃん?と思いました。


Q0. Scilabって何?


A1. オープンソースの数式処理、可視化、シミュレーションツールです。
フランスのINRIA Rocquencourt Research UnitのMetalau research-teamで開発されたそうです。


Scilab Home Page
http://www.scilab.org/


Q1. 固有値固有ベクトルを求めるには?


A1. spec(A)、bdiag(A)を使います。


以下、例


(行列の定義)

    • >a=[1 2 1
    • >2 3 1
    • >1 1 4]

a =

1. 2. 1.
2. 3. 1.
1. 1. 4.


固有値の計算)

    • >spec(a)

ans =

- 0.2635428
2.7556401
5.5079028


(対角化)

    • >bdiag(a)

ans =

- 0.2635428 0. 0.
0. 2.7556401 0.
0. 0. 5.5079028


固有値固有ベクトルを同時表示)

    • >[Va,Ve]=bdiag(a)

Ve =

0.8608900 0.2893960 - 0.4184715
- 0.5017706 0.6190719 - 0.6041327
- 0.0842303 - 0.7300685 - 0.6781632
Va =

- 0.2635428 0. 0.
0. 2.7556401 0.
0. 0. 5.5079028


(行列の転置)

    • >Ve.'

ans =

0.8608900 - 0.5017706 - 0.0842303
0.2893960 0.6190719 - 0.7300685
- 0.4184715 - 0.6041327 - 0.6781632


(行列の複素共役&転置)

    • >Ve'

ans =

0.8608900 - 0.5017706 - 0.0842303
0.2893960 0.6190719 - 0.7300685
- 0.4184715 - 0.6041327 - 0.6781632


(逆行列)

    • >inv(a)

ans =

- 2.75 1.75 0.25
1.75 - 0.75 - 0.25
0.25 - 0.25 0.25


(四則演算)

    • >a+2*inv(a)/2-5

ans =

- 6.75 - 1.25 - 3.75
- 1.25 - 2.75 - 4.25
- 3.75 - 4.25 - 0.75