Wrong cost computation

Hi :wave:

I am using the get_cost() method to retrieve the value of the cost function using the Matlab interface and I get unexpected results using both linear_ls and nonlinear_ls formulation, that is, the get_cost() returns a value that differs from the one computed externally, using the output trajectories.
In my case, in a simple closed loop simulation, the cost computed using get_cost() is not decreasing and it doesn’t even reach zero when the system reaches the reference, whereas the externally computed cost does.
My Vx and Vu matrices are structured as follow:

Vx = [eye(nx); 
      zeros(nu,nx);
      vec_1bynx];

Vu = [zeros(nx,nu);
      eye(nu);
      vec_1bynu];

Vx_e = eye(nx);

I suspect (but not sure) that the issue is related to the computation of terminal cost.

On the opposite, the ext_cost option works fine.

Thanks for any help.

Did you check this?

If you can send a complete minimal example to debug it, I will have a look soon.