next up previous
Next: 4.2 MATLAB とは? Up: 4 MATLAB 入門 Previous: 4 MATLAB 入門

4.1 まずは触ってみましょう

最近の MATLAB は色々なことが出来ますが、 ここは由緒正しく、 そもそも作られた目的である「線形計算」をやってみます。


スタートメニューから MATLAB → MATLAB R2009b を選択して起動します。

図 1: スタートメニューから MATLAB → MATLAB R2009b を選択
\includegraphics[width=10cm]{eps/MATLAB2.eps}

2 のようなウィンドウが現れるはずです。 「コマンドウィンドウ」に色々なコマンドを打って (最後に [Enter]) 使います。

図 2: スタートメニューから MATLAB → MATLAB R2009b を選択
\includegraphics[width=0.95\textwidth]{eps/MATLAB3.eps}

以下のコマンドを1行1行入力してみて下さい。
a=[1,2;3,4] 行列 a の入力
x=[1;-1] ベクトル x の入力
b=a*x ax の積を b に代入する
a\b a$ ^{-1}$b の計算 i.e. a x=b を解く (最初の x になるはず)
ai=inv(a) a の逆行列の計算
ai*a 本当に逆行列?確認
ai*b a の逆行列と b の積 (別の方法で解いた)
eig(a) a の固有値を求める
[p d]=eig(a) 対角化 p$ ^{-1}$   ap を求める (固有値問題を解く)
inv(p)*a*p 本当に d になるか?

>> a=[1,2;3,4]

a =

     1     2
     3     4

>> x=[1;-1]

x =

     1
    -1

>> b=a*x

b =

    -1
    -1

>> a\b

ans =

     1
    -1

>> ai=inv(a)

ai =

   -2.0000    1.0000
    1.5000   -0.5000

>> ai*a

ans =

    1.0000         0
    0.0000    1.0000

>> ai*b

ans =

    1.0000
   -1.0000

>> eig(a)

ans =

   -0.3723
    5.3723

>> [p d]=eig(a)

p =

   -0.8246   -0.4160
    0.5658   -0.9094


d =

   -0.3723         0
         0    5.3723

>> inv(p)*a*p

ans =

   -0.3723    0.0000
         0    5.3723

>>

最後の P$ ^{-1}$A   P の計算は、 丸め誤差の影響で、完全な対角行列にはならない可能性も高いですが、 $ 10^{-16}$ のオーダーの精度で一致するはずです。
表示桁数を変えてもう一度
format long
inv(p)*a*p


next up previous
Next: 4.2 MATLAB とは? Up: 4 MATLAB 入門 Previous: 4 MATLAB 入門
桂田 祐史
2012-07-11