UnableToRe​solveHidde​nFunction

3 views (last 30 days)
Sanjay Manohar
Sanjay Manohar on 5 Jul 2019
Commented: Guillaume on 5 Jul 2019
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)
... % calculate likelihood of model
return
I create the functions like this
result = fit3; % this works fine
save fit3_functions result % this works fine
then later I retrieve the fits
load fit3_functions % this works fine too
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?
  1 Comment
Guillaume
Guillaume on 5 Jul 2019
does loading with:
matcontent = load('fit3_functions');
result = matcontent.result;
x = result{1}(1).forwardsModel(p0_actual);
fix the problem?
If not, what is the output of
functions(result{1}(1).forwardsModel)

Sign in to comment.

Answers (0)

Categories

Find more on Data Import from MATLAB in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!