はじめに
※ MATLAB、Python、Scilab、Julia比較ページはこちら。
Scilabに於ける行列演算の備忘録。
ありがたいことに基本的にはMATLABと同一。
処理速度とかSimulinkの兼ね合いが無ければ、Scilabで全部やってもいいかもと思わせられる。
前提
\[A=
\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}
\]
\[B=
\begin{bmatrix}
5 & 6 \\
7 & 8
\end{bmatrix}
\]
-->A=[1 2;3 4]
A =
1. 2.
3. 4.
-->B=[5 6;7 8]
B =
5. 6.
7. 8.
足し算
-->A+B
ans =
6. 8.
10. 12.
引き算
-->A-B
ans =
- 4. - 4.
- 4. - 4.
掛け算(内積)
-->A*B
ans =
19. 22.
43. 50.
アダマール積
-->A.*B
ans =
5. 12.
21. 32.
左除算
‘¥’はバックスラッシュ
-->A\B
ans =
- 3. - 4.
4. 5.
-->inv(A)*B
ans =
- 3. - 4.
4. 5.
右除算
-->A/B
ans =
3. - 2.
2. - 1.
-->A*inv(B)
ans =
3. - 2.
2. - 1.
べき乗
内積ベースとアダマール積べーずのべき乗がある。
内積ベース
-->A^2
ans =
7. 10.
15. 22.
アダマール積ベース
--> A.^2
ans =
1. 4.
9. 16.
転置
-->A'
ans =
1. 3.
2. 4.
反転
一次元目(縦方向)に対して反転。
--> A($:-1:1,:)
ans =
3. 4.
1. 2.
-->flipdim(A,1)
ans =
3. 4.
1. 2.
ニ次元目(横方向)に対して反転。
--> A(:,$:-1:1)
ans =
2. 1.
4. 3.
-->flipdim(A,2)
ans =
2. 1.
4. 3.
まとめ
基本的にはMATLABと同一。
要素数$を利用した反転が出来たりする点はPythonに近いものを感じるが、概念としては別物である。
※ MATLAB、Python、Scilab、Julia比較ページはこちら。
コメント