matlab中fmincon函数求最大值,matlab fmincon函数用法

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

ufm42724

2013.09.07

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:55%    等级:12

已帮助:8663人

你的代码中调用fmincon函数中@total1不应该是@myfun目标函数吗,后面的那个@total1应该是@mycon为非线性约束

function f = myfun(x)

f = 0.192457*1e-4*(x(2)+2)*x(1)^2*x(3);

function [c,ceq] = mycon(x)

c(1)=350-163*x^(-2.86)*x(3)^0.86;

c(2)=10-0.4*0.01^x(1)^(-4)*x(2)*x(3)^3;

c(3)=(x(2)+1.5)*x(1)+0.44*0.01*x(1)^(-4)*x(2)*x(3)^3-3.7*x(3);

c(4)=375-356000*x(1)^(-4)*x(2)*x(3)^3;

c(5)=4-x(3)/x(1);

A=[-1 0 0;1 0 0;0 -1 0;0 1 0;0 0 -1; 0 0 1];

b=[-1;4;-4.5;50;-10;30];

x0= [2.0;5.0;25.0];

lb=zeros(3,1);

[x,fval,exitflag,output,lambda]=fmincon(@myfun,x0,A,b,[],[],lb,[],@mycon)

这样才对!

04分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值