文件帮助中心文件
结合客观和非线性约束函数
objconstr = packfcn(obj,nlconst)
例子
objconstr.= packfcn(obj.那nlconst.)结合目标函数obj.和非线性约束函数nlconst.进入一个功能objconstr.。功能objconstr(x)返回适合组合的结构代理人孔目标和约束函数。有关转换之间的信息代理人孔结构语法和其他求解器,见转换Trustogateopt表单和其他求解器表格之间的非线性约束。
objconstr.= packfcn(obj.那nlconst.)
objconstr.
obj.
nlconst.
objconstr(x)
代理人孔
全部收缩
将目标和限制组合在示例中解决约束的非线性问题,基于求解器进入适合的形式代理人孔。
创建目标函数作为匿名功能ROS(x)。
ROS(x)
ROS = @(x)100 *(x(2) - x(1)^ 2)^ 2 +(1 - x(1))^ 2;
创建非线性约束辅助功能UnitDisk.,它出现在此示例的结尾。使用名称保存帮助函数UnitDisk.m.在当前文件夹中。
UnitDisk.
UnitDisk.m.
将目标和非线性约束函数结合在一个适用于的功能中代理人孔。
objconstr = packfcn(ROS,@ UnitDisk);
指定边界并使用问题解决问题代理人孔。
lb = [-2 -2];UB = -LB;[x,fval] = trustogateopt(objconstr,lb,Ub)
Trustogateopt停止,因为它超出了“选项”QuaxFunctioneValuations'设置的函数评估限制。
X =1×20.7860 0.6176
FVAL = 0.0458.
此代码创建UnitDisk.帮手功能。
功能[C,CEQ] = UnitDisk(x)c = x(1)^ 2 + x(2)^ 2 - 1;CEQ = [];结尾
目标函数,指定为函数句柄或函数名称。
由此产生的功能objconstr.包含该字段fval.。
fval.
objconstr.fval = obj.
例子:@restriginsfcn.
@restriginsfcn.
数据类型:char|细绳|function_handle.
char
细绳
function_handle.
非线性约束函数,指定为函数句柄或函数名称。通常,非线性约束函数返回两个输出。
[c,ceq] = nlconst(x)
输出C是一个矢量或数组,其条目表示不等式约束C(X)≤0CEQ.是一个矢量或数组,其条目表示不等式约束C(X)= 0。packfcn.丢弃CEQ.输出。
C
CEQ.
packfcn.
由此产生的功能objconstr.包含该字段Ineq.。
Ineq.
objconstr.ineq = C.
组合目标和约束函数,作为函数手柄返回。功能objconstr(x)使用字段返回一个结构fval.和Ineq.。
objconstr.fval(x)是目标函数obj(x)。
objconstr.fval(x)
obj(x)
objconstr.ineq(x)是非线性不等式约束函数C(x),第一个输出nlconst(x)。
objconstr.ineq(x)
C(x)
nlconst(x)
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室
立即获得审判