美国数学建模大赛(matlab自学)之非线性规划

非线性规划

基础知识:

rand函数用法:rand(a,b)生成一个行为a列为b的随机矩阵 
zeros函数用法:zeros(a,b)生成一个行为a列为b的零矩阵

非线性规划的数学模型:

美国数学建模大赛(matlab自学)之非线性规划_第1张图片
在这里插入图片描述
例题:
美国数学建模大赛(matlab自学)之非线性规划_第2张图片
fun1.m函数

function f=fun1(x);
f=sum(x.^2)+8;

fun2.m函数

function [g,h]=fun2(x);
g=[-x(1)^2+x(2)-x(3)^2
x(1)+x(2)^2+x(3)^3-20];
h=[-x(1)-x(2)^2+2
x(2)+2*x(3)^2;3];

主程序文件:

[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],'fun2')

结果(我求的结果和教材上的不一样,不知道为什么……):

x =

    1.1514  //x1
    0.7767  //x2
    0.2275  //x3


y =

    9.9806   //y

你可能感兴趣的:(美国数学建模大赛matlab)