验证模型正确性
-
运算求解唯一:出现 "optimal solution"
唯一解 - 方程数=变量数
这里有7个变量被设置为固定外生,所以实际内生变量是107个 - 模型一致性检验:1)模型求解值与处置室相等。2)WALRAS.l=0 。
- 模型齐次性检验:基准价格变化n倍,所有价格变化n倍,数量不变。(一般是新古典主义闭合符合货币中性)
循环语句
//执行10次循环,taum(i)每次减少1%
Set t /1*10/;
Loop(t,taum(i)=0.1-0.1*ord(t)/card(t); //ord(t)表示索引t在集合中的序号,card(t)表示集合中元素的个数
Solve stdcge maximizing UU using nlp;
);
excel数据导入到gam
参考博客
#注意文件名如果加路径,必须是project所在目录
$CALL GDXXRW.EXE 文件名.xls output=文件名.gdx input=文件名.xlsx par=参数名 rng=excel导入范围(例如:a1:d3)
parameter 参数名(i,j);
$GDXIN 文件名.gdx
$LOAD 参数名
$GDXIN
gams数据导出到excel
execute_unload '文件名.gdx' 变量名;
execute 'gdxxrw.exe 文件名.gdx o=文件名.xlsx var=变量名 rng=a1'
幂次方运算,底数不能为非正数
#当x<=0时,报错:rPower:FUNC DOMAIN:x**y,x<0
#意思是x<=0时,GAMS对x的y次方的定义是UNDF
x**y
#可以用power指令代替
power(x,y)
不为0的条件
QQFOC(c)$sam('row',c)..
PD(c)/PM(c)=e=(deltaQq(c)/(1-deltaQq(c)))*(QM(c)/QD(c))**(1-rhoQq(c));
PQPDCNoImportfn(c)$(sam('row',c)=0)..
PQ(c)=e=PD(c);
常见错误:
Set is under control already:
一般是在sum中使用了同一个变量,比如sax(a,c)=sam(a,c)/sum(a,sam(a,c)) 将sum中的a改为ap即可
Uncontrolled set entered as constant
网友评论