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 为何值时,函数有最大值,最大值为多少?麻烦附加一下程序代码 展开
 我来答
lhmhz
高粉答主

2020-09-12 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16992

向TA提问 私信TA
展开全部

如何用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、编写代码后运行可以得到如下结果。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式