# arsimul

armaxシミュレーション

## 呼び出し手順

    [z]=arsimul(a,b,d,sig,u,[up,yp,ep])
                [z]=arsimul(ar,u,[up,yp,ep])

## パラメータ

ar

  armaxプロセス. armac参照.

a

  (n,(r+1)*n)次の行列 `[Id,a1,...,a_r]`

b

  (n,(s+1)*m)次の行列 `[b0,......,b_s]`

d

  (n,(t+1)*n)次の行列`[Id,d_1,......,d_t]`

u

  行列(m,N), エントリu(:,j)=u_jを指定

sig

  (n,n)行列 e_{k} で分散Iのn次ガウス過程

up, yp

  前の値を記述するオプションのパラメータ. `up=[ u_0,u_{-1},...,u_{s-1}]`; `yp=[ y_0,y_{-1},...,y_{r-1}];` `ep=[ e_0,e_{-1},...,e_{r-1}]`; 省略された場合, 前の値はゼロであると仮定されます.

z

  `z=[y(1),....,y(N)]`

## 説明

以下のn次元 armax プロセスのシミュレーションを行います, `A(z^-1) z(k)= B(z^-1)u(k) + D(z^-1)*sig*e(k)`

    A(z)= Id+a1*z+...+a_r*z^r;  ( r=0  => A(z)=Id)
    B(z)= b0+b1*z+...+b_s z^s;  ( s=-1 => B(z)=[])
    D(z)= Id+d1*z+...+d_t z^t;  ( t=0  => D(z)=Id)

ただし, z と e は `R^n`, u は `R^m`です.

## 手法

状態空間表現が構築され, odeにオプション "discr"を指定することにより, zを計算することができます.