您的位置:首页 > 编程语言 > MATLAB

matlab---非线性规划

2016-01-27 16:12 357 查看


function cal         %主函数
x0 = rand(3,1);
A = []; b = [];      %线性约束不等式
Aeq = []; beq = [];  %线性约束等式
vlb = zeros(3,1); vub = [];  %变量的上界,下界
[x, fval] = fmincon(@target, x0, A, b, Aeq, beq, vlb, vub, @constrait)  %一定要注意这里不要写分号,不然就无法输出结果

function f = target(x);  %目标函数
f = sum(x .^ 2) + 8;

function [c, ceq] = constrait(x)
c = [-x(1)^2 + x(2) - x(3)^2  x(1) + x(2)^2 + x(3)^3 - 20];  %非线性不等式约束
ceq = [-x(1) - x(2)^2 + 2  x(2) + 2*x(3)^2 - 3];             %非线性等式约束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: