reverse the output order of the constraint function argument of fmincon

조회 수: 1 (최근 30일)
I frequently use fmincon to solve for a bunch of equality constraints, but my problems have no inequality constraints. My equality constraints are typically defined as an anonymous function in the workspace that calls fmincon, e.g.,
f = @(x,b) a*x + b
It would be so much more convenient if I could simply pass f as an argument to fmincon, e.g.,
soln = fmincon(obj,x,[],[],[],[],[],[],@(x) f(a,b))
but because fmincon expects equality constraints in the second argument, I have to write a separate nested function with two output variables, and all of the data to that extra function. Is there a workaround for this? I can think of two ways it could be done: easiest would be for matlab to provide a field of the fmincon options struct that reversed the output arguments of the constraint function. Alternatively, is there a way to write an anonymous function with two output arguments? Thanks!

채택된 답변

Walter Roberson
Walter Roberson 2018년 4월 2일
@(x) deal([], f(x, b))

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by