这道题matlab该如何写

2025-04-28 20:39:42
推荐回答(1个)
回答1:

建立优化模型如下:

min cost = (2*L+2*R)*30 + pi*R*40
s.t.
    L*2*R + pi/2*R^2 = 1600
    30 <= 2*R
    2*R <= 50

 

参考代码:

function zd
f = @ (x)(2*x(1)+2*x(2))*30 + pi*x(2)*40;
x = fmincon(f,[1 1],[],[],[],[],15,25,@con);
fprintf('L=%g, R=%g, total cost is $%g\n',x,f(x))
 
function [c,ce] = con(x)
c = [];
ce = x(1)*2*x(2) + pi/2*x(2)^2 - 1600;

 

运行结果:

L=25, R=19.7481, total cost is $5166.51