I've the following function
[t,x] = ode15s(@(t,s) fun2(t,x), tspan , x0 ,options);
function dx = fun2(t,x)
M = load(fullfile(path,'M.mat'));
dx = M*x
Each time fun2 is called, the same file is loaded and this increases the compute time
(calls: 52085 total time:156.848s, self time:59.780s). Of the total time taken (209s), 156s is taken for executing fun1 and 95% of the time is spent in loading the input file.
I'd like to ask for suggestions on how to get around this i.e reduce the time taken for loading/avoid loading for each function call.