Hi!

Thank you for adding getters for slack variables for Matlab. As in the example, ~/acados/examples/acados_matlab_octave/getting_started/extensive_example_ocp.m the code for getting slack variable values looks like,

% get slack values

for i = 0:N-1

sl = ocp.get(‘sl’, i);

su = ocp.get(‘su’, i);

t = ocp.get(‘t’, i);

end

sl = ocp.get(‘sl’, N);

su = ocp.get(‘su’, N);

I am afraid that this is probably wrong, because the index in Matlab cannot start from `0`

in the for loop. When I run the code, I get empty `sl`

and `su`

of dimension `0x1`

. This is unusual for Matlab. Moreover, if you are running the loop to get slack values for the horizon, then it should be filled in a matrix instead of rewriting over the same variable `sl`

and `su`

. The correct code could look something like this in my opinion If `n_executions>0`

:

for i=1:n_executions

% get slack values

for i = 1:N-1

sl(:, i, n_executions) = ocp.get(‘sl’, i);

su(:, i, n_executions) = ocp.get(‘su’, i);

t(:, i, n_executions) = ocp.get(‘t’, i);

end

sl(:, N, n_executions) = ocp.get(‘sl’, N);

su(:, N, n_executions) = ocp.get(‘su’, N);end

One more thing, it is possible to get `sl`

and `su`

values individually. But we set values of only `Z, z, Z_e and z_e`

and not `Z_l, Z_u, z_l, z_u ....`

Should the dimension of `Z`

and `Z_e`

be adjusted according to `sl`

and `su`

or I am over-complicating this?

Does `sl_e`

and `su_e`

correspond to `sl(N)`

and `su(N)`

?

It would be really helpful if you can look into the issue. If there is something I misunderstood, then please guide me

Best,

Smit