【问题标题】:The use of "@#" in dynare/Matlabdynare/Matlab中“@#”的使用
【发布时间】:2013-08-06 23:48:39
【问题描述】:

我正在尝试在 dynare(Matlab 的软件包)中处理 DSGE 模型中的零下限。我在 ZLB 找到了一篇开发随机模拟算法的论文,我找到了一些作者的代码,但我无法解释部分代码。我到处寻找答案。代码是这样的:

@#define TShadow = 30   
@#define TIRF = 15    
@#define TSimul = 300   
@#define TDrop = 100    

@#if TShadow > TIRF
    @#define TInitIRF = TShadow
@#else
    @#define TInitIRF = TIRF
@#endif

var pi, y, i, shock_pi, shock_nu, shock_i;
varexo epsilon_pi, epsilon_nu, epsilon_i;

@# 的用法是如此神秘,我找不到它的单一用法。我已经运行了代码并且它可以工作。

【问题讨论】:

    标签: matlab economics


    【解决方案1】:

    这与Macro-processing language 语法有关。此链接讨论表达式、指令、典型用法,并比较 MATLAB/Octave 循环与宏处理器循环。在pdf 中查看有关 Dynare 宏处理器语法和典型用法的更多信息。

    【讨论】:

      【解决方案2】:

      您可以使用 Dynare 的 savemacro 命令行选项运行代码,例如

      dynare mymodel.mod savemacro=final_mod_file.txt onlymacro nolinemacro

      这将编写预处理器在将宏语言命令解析为final_mod_file.txt 文件后创建的常规可读Dynare 模型代码。有关命令行选项的更多详细信息,请参阅 Dynare 手册。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-30
        • 1970-01-01
        • 2021-07-04
        • 1970-01-01
        • 2014-09-04
        • 1970-01-01
        • 2012-03-18
        • 1970-01-01
        相关资源
        最近更新 更多