📄 example3_4.m
字号:
%编写目标函数和梯度的.m文件
function [f,g]=objfun(x)
f=exp(x(1))*(3*x(1)^2+2*x(2)^2+3*x(1)*x(2)+2*x(2)+1);
t=exp(x(1))*(3*x(1)^2+2*x(2)^2+3*x(1)*x(2)+2*x(2)+1);
%g中包含着目标函数的偏微分信息
g=[t+exp(x(1))*(8*x(1)+3*x(2)),exp(x(1))*(3*x(1)+3*x(2)+2)];
%编写不等式约束及其梯度的.m文件
function [c, ceq,dc,dceq]=confun(x)
%不等式约束
c=[1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10];
%约束的梯度
dc=[x(2)-1,-x(2);x(1)-1,-x(1)];
%没有非线性等式约束
ceq=[];
dceq=[];
%dc的列包含着不同约束各自的偏微分,也就是说,dc的第i列是第i个约束对x的%偏微分,在此处dc为:
%
x0=[-1,1];
lb=[];
ub=[];
%采用标准算法
options=optimset ('largescale','off');
%采用梯度
options=optimset (options,'GradObj','on','GradConstr','on');
[x,fval]=fmincon('objfun',x0,[],[],[],[],lb,ub,'confun',options)
[c,ceq]=confun(x)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -