How would I recode this MatLab code into Gauss? I am interested in coding for the nested IF statements.

MatLab:

for i=1:5000 for t=4:15 %The fourth month here is the first of the 12 months if IOFC(i,t-3) <=6 if IOFC(i,t-2) <=6 phi(i,t)=1; else phi(i,t)=0; end elseif IOFC(i,t-2)<=4 phi(i,t)=1; else phi(i,t)=0; end end end

## 1 Answer

0

I am assuming that the IOFC references in the Matlab code are indexing into matrices. If they are actually function calls, replace "IOFC[i, t-3]" with "IOFC(i, t-3)".

for i(1, 5000, 1); for t(4, 15, 1); if IOFC[i, t-3] ≤ 6; if IOFC[i, t-2] ≤ 6; phi[i, t] = 1; else; phi[i, t] = 0; endif; elseif IOFC[i, t-2] ≤ 4; phi[i, t] = 1; else; phi[i, t] = 0; endif; endfor; endfor;

The main differences are that in GAUSS, `if` statements end with `endif` and `for` statements are ended with `endfor`. Also, `for` loops have the syntax:

for counter(start, stop, increment);

compared to:

for counter=start:end

## Your Answer

## 1 Answer

I am assuming that the IOFC references in the Matlab code are indexing into matrices. If they are actually function calls, replace "IOFC[i, t-3]" with "IOFC(i, t-3)".

for i(1, 5000, 1); for t(4, 15, 1); if IOFC[i, t-3] ≤ 6; if IOFC[i, t-2] ≤ 6; phi[i, t] = 1; else; phi[i, t] = 0; endif; elseif IOFC[i, t-2] ≤ 4; phi[i, t] = 1; else; phi[i, t] = 0; endif; endfor; endfor;

The main differences are that in GAUSS, `if` statements end with `endif` and `for` statements are ended with `endfor`. Also, `for` loops have the syntax:

for counter(start, stop, increment);

compared to:

for counter=start:end