linefit2_c.cpp itpp/base/itfile.h estim/arx.h int int main () main #include<itpp/base/itfile.h> #include"estim/arx.h" usingnamespaceitpp; intmain(){ it_fileinpf("Data.it"); matData; inpf>>Name("Data")>>Data; if(Data.rows()>2)Data=Data.T(); intilow=0; intihi=40; //------------------Startofroutine--------------------------- intndat=Data.cols(); intnpsi=Data.rows()+1;//addaconstant RVthr("1","{theta_r}",vec_1(npsi),vec_1(0)); matV0=1e-8*eye(npsi);V0(0,0)=1.0; vecrgr(npsi); doublenu0=3; //fittingalinearpart=>thirdcoefis"1" rgr(2)=1.0; //RESULTS matTlls=zeros(ihi+1,ihi+1); //ARmodel ARXAr(thr,V0,nu0); //Initialize for(inti=ilow+2;i<ihi-2;i++){ rgr.set_subvector(0,Data.get_col(i)); Ar.bayes(rgr); } //FLATTEN Ar.get_parameters(V0,nu0); V0*=1.0/nu0;//sameflatteningfactorasfornu0 //V0(0,0)*=1.2; nu0=3; Ar.set_parameters(V0,nu0); for(inti=ilow;i<=ihi;i++){ Ar.set_parameters(V0,nu0); for(intt=i;t<=ihi;t++){ rgr.set_subvector(0,Data.get_col(t)); Ar.bayes(rgr); Tlls(i,t)=Ar._tll(); } } max_index(Tlls,ilow,ihi); //------------------Endofroutine----------------------------- max_index(Tlls,ilow,ihi); inpf<<Name("T")<<Tlls; inpf<<Name("ilow")<<ilow+1; inpf<<Name("ihi")<<ihi+1; }