I'm calling a function that I stored in a structure as a function handle. I get the following error
Unable to find function @(p1)forwardsModel(params) within /media
/cogneuro/fit3.m
with identifier:
identifier: 'MATLAB:dispatcher:UnableToResolveHiddenFunction'
The structure is created in file fit3.m:
function result = fit3
for i=1:N
for j=1:M
params = createParameters(i,j);
result{i}(j).forwardsModel = @(p1)forwardsModel(params,p1)
[result{i)(j).optimP, result{i}(j).optimNLL] = ...
fmincon( result{i}(j).forwardsModel, zeros(1,NP) );
end
end
return
function negloglikelihood = forwardsModel(p,u)
...
return
I create the functions like this
result = fit3;
save fit3_functions result
then later I retrieve the fits
The I call
x = result{1}(1).forwardsModel(p0_actual);
and get the above error. I am not sure exactly what conditions reproduce this problem, as it sometimes works.
Any thoughts on
- what this error means,
- why it might be triggered in this situation, and
- how I might avoid it happening?