如果我想把非线性约束写在函数中而不是保存在m文件中应该怎么写?

mincon的格式一般为x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)其中nonlcon='mycon',则M文件mycon.m须具有下面的形式:
function [c,ceq] = mycon(x)
c = ... % 计算x处的非线性不等式。
ceq = ... % 计算x处的非线性等式。
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,[c,ceq],options)这样可以吗

开满天机
浏览 198回答 1
1回答

倚天杖

不可以。非线性约束nonlcon必须是能够返回两个参数的函数,而不能是两个函数。
打开App,查看更多内容
随时随地看视频慕课网APP