MATLAB: How to assign a timer callback to call a function whose input arguments do not include “obj” and “event” but include “arg1” and “arg2”

MATLAB

How can I use a timer callback function (e.g "timertestfunction"), whose input arguments do not include "obj" and "event" but include "arg1" and "arg2".
For example, if my function definition is as follows, then how can I assign this to the timer callback function?
function timertestfunction(arg1,arg2)
disp([arg1,arg2])
end

Best Answer

You can use an anonymous function (for the "TimerFcn" callback) that take two input arguments (for "obj" and "event") and calls your other function with its corresponding input arguments (e.g. "arg1" and "arg2"). Here is an example to illustrate this, based on the "timertestfunction" example that you provided:
% Define some parameters to be passed in as input arguments to "timertestfunction"
x = 'hello '; y=' goodbye';
% Define the Timer
t = timer( ...
'TimerFcn', @(~,~)timertestfunction(x,y), ...
'StartDelay', 5, ...
'ExecutionMode', 'fixedRate', 'Period', 5, ...
'TasksToExecute', 2, 'BusyMode', 'drop', ...
'Name', 'timetestfunction', 'Tag', 'timetestfunction');
% Execute the Timer
start(t)
For other examples/syntax for creating/assigning timer function callbacks, please refer to the following documentation page.