Anonymous function to class property method.
古いコメントを表示
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.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Use Prebuilt MATLAB Interface to C++ Library についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!