Next: 自動微分型tlist Up: Scilab上に区間オブジェクトを実装する Previous: 区間型tlist

 

任意のtlistを成分として持てる行列型tlist

さて、Scilabでは行列型が予め組み込まれており、成分が倍精度浮動小数点数の 行列演算を高速に実行できる。しかし、成分が任意のオブジェクトとなる 行列型は定義されていないので、これをtlistとして実装しておくと便利である。 そこで、著者は任意オブジェクトを要素にもてるtlistとして
   tlist(['mat','dim'],[m,n],x1,x2,...,xn)
の形のmat型を定義している。

最初はmat型を確保する関数を定義しよう。

   function x=mat(m,n)
      s='tlist(["'mat'","'dim'"],[m,n]';
      d=m*n;
      for i=1:d, s=s+',0', end;
      s=s+')';
      x=evstr(s);
   endfunction
x=mat(m,n)とすると、要素がすべて0に初期化された $m \times n$行列 が確保される。evstr(s)は文字列sを実行する命令で、インタプリタに特有の 命令である。



s oishi
2000-05-04