Can I create a sequential variable to store output from each iteration of a loop?

I would like to assign a value to a variable in each iteration of a loop in my program. However, there could be quite a few iterations and I would like to automate the naming of this iteration variable. How can I do this?

2 Answers



0



accepted

You can use the varput function to create a GAUSS variable with a name from a string. Let's assume that we would like to create the variables iteration_1, iteration_2, iteration_3, etc and fill each of these variables with random uniform numbers. We can accomplish that like this:

nvars = 5;
nobs = 10;
varname = "iteration_";

for i(1, nvars, 1);
   tmp = rndu(nobs, 1);
   varput(tmp, varname$+ftos(i, "%*.*lf", 0, 0) );
endfor;

In this code, the function ftos converts the number of the loop counter i to a string. The $+ operator combines "iteration_" string and the number from the loop counter into one string. Then varput assigns the value from tmp to a new variable (iteration_1, iteration_2, etc)

aptech

1,773


0



check

Your Answer

2 Answers

0
accepted

You can use the varput function to create a GAUSS variable with a name from a string. Let's assume that we would like to create the variables iteration_1, iteration_2, iteration_3, etc and fill each of these variables with random uniform numbers. We can accomplish that like this:

nvars = 5;
nobs = 10;
varname = "iteration_";

for i(1, nvars, 1);
   tmp = rndu(nobs, 1);
   varput(tmp, varname$+ftos(i, "%*.*lf", 0, 0) );
endfor;

In this code, the function ftos converts the number of the loop counter i to a string. The $+ operator combines "iteration_" string and the number from the loop counter into one string. Then varput assigns the value from tmp to a new variable (iteration_1, iteration_2, etc)

0

You must login to post answers.

Have a Specific Question?

Get a real answer from a real person

Need Support?

Get help from our friendly experts.