【入門】Scilabの行列演算【数値計算】

scilab

はじめに

※ 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比較ページはこちら。

コメント

タイトルとURLをコピーしました