2016-09-06 3 views
0

У меня есть математическая модель, и я хочу запустить ее 10 раз автоматически с различными наборами данных, которые генерируются случайным образом (когда первая модель останавливается, автоматически запускает другую модель). для этого я написал оператор решения в цикле. Я хочу увидеть результат этих 10 моделей в разных листах файла excel. как мне это сделать? можно ли исправить мой код?экспортировать данные из gams в excel

комплект k/лист1 * лист10 /;

петля (к,

поколение данных ....

решить заявление ....

execute_unload 'RESULT.gdx'

Execute «gdxxrw.exe RESULT.gdx o = RESULT.xlsx var = xl rng = 'k.t1: 0'! a1 '

);

Я действительно ценю ваш вид помогает

ответ

0

На самом деле, вы очень близко уже, вам просто нужно использовать «put_utility» вместо «выполнить», чтобы использовать синтаксис «k.tl» (примечание: это является .t л, не .t):

*dummy put file 
file fx; put fx; 

set k/sheet1*sheet10/; 

loop(k, 

solve statement.... 

execute_unload 'RESULT.gdx' 

put_utility 'exec'/'gdxxrw.exe RESULT.gdx o=RESULT.xlsx var=x.l rng='k.tl:0'!a1'; 

); 

Я надеюсь, что помогает! С уважением, Lutz

+0

спасибо большое. это было действительно полезно –