Scilab armaライブラリ
Armax は,Scilab tlist型'ar'
を有するデータを処理します.
armac
が,
Armax
Scilabオブジェクトを構築する際に使用されます.
'ar'
tlist には,フィールド
['a','b','d','ny','nu','sig']
が含まれます.
この間巣は,ArmaxプロセスA(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)
を符号化するScilab tlistを作成します.
-->ar=armac([1,2],[3,4],1,1,1,sig); -->ar('a') ans = ! 1. 2. ! -->ar('sig') ans = 1. | ![]() | ![]() |
ar
に関するarmax方程式を表示します.
ar
に関するarmax方程式を多項式行列表示で表示します.
ar表現から多項式行列を展開します.
n次元ARXプロセスA(z^-1)y= B(z^-1)u + sig*e(t)
の係数を
同定するために使用されます.
armax1 は,1次元 ARX プロセスA(z^-1)y= B(z^-1)u + D(z^-1)sig*e(t)
の係数を同定するために使用されます.
armax 軌道シミュレーション.
armax シミュレーション (rtitrを使用)
ode および arsimulの簡単なテスト. ODEの 'discret' オプションを試します.
擬似乱数バイナリ列を生成
線形回帰
// Example extracted from the demo arma3.dem.sce in the cacsd module // Spectral power estimation // ( form Sawaragi et all) m = 18; a = [1,-1.3136,1.4401,-1.0919,+0.83527]; b = [0.0,0.13137,0.023543,0.10775,0.03516]; u = rand(1,1000,'n'); z = arsimul(a,b,[0],0,u); //----Using macro mese [sm,fr]=mese(z,m); //----The theorical result function gx=gxx(z, a, b) w = exp(-%i*2*%pi*z*(0:4))' gx = abs(b*w)^2/(abs(a*w)^2); endfunction res=[]; for x=fr res=[ res, gxx(x,a,b)]; end //----using armax estimation of order (4,4) // it's a bit tricky because we are not supposed to know the order [arc,la,lb,sig,resid]=armax(4,4,z,u); res1=[]; for x=fr res1=[ res1, gxx(x,la(1),lb(1))]; end //-- visualization of the results plot2d([fr;fr;fr]',[20*log10(sm/sm(1));20*log10(res/res(1));20*log10(res1/res1(1))]',[2,1,-1]) legend(["Using macro mese";"Theoretical value";"Arma identification"]) xtitle("Spectral power","frequency","spectral estimate") | ![]() | ![]() |