スポンサード リンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサード リンク
-- : -- : -- | スポンサー広告 | page top↑
スポンサード リンク

Scilab超入門 第2回 行列とベクトルの基本

前回はScilabのインストールと基本的な使い方を紹介しました。

今回はScilabの目玉である、行列とベクトルの基本について説明します。

<前回の記事>

行列

行列の宣言

Scilabでは次のように行列を宣言します。下の例では2×2の正方行列A, Bを宣言しています。

-->A = [ 1 2 ; 3 4 ]
 A  =
 
    1.    2.  
    3.    4.  
 
-->B = [ 5 6 ; 7 8 ]
 B  =
 
    5.    6.  
    7.    8.  

行列の四則演算

Scilabでは行列に対する四則演算があらかじめ定義されているため、行列に対してもスカラー値と同様に"+", "-", "*", "/"の演算子を用いて計算をすることができます。

-->A + B
 ans  =
 
    6.     8.   
    10.    12.  
 
-->A - B
 ans  =
 
  - 4.  - 4.  
  - 4.  - 4.  
 
-->A * B
 ans  =
 
    19.    22.  
    43.    50.  
 
-->A / B
 ans  =
 
    3.  - 2.  
    2.  - 1.  

このうち、割り算に関しては注意が必要です。本来、数学では「行列の割り算」が定義されていません。しかし、Scilabでは便宜上「逆行列のかけ算」を「行列の割り算」として定義しています。つまり、A/BはA*inv(B)と等価です。関数inv( )は次回詳しく紹介しますが、引数にとった行列の逆行列を返す関数です。

行列に対するバックスラッシュ演算子

前回の記事で紹介したように、Scilabではバックスラッシュ演算子が定義されており、A\BはB/Aと等価なのでした。

-->A \ B
 ans  =
 
  - 3.  - 4.  
    4.    5.  

行列の定数倍

-->2 * A            
 ans  =
 
    2.    4.  
    6.    8.   

ベクトル

数学的にベクトルは行列の特別な場合と考えることができるので、Scilabでもベクトルは行列と同じように扱うことができます。

ベクトルの宣言

b1は行ベクトル、b2は列ベクトルです。

-->b1 = [ 1 2 ]
 b1  =
 
    1.    2.  
 
-->b2 = [ 1 ; 2 ]
 b2  =
 
    1.  
    2.  
 

ベクトルの四則演算

ベクトルに対しては加算と減算が定義されています。乗算は行ベクトルと列ベクトルに対して定義されています。

-->v1 = [ 1 2 ]       
 v1  =
 
    1.    2.  
 
-->v2 = [ 3 4 ]
 v2  =
 
    3.    4.  
 
-->v1 + v2
 ans  =
 
    4.    6.  
 
-->v1 - v2
 ans  =
 
  - 2.  - 2.  
 
-->v3 = [ 5 ; 6 ]
 v3  =
 
    5.  
    6.  
 
-->v1 * v3
 ans  =
 
    17.   

ベクトルの定数倍

-->2 * v1
 ans  =
 
    2.    4.  
  
-->2 * v3
 ans  =
 
    10.  
    12.  

行列とベクトルの演算

これまでに述べたように、Scilabでは行列とベクトルを同じように扱うことができるので、行列とベクトルに対する演算をすることもできます。例えば、次の連立方程式はx=A\bと解くことができます。

Ax=b

-->A = [ 1 2 ; 3 4 ]
 A  =
 
    1.    2.  
    3.    4.  

-->b = [ 5 ; 6 ]
 b  =
 
    5.  
    6.  
 
-->x = A\b
 x  =
 
  - 4.   
    4.5  
 

Scilab超入門


スポンサード リンク

テーマ:プログラミング - ジャンル:コンピュータ - ソーシャルブックマーク: この記事をクリップ! Yahoo!ブックマークに登録

22 : 52 : 10 | プログラミング-Scilab | トラックバック(0) | コメント(0) | page top↑
<<Scilab超入門 第3回 行列式/逆行列/固有値/固有ベクトルを求める関数 | ホーム | Scilab超入門 第1回 Scilabのインストールと簡単な使い方>>
コメント

コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://networkprogramming.blog18.fc2.com/tb.php/46-5993b317
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |

プロフィール

TBVector

Author:TBVector

プロフィール

メールフォーム

記事検索

Google

最近の記事

人気の記事

過去の記事

カテゴリー

タグランキング

リンク

最近のコメント

最近のトラックバック

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。