Anonymous function to class property method.
Show older comments
I have a situation somewhat like the following mockup:
absfoo.m
classdef (Abstract) absfoo
methods (Abstract)
[f] = objfun(o, x)
[c, ceq] = confun(o, x)
end
end
confoo.m
classdef confoo < absfoo
methods
function [f] = objfun(o, x)
f = sin(sum(x.^2));
end
function [c, ceq] = confun(o, x)
c(1) = cos(0.1+x(1).^2);
c(2) = x(1)+x(2);
ceq = [];
end
end
end
bar.m
classdef bar
properties
myfoo
end
methods
function runme(o)
x0 = [0 1];
fmincon(@o.myfoo.objfun,x0,[],[],[],[],[],[],@o.myfoo.confun)
end
end
end
runscr.m
clear all
mf = confoo()
b = bar();
b.myfoo = mf;
b.runme()
Running runscr results in an error message similar to this:
Undefined function or variable 'o.myfoo.objfun'.
Error in fmincon (line 536)
If I add a wrapper method in bar, I can work around this error -- but I'd like to be able to do without the wrapper.
Edited to add commas to fmincon argument list and also empty lb, ub arguments per Steven's correction.
Accepted Answer
More Answers (0)
Categories
Find more on Use Prebuilt MATLAB Interface to C++ Library in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!