Problem in steady state solving

Hello, I’m working with a fiscal model in both matlab and octave (octave 3.8.1 and dynare version 4.4.3). My routine is to run a simulation file, where I set the value of parameters and compute the steady state (calling mod_fiscal_04_ss_solve), prior to runing the .mod file. The idea is to variate the nr_i parameter (it can be 0.2, 0.4, 0.6) which stands for the proportion of non-ricardian agents (who work) in the economy. When I run this simulation file on matlab, it works perfectly. However, when running in octave, it doesn’t “work” for nr_i = 0.2 and nr_i = 0.6 . I’ve checked the steady state values and they are equal for 0.4 but different for 0.2. Does anyone know why this is happening? The files (.m and .mod) are attached.

Thank you!!!

p.s: I believe the problem is in the fsolve() function (found in the mod_fiscal_04d_ss_solve.m file)
mod_fiscal_04_ss_solve.m (11.9 KB)
mod_fiscal_04_ss.m (11.1 KB)
mod_fiscal_04d_ajs_tax.mod (28.2 KB)
simula_mod_fiscal_04_bre_02b.m (13.4 KB)

I have big electrical circuit in Simscape (tens of thousands of diods and resistances, no dynamic elements like capacitors or inductances), and I need to solve many steady state problems on that as fast as possible.

Even for the other cases, Matlab and Octave provided different steady states on my machine. Could it be that your steady state is not unique and the local solver you use converges to different points? If yes, you should ideally provide analytical steady state values.