next up previous contents index
Next: 複数行に渡る式(コマンドラインのみ) Up: コマンドと便利な機能 Previous: 終了

     
クラス変換

型の異なるデータの演算においては,自動型変換が行なわれるが, いくつかの演算は,明示的な型変換を必要とする。例えば,

  A = ([1 2 3] * [4 5 6]') * [[1 2][3 4]];


で,([1 2 3] * [4 5 6]')1$\times$1の実行列 であるので,次の行列との乗算はエラーとなる。1$\times$1 の実行列から(1,1)成分を取り出すには式を ブラケット [] で囲み変数行列と同様に扱えるようにする 15.5.3。すなわち

  A = [[1 2 3] * [4 5 6]'](1) * [[1 2][3 4]];


のように変更する。

  A = [[1 2][3 4]];  B = [[5 6][7 8]];
  C = A .* B;
  D = Array(A) * Array(B);


  の結果CDは一致する。

  A = [[1 2][3 4]];
  for (i = 1; i <= 10; i++) {
    print A * i >> "A-" + String(i) + ".mat";
  }


  で,関数String()は,整数を文字列に変換する。

クラス変換関数を用いてクラスを変換することができる。 クラス名とそのクラスへの変換関数の名前は一致している。 以下にクラス変換関数の一覧を示す。

 

s = String(整数)         整数の文字列化
s = String(実数)         実数の文字列化
s = String(複素数)       複素数の文字列化
s = String(多項式)       多項式の文字列化

 

i1 = Integer(文字列)     整数の文字列表現の整数化
i1 = Integer(実数)       実数に一番近い整数

 

r1 = Real(文字列)        実数の文字列表現の実数化
r1 = Real(複素数)        複素数の実部

 

c1 = Complex(実数)       実数が実部で,虚部が零の複素数

 

P1 = Polynomial(実数)    定数項が実数の実多項式
CP1 = Polynomial(複素数) 定数項が複素数の複素多項式
P1 = Polynomial(実行列)  行列の成分を昇べきの順に係数に持つ多項式,
                         次数はベクトルの次数-1

 

CP1 = CoPolynomial(実多項式) 引数を実部とする複素多項式

 

R1 = Rational(実数 r)    分子がPolynomial(r1),分母が1
CR1 = Rational(複素数 c) 分子がPolynomial(c1),分母が1
R1 = Rational(実多項式)  分子が実多項式,分母が1
R1 = Rational(実行列 M1) 分子がPolynomial(M1),分母が1

 

CR1 = CoRational(実有理関数) 引数を実部とする複素有理関数

 

M1 = Matrix(配列)        配列と同じ成分を持つ行列
M1 = Matrix(多項式)      多項式の係数を昇べきの順に並べた横ベクトル
M1 = Matrix(実数 r)      (1,1)成分がrの1x1実行列
CM1 = Matrix(複素数 c)   (1,1)成分がcの1x1複素行列

     

CM1 = CoMatrix(実行列|配列)     引数を実部とする複素行列
PM1 = PoMatrix(実行列|配列)     引数を定数項とする多項式行列
CPM1 = PoMatrix(複素行列|配列)  引数を定数項とする複素多項式行列
RM1 = RaMatrix(実行列|配列)     引数を分子の定数項とする
                                有理関数行列
CRM1 = RaMatrix(複素行列|配列)  引数を分子の定数項とする
                                複素有理関数行列
RM1 = RaMatrix(多項式行列|配列) 引数を分子とする有理関数行列

 

A1 = Array(行列)         行列と同じ成分を持つ配列
A1 = Array(多項式)       多項式の係数を昇べきの順に並べた配列
A1 = Array(実数 r)       (1,1)成分がrの1x1実配列
CA1 = Array(複素数 c)    (1,1)成分がcの1x1複素配列

     

CM1 = CoArray(実配列|行列)     引数を実部とする複素配列
PM1 = PoArray(実配列|行列)     引数を定数項とする多項式配列
CPM1 = PoArray(複素配列|行列)  引数を定数項とする複素多項式配列
RM1 = RaArray(実配列|行列)     引数を分子の定数項とする
                               有理関数配列
CRM1 = RaArray(複素配列|行列)  引数を分子の定数項とする
                               複素有理関数配列
RM1 = RaArray(多項式配列|行列) 引数を分子とする有理関数配列

 

I1 = Index(行列)         整数に近似した成分を持つ指数
I1 = Index(配列)         整数に近似した成分を持つ指数
I1 = Index(整数 i)       第1成分がiの指数
I1 = Index(実数 r)       第1成分がrを近似した整数である指数


Masanobu KOGA 平成10年8月19日