matlab实现非线性规划

主函数:

%标准形式
%  命令窗口调用: [x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
%   fun指目标函数文件,''调用文件
%   nonlcon指非线性约束条件,''调用文件
%   options可忽略
%   x0指初值
%   A指不等式左向系数,同一式下用逗号,不同式下用分号
%   B指不等式右向系数,用分号间隔
%   Aeq指等式左向系数,同一式下用逗号,不同式下用分号
%   Beq指等式右向系数,用分号间隔
%   LB指变量范围最小值,UB指变量范围最大值

%没有明确规定的范围(输入参数不存在),使用[]表示
%X代表向量取值,FVAL为最优值

% 举例:
% min f(x) = x1^2+x2^2+x3^2+8
% st:
%     x1^2-x2+x3^20
%     x1+x2^2+x3^220
%     -x1-x2^2+2 = 0
%     x2+2x3^2 = 3
%     x1,x2,x3 ≥ 0
    
[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],'fun2')

fun1函数:

%注意取多项式时为点乘
function f=fun1(x);
f=x(1).^2+x(2).^2+x(3).^2+8;

fun2函数:

%注意g,h要用中括号起来,g代表不等式约束,h代表等式约束
%必须保证是≤,右侧为0(常数移项左侧)
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];

参考博客:https://blog.csdn.net/weixin_42317398/article/details/107122186

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值