diff --git a/matlab/lmmcp/dyn_lmmcp.m b/matlab/lmmcp/dyn_lmmcp.m
deleted file mode 100644
index 78ed2b8aaf8331f332bc8321298688c446afaf57..0000000000000000000000000000000000000000
--- a/matlab/lmmcp/dyn_lmmcp.m
+++ /dev/null
@@ -1,78 +0,0 @@
-function [endo_simul,info] = dyn_lmmcp(M_,options,oo_)
-% [endo_simul,info] = dyn_lmmcp(M_,options,oo_)
-
-% Copyright © 2014-2023 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <https://www.gnu.org/licenses/>.
-
-[lb,ub,eq_index] = get_complementarity_conditions(M_);
-
-lead_lag_incidence = M_.lead_lag_incidence;
-
-ny = M_.endo_nbr;
-
-max_lag = M_.maximum_endo_lag;
-
-nyp = nnz(lead_lag_incidence(1,:)) ;
-iyp = find(lead_lag_incidence(1,:)>0) ;
-ny0 = nnz(lead_lag_incidence(2,:)) ;
-iy0 = find(lead_lag_incidence(2,:)>0) ;
-nyf = nnz(lead_lag_incidence(3,:)) ;
-iyf = find(lead_lag_incidence(3,:)>0) ;
-
-nd = nyp+ny0+nyf;
-nrc = nyf+1 ;
-isp = 1:nyp ;
-is = nyp+1:ny+nyp ;
-isf = iyf+nyp ;
-isf1 = nyp+ny+1:nyf+nyp+ny+1 ;
-stop = 0 ;
-iz = 1:ny+nyp+nyf;
-
-periods = options.periods;
-steady_state = oo_.steady_state;
-params = M_.params;
-endo_simul = oo_.endo_simul;
-exo_simul = oo_.exo_simul;
-i_cols_1 = nonzeros(lead_lag_incidence(2:3,:)');
-i_cols_A1 = find(lead_lag_incidence(2:3,:)');
-i_cols_T = nonzeros(lead_lag_incidence(1:2,:)');
-i_cols_j = 1:nd;
-i_upd = ny+(1:periods*ny);
-
-x = endo_simul(:);
-
-model_dynamic = str2func([M_.fname,'.dynamic']);
-z = x(find(lead_lag_incidence'));
-[~,A] = model_dynamic(z, exo_simul, params, steady_state,2);
-nnzA = nnz(A);
-
-LB = repmat(lb,periods,1);
-UB = repmat(ub,periods,1);
-
-Y0 = endo_simul(:,1);
-YT = endo_simul(:,end);
-x = endo_simul(:,2:end-1);
-x = x(:);
-
-func_handle = @(x) dyn_lmmcp_func(x,model_dynamic, Y0, YT, exo_simul, ...
-                                  params, steady_state, periods, ny, ...
-                                  lead_lag_incidence, i_cols_A1, i_cols_1, ...
-                                  i_cols_T, i_cols_j,nnzA,eq_index);
-
-[x, info] = lmmcp(func_handle,x,LB,UB,options.lmmcp);
-
-endo_simul = [Y0 reshape(x,ny,periods) YT];
\ No newline at end of file
diff --git a/matlab/lmmcp/dyn_lmmcp_func.m b/matlab/lmmcp/dyn_lmmcp_func.m
deleted file mode 100644
index 88601755c49d7629b47e3401842811c96192115d..0000000000000000000000000000000000000000
--- a/matlab/lmmcp/dyn_lmmcp_func.m
+++ /dev/null
@@ -1,55 +0,0 @@
-function [F,A] = dyn_lmmcp_func(x, model_dynamic, Y0, YT, exo_simul, params, ...
-                                steady_state, periods, ny, lead_lag_incidence, ...
-                                i_cols_A1, i_cols_1, i_cols_T, i_cols_j, ...
-                                nnzA,eq_index)
-
-% Copyright © 2014-2017 Dynare Team
-%
-% This file is part of Dynare.
-%
-% Dynare is free software: you can redistribute it and/or modify
-% it under the terms of the GNU General Public License as published by
-% the Free Software Foundation, either version 3 of the License, or
-% (at your option) any later version.
-%
-% Dynare is distributed in the hope that it will be useful,
-% but WITHOUT ANY WARRANTY; without even the implied warranty of
-% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-% GNU General Public License for more details.
-%
-% You should have received a copy of the GNU General Public License
-% along with Dynare.  If not, see <https://www.gnu.org/licenses/>.
-
-Y = [Y0; x; YT];
-
-F = zeros(periods*ny,1);
-if nargout == 2
-    A = sparse([],[],[],periods*ny,periods*ny,periods*nnzA);
-end
-
-i_rows = 1:ny;
-i_cols = find(lead_lag_incidence');
-i_cols_A = i_cols;
-
-for it = 2:(periods+1)
-
-    [res,jacobian] = model_dynamic(Y(i_cols),exo_simul, params, ...
-                                   steady_state,it);
-    F(i_rows) = res(eq_index);
-
-    if nargout == 2
-        if it == 2
-            A(i_rows,i_cols_A1) = jacobian(eq_index,i_cols_1);
-        elseif it == periods+1
-            A(i_rows,i_cols_A(i_cols_T)) = jacobian(eq_index,i_cols_T);
-        else
-            A(i_rows,i_cols_A) = jacobian(eq_index,i_cols_j);
-        end
-    end
-
-    i_rows = i_rows + ny;
-    i_cols = i_cols + ny;
-    if nargout == 2 && it > 2
-        i_cols_A = i_cols_A + ny;
-    end
-end