楼主: michaelbonjour
2080 6

[DSGE讨论专题] matlab代码报错 [推广有奖]

  • 0关注
  • 0粉丝

本科生

11%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0.0132
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
389 点
帖子
32
精华
0
在线时间
99 小时
注册时间
2011-8-29
最后登录
2020-7-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我在做毕业论文,在用dynare编程的时候遇到了如下的问题,我应该怎么办啊
求助了
模型其实做得比较简单



Configuring Dynare ...
[mex] Generalized QZ.
[mex] Sylvester equation solution.
[mex] Kronecker products.
[mex] Sparse kronecker products.
[mex] Local state space iteration (second order).
[mex] Bytecode evaluation.
[mex] k-order perturbation solver.
[mex] k-order solution simulation.
[mex] Quasi Monte-Carlo sequence (Sobol).
[mex] Markov Switching SBVAR.

Starting Dynare (version 4.4.3).
Starting preprocessing of the model file ...
Substitution of endo leads >= 2: added 1 auxiliary variables and equations.
Found 32 equation(s).
Evaluating expressions...done
Computing static model derivatives:
- order 1
Computing dynamic model derivatives:
- order 1
Processing outputs ...done
Preprocessing completed.
Starting MATLAB/Octave computing.


An infinite element was encountered when trying to solve equation(s) 31
with respect to the variable(s): if.
The values of the endogenous variables when the problem was encountered were:
P                   1.001
C                  0.8954
B                  0.2237
S                    1.01
Bf                  15.68
W                   1.155
L                  0.6362
i                   0.011
cc                  1e-05
lamda               1.247
ToT                     1
q                       1
MC                  1.022
iK                  0.111
Qk                      0
PH                  1.226
PHBAR               1.226
X1                  3.775
X2                  3.694
I                       0
N                   2.013
Th                0.05467
pi                 0.0001
piH                 1e-06
K                   2.237
PI                      1
ir                 0.1223
Y                  0.9513
EX                0.00145
if                  0.012
Z                    1.01
AUX_ENDO_LEAD_75    1.262

错误使用 lnsrch1 (line 71)
Some element of Newton direction isn't finite. Jacobian maybe singular or there is a problem with initial values

出错 solve1 (line 107)
    [x,f,fvec,check]=lnsrch1(xold,fold,g,p,stpmax,func,j1,j2,varargin{:});

出错 dynare_solve (line 150)
        [x,info]=solve1(func,x,j1(r(i):r(i+1)-1),j2(r(i):r(i+1)-1),jacobian_flag, ...

出错 evaluate_steady_state (line 66)
            [ys,check] = dynare_solve([M.fname '_static'],...

出错 steady_ (line 54)
[steady_state,params,info] = evaluate_steady_state(oo_.steady_state,M_,options_,oo_,~options_.steadystate.nocheck);

出错 steady (line 81)
[steady_state,M_.params,info] = steady_(M_,options_,oo_);

出错 capital_control (line 340)
steady;

出错 dynare (line 180)
evalin('base',fname) ;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:matlab代码 MATLAB matla atlab Lab matlab

已有 1 人评分经验 论坛币 收起 理由
linmengmiki + 20 + 20 鼓励积极发帖讨论

总评分: 经验 + 20  论坛币 + 20   查看全部评分

沙发
belovedyi 发表于 2017-4-30 14:27:04 来自手机 |只看作者 |坛友微信交流群
报错貌似说求解稳态时代入初值后得到无穷,雅可比矩阵奇异了。可以尝试换初值,或者手动线性或对数线性化后再进行模拟

使用道具

藤椅
michaelbonjour 发表于 2017-4-30 17:10:28 |只看作者 |坛友微信交流群
belovedyi 发表于 2017-4-30 14:27
报错貌似说求解稳态时代入初值后得到无穷,雅可比矩阵奇异了。可以尝试换初值,或者手动线性或对数线性化后 ...
我的初始值就是自己算的稳态
原始一节条件有很多加号
因为引入了资本 那个怎么对数线性化啊?比如
X=AB+CDX(+1)

使用道具

板凳
belovedyi 发表于 2017-4-30 18:59:13 来自手机 |只看作者 |坛友微信交流群
michaelbonjour 发表于 2017-4-30 17:10
我的初始值就是自己算的稳态
原始一节条件有很多加号
因为引入了资本 那个怎么对数线性化啊?比如
先说对数线性化
由于不知道你的资本积累是否有调整成本一类所以广义一点定义。
状态转移方程是,x= f(x(

使用道具

报纸
belovedyi 发表于 2017-4-30 19:37:04 来自手机 |只看作者 |坛友微信交流群
belovedyi 发表于 2017-4-30 18:59
先说对数线性化
由于不知道你的资本积累是否有调整成本一类所以广义一点定义。
状态转移方程是,x= f(x(
x=f(x(-1),u(-1),e)
u e分别是控制变量和外生冲击,那么将上式写作:
x_ss×e^(log(x/x_ss))=f( x_ss×e^(log(x(-1)/x_ss)),u_ss×e^(log(u(-1)/u_ss)),e_ss×e^(log(e/e_ss)) )
重新定义关于稳态对数偏离的新变量即
x_hat = log(x/x_ss)
该变量的稳态容易发现为0,那么全部重写后就是关于x_hat,x_hat(-1),u_hat(-1),e_hat的动态转移方程,并在新稳态0处进行线性近似,得到的结果就是对数线性近似。其结果一般形式为:
x_ss×x_hat = f1_ss×x_ss×x_hat+...详细不写了

最后是,之所以要写成x=f(x(-1),u(-1),e)即t-1与t期形式实际上是dynare需要识别未决变量和先决变量,就是E_t(x(t+1))还是x(t+1)。所以一定要把不带期望算子的下期变量写成向前一期的形式。

使用道具

belovedyi 发表于 2017-4-30 19:37
x=f(x(-1),u(-1),e)
u e分别是控制变量和外生冲击,那么将上式写作:
x_ss×e^(log(x/x_ss))=f( x_ss×e ...
所以一定要把不带期望算子的下期变量写成向前一期的形式。
这句话我不太明白
您能不能举个例子
谢谢

使用道具

7
belovedyi 发表于 2017-5-3 13:54:23 来自手机 |只看作者 |坛友微信交流群
michaelbonjour 发表于 2017-5-1 14:45
所以一定要把不带期望算子的下期变量写成向前一期的形式。
这句话我不太明白
您能不能举个例子
比如书面上的资本动态转移方程是k(+1)=(1-delta)×k + i
但是这么写的话,dynare会把k(+1)认作E_t(k(t+1))而不是k(t+1)。所以要提前一期写成
k = (1-delta)×k(-1) + i(-1)
这样写不改变动态转移的结构。
只有包含条件预期变量时才能在代码中写x(+1)的形式。
详细见dynare的用户手册

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 19:32