Error in fmincon, issues with running optimization problem in MATLAB

I am running an optimization problem with MATLAB’s fmincon, and I get the error
**Error using saveOptimizationParams
Too many input arguments.
Error in sqpInterface
Error in fmincon (line 672)
`[X,FVAL,EXITFLAG,OUTPUT,LAMBDA,GRAD,HESSIAN] = sqpInterface(funfcn,X,full(A),full(B),full(Aeq),full(Beq), …
**

The problem is to minize obj = (alpha * populationDeviation) + (beta * locationDeviation);

The is is my optimization problem


cd('/main/path')
path2root= '/path/to/something/I need/';

% Load initial parameters from file
initial_params = readParameters('parameters.txt');

% Load target data from file
target_population = load('/path/to/targetPop.txt');

% Define optimization parameters
alpha = 1;  % Weight for population size deviation
beta = 1;   % Weight for location deviation




% Define the optimization problem
objFunction = @(params) objectiveFun(params, target_population,alpha,beta);
initial_guess = [initial_params.natural_growth_rate, initial_params.natural_death_rate ];
lb = [0, 0];
ub = [Inf, Inf];


options = optimoptions('fmincon', 'Display', 'iter', 'Algorithm', 'sqp','OutputFcn',  @saveOptimizationParams);
% Perform optimization
[opt_params, fval] = fmincon(@(params)objectiveFun(params, target_population,alpha,beta), initial_guess, [], [], [], [], lb, ub, [], options);


This is my objective function.

function obj = objectiveFun(params,target_population,alpha,beta)

    growth_rate = params(1);% Currently not used
    death_rate = params(2);% Currently not used

   % Read the optimized parameters to a new file
    initial_guess = readParameters('parameters.txt');

   %initial_guess=[initial_params.growth_rate,initial_params.death_rate];
   

    %Run ABM from jar fiel
    system( 'java -jar /path/to/file.jar/')



    % Load updated data from file
    current_population = readCurrentPop('/path/to/data.csv');

     
    % Calculate population deviation
    P_current = size(current_population, 1);
    P_target = size(target_population, 1);
    populationDeviation = (P_current - P_target)^2;



     % Calculate location deviation using the K nearest neigbor search
    [Idx, D] = knnsearch(target_population, current_population);
    locationDeviation=sum(D);
  

    % Calculate combined objective 
   obj = (alpha * populationDeviation) + (beta * locationDeviation);
   

end


And lastly this is my output function

function stop = saveOptimizationParams(optimValues, state)

    % File to write
    fileName = '/path/to/parameters.txt';

    % Initialize stop flag
     stop = false;

     

    % Check the state of the optimization
    switch state
        case 'iter'
            % Write the parameters to the file at each iteration
            currentParams = optimValues.x;
            paramCellArray = struct('natural_growth_rate', currentParams(1), 'natural_death_rate', ocurrentParams(2));
            writeParameters(fileName, paramCellArray);
    end
end


Tried: I checked that the objective function (objectiveFun), and the output function (saveOptimizationParams) run when by themselves when tested separately

The optimization also runs when I exclude the output function part from options, that is
options = optimoptions('fmincon', 'Display', 'iter', 'Algorithm', 'sqp');

However if I include the output function, the error occurs, even if the function is just dummy with nothing inside.
I use the output function to update my data at each step and so I want to run it at every iteration.

If anyone has any suggestion, or know what I am missing, I’d appreciated it. Thanks for reading

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật