«ひとつ前へ

四則演算・べき乗

-->1+2  ← キーボード入力(1+2の直後にEnter)

  ans  =
    3.  ← Scilabが出した答え

-->     ← 次の入力待ち

ベクトル・行列

-->v=[1,2,3]            //横ベクトル

 v  =
    1.    2.    3.

-->x=[1;2;3]            //縦ベクトル

 x  =
    1.
    2.
    3.

-->x(2)          //ベクトルの第2成分

 ans  =
    2.

-->A=[-1,2,3; 4,5,6; 7,8,9]  //行列

 A  =
  - 1.    2.    3.
    4.    5.    6.
    7.    8.    9.

-->A(2,1)         //行列の2行1列成分

 ans  =
    4.

-->A(2,:)         //2行目の行ベクトル

 ans  =
    4.    5.    6.

-->A(:,1)         //1列目の列ベクトル

 ans  =
  - 1.
    4.
    7.

-->A'                   //行列の転置

 ans  =
  - 1.    4.    7.
    2.    5.    8.
    3.    6.    9.

-->B=diag([1,2,-3])     //対角行列

 B  =
    1.    0.    0.
    0.    2.    0.
    0.    0.  - 3.

行列とベクトルの積

-->v=[1,2,3]            //横ベクトル

 v  =
    1.    2.    3.

-->x=[1;2;3]            //縦ベクトル

 x  =
    1.
    2.
    3.

-->x(2)          //ベクトルの第2成分

 ans  =
    2.

-->A=[-1,2,3; 4,5,6; 7,8,9]  //行列

 A  =
  - 1.    2.    3.
    4.    5.    6.
    7.    8.    9.

-->A(2,1)         //行列の2行1列成分

 ans  =
    4.

-->A(2,:)         //2行目の行ベクトル

 ans  =
    4.    5.    6.

-->A(:,1)         //1列目の列ベクトル

 ans  =
  - 1.
    4.
    7.

-->A'                   //行列の転置

 ans  =
  - 1.    4.    7.
    2.    5.    8.
    3.    6.    9.

-->B=diag([1,2,-3])     //対角行列

 B  =
    1.    0.    0.
    0.    2.    0.
    0.    0.  - 3.

複素数・ n 次方程式

-->%i         //虚数単位

 %i  =
     i   

-->s=3+4*%i   //複素数

 s  =
    3. + 4.i

-->real(s)    //実部

 ans  =
    3.

-->imag(s)    //虚部

 ans  =
    4.

-->abs(s)     //絶対値

 ans  =
    5.

-->atan(imag(s),real(s)) //偏角 = arctan(虚部,実部)

 ans  =
    0.9272952
                              2
-->roots([1,2,5])     //2次方程式 s + 2s + 5 = 0 の根

 ans  =
  - 1. + 2.i
  - 1. - 2.i
                                  3    2
-->roots([1,2,5,7])   //3次方程式 s + 2s + 5s + 7 = 0 の根

 ans  =
  - 0.1980924 + 2.0797481i
  - 0.1980924 - 2.0797481i
  - 1.6038152
固有値・固有ベクトル
-->inv(A)                     //逆行列

 ans  =
  - 0.5    1.         - 0.5       
    1.   - 5.           3.        
  - 0.5    3.6666667  - 2.1666667

-->spec(A)                     //行列の固有値のみ

 ans  =
    15.914193
  - 2.7785    
  - 0.1356926

-->[T,ss]=spec(A)              //固有値・固有ベクトル

 ss  =
    15.914193    0         0         
    0          - 2.7785    0         
    0            0       - 0.1356926

 T  =
  - 0.2084548  - 0.8843559    0.1585656
  - 0.5287250    0.1036839  - 0.7998300
  - 0.8227979    0.4551530    0.5789032  

-->y = poly(A,"s")  //Aの固有多項式

 y  =
                 2   3
  - 6 - 46s - 13s + s  

-->roots(y)         //固有方程式 y=0 の根

 ans  =
    15.914193       //spec(A)で求めた固有値と一致する
  - 2.7785    
  - 0.1356926

ユーザー関数の定義

-->function y=angle(s) //1変数関数の定義
-->y=atan(imag(s),real(s)); //偏角 = arctan(虚部,実部)// ; を忘れるな!
-->endfunction         //←ここまで

-->angle(3+4*%i)       //偏角.5.3.4節の計算と一致

 ans  =
    0.9272952

-->function y=g(m,c,k)  //3変数関数
-->y=roots([m,c,k]);
-->endfunction          //←ここまで

-->g(1,0.2,2)

 ans  =
  - 0.1 + 1.4106736i
  - 0.1 - 1.4106736i

関数のグラフ

-->tt=linspace(0,2,5)'  //0〜2を5分割した等差数列ベクトルの転置

 tt  =
    0.  
    0.5
    1.  
    1.5
    2.  

-->yy = sin(tt) //[sin(0),sin(0.5),sin(1.5),sin(1),sin(2)]' の意味になる

 yy  =
    0.        
    0.4794255
    0.8414710
    0.9974950
    0.9092974

-->clf();             //グラフのリセット

-->plot(tt,yy)        //2次元プロット

»次へ