MATLAB,Python,Scilab,Julia比較 その33【行列演算⑯】

MATLAB,Python,Scilab,Julia比較 その33【行列演算⑯】 数値計算
MATLAB,Python,Scilab,Julia比較 その33【行列演算⑯】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia-backnumber/

はじめに

前回はPython(Numpy)に於ける行列演算について。
内積は「@」、
「*」だとアダマール積になるのが注意点になる。

今回はScilabについて

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

Scilabの場合

太郎くん
太郎くん

今回はScilabだね。

フクさん
フクさん

Scilabも、まだこのレベルだとMATLABと一緒だな。

太郎くん
太郎くん

じゃ、一気に確認してしまおう。

//足し算
-->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'
 ans  =
    1.    3.  
    2.    4.  

//反転
//一次元目(縦方向)に対して反転。
-->flipdim(A,1)
 ans  =
    3.    4.  
    1.    2. 

--> A($:-1:1,:)
 ans  =
    3.   4.
    1.   2.

//ニ次元目(横方向)に対して反転。
 -->flipdim(A,2)
 ans  =
    2.    1.  
    4.    3. 

--> A(:,$:-1:1)
 ans  =
    2.   1.
    4.   3.

パッと見の感想

太郎くん
太郎くん

大体MATLABと一緒ではあるけど、
反転のところがMATLABの書き方と違うね?

フクさん
フクさん

MATLABの場合は、要素終端をendで表現していたが、
Scilabの場合「$」になるな。
まぁ単純に置き換わると思ってもよいだろう。

太郎くん
太郎くん

それ以外は一緒だから、MATLABがない場合に使う分には十分使えそうだ。

まとめ

フクさん
フクさん

まとめだよ。

  • Scilabで基本的な行列演算実施。
  • 基本的にはMATLABと同一。
    • ただし、要素終端がendではなく「$」である点に注意が必要。

バックナンバーはこちら。

コメント

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