多元函数求极值,万能函数——fmincon讲解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38784454/article/details/80329021
       matlab中的函数fmincon可用于求可以求取多元函数的极值,其约束包括五种:1、线性不等式

约束;2、线性等式约束;3、变量约束;4、非线性不等式约束;5、非线性等式约束。

其形式如下:x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)

求解问题的标准型为
min F(X)
s.t
AX <= b(线性不等式约束)
AeqX = beq(线性等式约束)
G(x) <= 0(非线性不等式约束)
Ceq(X) = 0(非线性等式约束)
lb <= X <= ub(变量约束)

matalb实例:



fxx.m

clc
clear
close all
fun=@(x)x(1)^2+x(2)^2+8;
x0=rand(2,1);
A=[];
b=[];
Aeq=[];
beq=[];
vlb=[0,0];
vub=[];
exitflag=1;
[x,fval,exitflag]=fmincon(fun,x0,A,b,Aeq,beq,vlb,vub,'mycon')

mycon.m

function [g,ceq]=mycon(x)
g=-x(1)^2+x(2);
ceq=-x(1)-x(2)^2+2;






猜你喜欢

转载自blog.csdn.net/qq_38784454/article/details/80329021