In (1) a piece of matlab code is presented:
There may be better way to formulate this in Matlab. In many languages, including Matlab, R and GAMS loops are considered bad if there are alternatives. To be honest, I don’t see immediately how this particular fragment can be vectorized in Matlab.
The suggested GAMS version is:
I strongly disagree. I believe this can be formulated without loops as:
c(i,j,k)$(ord(k)<=plan(j,i)) = sub(j,i);
Also notice that MATLAB will store this in a fully allocated or dense matrix (unless explicitly using a sparse matrix) while GAMS always stores things in a sparse format.
- Generate Data using for loop in GAMS. https://stackoverflow.com/questions/45167648/generate-data-using-for-loop-in-gams