题主给出的实数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)
结果是正确的!
我的腾讯****,散坝而要龄要伞流午
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)