help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Syntax Problem?


From: Doug Stewart
Subject: Re: Syntax Problem?
Date: Wed, 14 Feb 2007 09:22:06 -0500
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

you are missing a ]   in the previous lines



address@hidden wrote:

Dear Users,

When running the program below, I got the following syntax error:

parse error near line 49 of file C:\Arquivos de programas\Octave\share\octave\2.9.9+\m\MyFiles\prog.m
syntax error
>>>               for j = 1:lagdep;
                     ^
error: near line 49 of file `C:\Arquivos de programas\Octave\share\octave\2.9.9+\m\MyFiles\prog.m'

But looking at the code, appears that this is not the case.

Any help?

Best, Rick.

Code:

clear;
#a=xlsread('sabes_oct.txt');
a=randn(150,50);

t=size(a,1);
p=a(:,1);       #(target)
aa=a(:,2:5);    # resto (regressors)
yy=p;
tt=size(yy,1);

lagdepmin=0;

lagmod1min=0;
lagmod2min=0;
lagmod3min=0;

lagdepmax=3;   # lags dependent variable tried
lagmod1max=3;  # lags model tried
lagmod2max=3;
lagmod3max=3;

lagmax=max([lagdepmax lagmod1max lagmod2max lagmod3max]);
for ahfor = 1:1;
    ahmod=1;     # number of periods ahead of model
    pseudo=12;   # number of out-of-sample points
    ychosen=yy(:,1);
    for lagdep=lagdepmin:lagdepmax;
      for lagmod1=lagmod1min:lagmod1max;
        for lagmod2=lagmod2min:lagmod2max;
          for lagmod3=lagmod3min:lagmod3max;
            for i=1:pseudo;
              # prepare model
              aaux=aa(1:tt-i-(ahfor-1),:);
              aaux=aaux-(ones(size(aaux,1),1)*mean(aaux));
              aaux=aaux./(ones(size(aaux,1),1)*std(aaux));
              baux=aaux'*aaux;
              [vetoraux,valoraux]=eig(baux);
              valoraux=diag(valoraux);
              xx1=aaux*vetoraux(:,size(vetoraux,2));
              xx2=aaux*vetoraux(:,size(vetoraux,2)-1);
              xx3=aaux*vetoraux(:,size(vetoraux,2)-2);
              # prepare variables
              yreal=yy(2+lagmax+(ahfor-1)+(ahmod-1):tt+1-i,1);
yaux=[yy(1+lagmax+(ahmod-1):tt-i-(ahfor-1),1) xx1(1+lagmax+...
              (ahmod-1):tt-i-(ahfor-1),1) xx2(1+lagmax+(ahmod-1):tt-i-...
              (ahfor-1),1) xx3(1+lagmax+(ahmod-1):tt-i-(ahfor-1),1);
              xaux=ones(tt-i-(ahfor-1)-(ahmod-1)-(1+lagmax)+1,1);
              taux=size(yaux,1);
              for j = 1:lagdep;
                xaux=[xaux yy(1+lagmax-j:tt-i-(ahfor-1)-(ahmod-1)-j,1)];
              endfor;
              for k1=1:lagmod1;
xaux=[xaux xx1(1+lagmax-k1:tt-i-(ahfor-1)-(ahmod-1)-k1,1)];
              endfor;
              for k2=1:lagmod2;
xaux=[xaux xx2(1+lagmax-k2:tt-i-(ahfor-1)-(ahmod-1)-k2,1)];
              endfor;
              for k3=1:lagmod3;
xaux=[xaux xx3(1+lagmax-k3:tt-i-(ahfor-1)-(ahmod-1)-k3,1)];
              endfor;
              beta=inv(xaux'*xaux)*xaux'*yaux;
              % forecast
              for m=1:ahfor;
                aux=1;
                for j=1:lagdep;
                  aux=[aux yaux(taux-(ahmod-1)+m-j,1)];
                endfor;
                for k1=1:lagmod1;
                  aux=[aux yaux(taux-(ahmod-1)+m-k1,2)];
                endfor;
                for k2=1:lagmod2;
                  aux=[aux yaux(taux-(ahmod-1)+m-k2,3)];
                endfor;
                for k3=1:lagmod3;
                  aux=[aux yaux(taux-(ahmod-1)+m-k3,4)];
                endfor;
                xaux=[xaux;aux];
                yaux=[yaux;xaux(taux+m,:)*beta];
              endfor;
              err(i)=yreal(taux)-yaux(taux+ahfor,1);
if [lagdep lagmod1 lagmod2 lagmod3 lagmod4 lagmod5 lagmod6]==...
                [lagdepcho lagmod1cho lagmod2cho lagmod3cho lagmod4cho...
                lagmod5cho lagmod6cho];
                ychosen(tt-i+1,1)=yaux(taux+ahfor,1);
              end;
            endfor;
sumerr(1+lagdep,1+lagmod1,1+lagmod2,1+lagmod3,1+lagmod4,1+lagmod5,...
            1+lagmod6)=((err*err')/pseudo)^(1/2)*100;
          endfor;
        endfor;
      endfor;
    endfor;
  endfor;
________________________________________
------------------------------------------------------------------------

_______________________________________________
Help-octave mailing list
address@hidden
https://www.cae.wisc.edu/mailman/listinfo/help-octave



reply via email to

[Prev in Thread] Current Thread [Next in Thread]