Gnuplot: возможно ли хранить переменные в массиве, используя for-l oop? - PullRequest
0 голосов
/ 25 марта 2020

Давайте предположим, что мы получили следующие переменные:

var1 = 2
var2 = 8
var3 = 24

Я хочу сделать следующее, также как al oop:

array A[3]
A[1] = var1
A[2] = var2
A[3] = var3

, что я пытался, но не работал :

array A[3]
do for [i=1:3] {
A[i] = var[i]
}

Я хотел добавить индекс с i к variable, чтобы он был A[1] = var1 et c. Он говорит, что переменная var будет неопределенной. Круглые скобки типа var(i) тоже не работают.

Есть ли вообще возможность сделать это? Любые советы приветствуются.

1 Ответ

1 голос
/ 25 марта 2020

Попробуй это. Проверьте help evaluate. Может быть, есть лучшие способы.

Код:

### assign variables to array
reset session

var1 = 2
var2 = 8
var3 = 24

array A[3]

do for [i=1:3] {
    eval(sprintf("A[%d] = var%d",i,i))
}

print A
### end of code

Результат:

[2,8,24]
...