matlab已知自变量的取值范围求最大值 5
已知10万<Q<100万0.04<R<0.140<D<1函数表达式为f=QR(1-D),求当QRD为何值时,函数有最大值,最大值为多少?麻烦附加一下程序代码...
已知10万<Q<100万 0.04<R<0.14 0<D<1 函数表达式为f=QR(1-D),求当Q R D 为何值时,函数有最大值,最大值为多少?麻烦附加一下程序代码
展开
1个回答
展开全部
如何用matlab在已知自变量的取值范围下求最大值?题主的问题可以解决:
1、根据函数表达式为f=QR(1-D),自定义其目标函数,fmincon_fun(x),即
f=-Q*R*(1-D); 这里负号表示最大值
2、根据约束条件,自定义其约束函数,fmincon_con(x),即
g(1)=Q-10; %Q>10;
g(2)=R-0.04; %R>0.04
g(3)=100-Q; %Q<100
g(4)=0.14-R; %R<0.14
g(5)=1-D; %D<1
3、初定Q,R,D的初值,这里用x0表示,即x0=rand(1,3);
4、根据条件确定Q,R,D的上下限,即
lb=[10,0.04,0];
ub=[100,0.14,1];
5、使用fmincon函数,求解Q,R,D的值,即
[x,fval] = fmincon(@(x) fmincon_fun(x),x0,[],[],[],[],lb,ub,@(x) fmincon_con(x),options);
Q=x(1),R=x(2),D=x(3),fmax=-fval
6、编写代码后运行可以得到如下结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询