Update: k_ord_dynare.cpp that prints the order when running ReorderDynareJacobianIndice
and k_order_perturbation with MAT file printout git-svn-id: https://www.dynare.org/svn/dynare/trunk@2380 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
88afe87f0c
commit
e247e3ef0b
|
@ -402,6 +402,10 @@ Vector * KordpDynare::LLxSteady( const Vector& yS){
|
|||
mexPrintf(" Error in LLxSteady - wrong index?");
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
for (int j=0;j<nJcols-nExog;j++)
|
||||
mexPrintf("LLxSteady: [%d] =%f .\n", j, (*llxSteady)[j]);
|
||||
#endif
|
||||
return llxSteady;
|
||||
}
|
||||
|
||||
|
|
|
@ -269,39 +269,43 @@ extern "C" {
|
|||
else
|
||||
irf_list_ind = ((const DynareNameList&)dynare.getExogNames()).selectIndices(params.irf_list);
|
||||
****************/
|
||||
try {
|
||||
// intiate tensor library
|
||||
#ifdef DEBUG
|
||||
mexPrintf("k_order_perturbation: Call tls init\n");
|
||||
mexPrintf("k_order_perturbation: Call tls init\n");
|
||||
#endif
|
||||
tls.init(dynare.order(),
|
||||
dynare.nstat()+2*dynare.npred()+3*dynare.nboth()+
|
||||
2*dynare.nforw()+dynare.nexog());
|
||||
tls.init(dynare.order(),
|
||||
dynare.nstat()+2*dynare.npred()+3*dynare.nboth()+
|
||||
2*dynare.nforw()+dynare.nexog());
|
||||
|
||||
// construct main K-order approximation class
|
||||
// construct main K-order approximation class
|
||||
// FistOrderApproximation app(dynare, journal, nSteps);
|
||||
#ifdef DEBUG
|
||||
mexPrintf("k_order_perturbation: Call Approximation constructor \n");
|
||||
mexPrintf("k_order_perturbation: Call Approximation constructor \n");
|
||||
#endif
|
||||
Approximation app(dynare, journal, nSteps);
|
||||
// run stochastic steady
|
||||
Approximation app(dynare, journal, nSteps);
|
||||
// run stochastic steady
|
||||
#ifdef DEBUG
|
||||
mexPrintf("k_order_perturbation: Calling walkStochSteady.\n");
|
||||
mexPrintf("k_order_perturbation: Calling walkStochSteady.\n");
|
||||
#endif
|
||||
app.walkStochSteady();
|
||||
app.walkStochSteady();
|
||||
|
||||
} catch (const KordException& e) {
|
||||
// tell about the exception and continue
|
||||
printf("Caught (not yet fatal) Kord exception: ");
|
||||
e.print();
|
||||
JournalRecord rec(journal);
|
||||
rec << "Solution routine not finished (" << e.get_message()
|
||||
<< "), see what happens" << endrec;
|
||||
} catch (const TLException& e) {
|
||||
mexErrMsgTxt("Caugth TL exception.");
|
||||
} catch (SylvException& e) {
|
||||
mexErrMsgTxt("Caught Sylv exception.");
|
||||
}
|
||||
// open mat file
|
||||
std::string matfile(fName);//(params.basename);
|
||||
matfile += ".mat";
|
||||
FILE* matfd = NULL;
|
||||
if (NULL == (matfd=fopen(matfile.c_str(), "wb"))) {
|
||||
fprintf(stderr, "Couldn't open %s for writing.\n", matfile.c_str());
|
||||
exit(1);
|
||||
}
|
||||
|
||||
std::string ss_matrix_name(fName);//params.prefix);
|
||||
ss_matrix_name += "_steady_states";
|
||||
ConstTwoDMatrix(app.getSS()).writeMat4(matfd, ss_matrix_name.c_str());
|
||||
|
||||
// write the folded decision rule to the Mat-4 file
|
||||
app.getFoldDecisionRule().writeMat4(matfd, fName);//params.prefix);
|
||||
|
||||
fclose(matfd);
|
||||
|
||||
/***********************
|
||||
std::string ss_matrix_name("K_ordp");//params.prefix);
|
||||
|
|
|
@ -216,7 +216,6 @@ int main(int argc, char* argv[])
|
|||
#endif
|
||||
app.walkStochSteady();
|
||||
|
||||
|
||||
// open mat file
|
||||
std::string matfile(fName);//(params.basename);
|
||||
matfile += ".mat";
|
||||
|
|
Loading…
Reference in New Issue