求助用matlab求这个函数的最大值

求助用matlab求这个函数的最大值,第1张

题主给出的实数a,b满足1≤b≤a≤√3,则(a^2+b^2-1)/(ab)的最大值问题。可以通过matlab的fmincon最优化函数求解。求解方法:

1、自定义目标函数,fmincon_fun(x),这里x=[a,b],其内容

y=-((a^2+b^2-1)/(ab)); %负号的意思求最大值即最小值的相反数

2、自定义约束条件函数,fmincon_con(x),这里x=[a,b],其内容

条件1(1≤b):c(1)=1-b

条件2(b≤a):c(2)=b-a

条件3(a≤√3):c(3)=a-sqrt(3)

3、确定初值,x0=[08,08];

4、确定[a,b]的上下限,lb=[08,08]; ub=[sqrt(3),sqrt(3)];

5、使用fmincon函数求求解a,b值

6、验证,所求的a,b值是否满足约束条件

运行结果及代码如下。

守望的妮 幼苗

共回答了22个问题 采纳率:909% 向TA提问 举报

f = @(x) -5-1350(1-x(1))^(29)-1350x(1)^3((1-x(2))^(29)-(1-x(1))^(29))-135x(2)^3(1-10(1-x(2)^(29)))

lb = [08; 06]; % x y的下限

ub = [1; 08] ; % x y的上限

x0 = [05;06]; % Starting guess at the solution

[x1,fval1] = fmincon(f,x0,[],[],[],[],lb,ub);

xmax2 = x1(1) % 极值点x的值

ymax2 = x1(2) % 极值点y的值

zmax2 = -fval1 % Z的最大值

计算结果:

xmax2 = 1

ymax2 = 06

zmax2 = -964625 3,怎么用matlab求二元函数的最大值

f=5+1350(1-x)^(29)+1350x^3((1-y)^(29)-(1-x)^(29))+135y^3(1-10(1-y^(29)));其中08 爱上雪的娜一天 1年前 已收到1个回答 我来回答 举报

在commad窗口中输入:

%生成45的随机矩阵

a=rand(4,5)

%调用你的函数

Mmax(a)

结果是正确的!

我的腾讯****,散坝而要龄要伞流午

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12182930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存