Programmatically testing whether a variable is an optimoptions object
조회 수: 1(최근 30일)
표시 이전 댓글
I was wondering if there was something like an isoptimoptions function that could be used to test in general whether a variable was generated by optimoptions(). The isa command alone will not seem to do it, because optimoptions objects occupy separate classes, depending on which solver the object was generated for.
>> whos opts1 opts2
Name Size Bytes Class Attributes
opts1 1x1 29913 optim.options.Lsqnonlin
opts2 1x1 14775 optim.options.Linprog
The following user-defined command seems to work, but I'm wondering if there are more direct alternatives,
bool = startsWith(class(opts),'optim.options')
댓글 수: 4
Guillaume 2020년 2월 28일
편집: Guillaume 2020년 2월 28일
"those I've checked all seem to have 'optim.options.SolverOptions' as a parent in common."
In that case:
Strangely enough the base class optim.options.SolverOptions is part of base matlab (or a toolbox I've got even though I've haven't got the optimisation toolbox) and available as an m file.
The comment in the m file does say that this is the "base class for Optimization Toolbox options", so yes, the above is what you want.
댓글 수: 1
Luna 2020년 2월 28일
Maybe something like this helps?
metaClass = metaclass(opts1);
disp('This is a optim.options object.')
댓글 수: 1
Find more on Linear Programming and Mixed-Integer Linear Programming 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!