diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc index 49f9dd90d0bd66d632171eb74fc6a3ae25b76d29..9077c5e5aaf238d846dd27e396eb41cabc866483 100644 --- a/src/DynamicModel.cc +++ b/src/DynamicModel.cc @@ -599,7 +599,7 @@ DynamicModel::writeModelEquationsOrdered_M(const string &basename) const else if (simulation_type == SOLVE_TWO_BOUNDARIES_COMPLETE || simulation_type == SOLVE_TWO_BOUNDARIES_SIMPLE) output << " residual=zeros(" << block_mfs << ",y_kmin+periods);" << endl; if (simulation_type == EVALUATE_BACKWARD) - output << " for it_ = (y_kmin+periods):y_kmin+1" << endl; + output << " for it_ = (y_kmin+periods):-1:y_kmin+1" << endl; if (simulation_type == EVALUATE_FORWARD) output << " for it_ = y_kmin+1:(y_kmin+periods)" << endl; @@ -2148,7 +2148,7 @@ DynamicModel::writeSparseDynamicMFile(const string &basename) const << " oo_.deterministic_simulation.block(blck_num).error = 0;" << endl << " oo_.deterministic_simulation.block(blck_num).iterations = 0;" << endl << " g1=[];g2=[];g3=[];" << endl - << " " << basename << ".block.dynamic_" << block + 1 << "(y, x, params, steady_state, 0, y_kmin, periods);" << endl + << " y = " << basename << ".block.dynamic_" << block + 1 << "(y, x, params, steady_state, 0, y_kmin, periods);" << endl << " tmp = y(:,M_.block_structure.block(" << block + 1 << ").variable);" << endl << " if any(isnan(tmp) | isinf(tmp))" << endl << " disp(['Inf or Nan value during the evaluation of block " << block <<"']);" << endl