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)

## Your Answer

## 2 Answers

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)