?? example3_4.m
字號:
%編寫目標(biāo)函數(shù)和梯度的.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中包含著目標(biāo)函數(shù)的偏微分信息
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=[];
%采用標(biāo)準(zhǔn)算法
options=optimset ('largescale','off');
%采用梯度
options=optimset (options,'GradObj','on','GradConstr','on');
[x,fval]=fmincon('objfun',x0,[],[],[],[],lb,ub,'confun',options)
[c,ceq]=confun(x)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -