Matlab 求函数最小值小弟以前从未接触过MATLAB,今因毕业设计急需用MATLAB优化设计一个东东,想之,学来不易,并来网上求助:求函数:f(X)=0.589x(2)^3(x(3)+2)[(60x(1)+2+6/(x(1)+2))^2-(60x(1)-6.4)^2]的最小值约
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 18:49:52
Matlab 求函数最小值小弟以前从未接触过MATLAB,今因毕业设计急需用MATLAB优化设计一个东东,想之,学来不易,并来网上求助:求函数:f(X)=0.589x(2)^3(x(3)+2)[(60x(1)+2+6/(x(1)+2))^2-(60x(1)-6.4)^2]的最小值约
Matlab 求函数最小值
小弟以前从未接触过MATLAB,今因毕业设计急需用MATLAB优化设计一个东东,想之,学来不易,并来网上求助:
求函数:f(X)=0.589x(2)^3(x(3)+2)[(60x(1)+2+6/(x(1)+2))^2-(60x(1)-6.4)^2]的最小值
约束条件:
x(1)-2大于等于0;80-60x(1)大于等于0;18-x(2)大于等于0;x(2)-2大于等于0;16-x(3)大于等于0;x(3)-8大于等于0;x(2)^3x(3)-38066/(x(1)^2)大于等于0;5390x(2)^5(x(3)-2.4)^4-1514300乘以根号(2.3889((x(1)/x(3))^2)+0.132474)大于等于0;4-x(1)大于等于0;60x(1)-30大于等于0
初始点X0=[1,5,10]
要写出详细的操作方法啊,
Matlab 求函数最小值小弟以前从未接触过MATLAB,今因毕业设计急需用MATLAB优化设计一个东东,想之,学来不易,并来网上求助:求函数:f(X)=0.589x(2)^3(x(3)+2)[(60x(1)+2+6/(x(1)+2))^2-(60x(1)-6.4)^2]的最小值约
目标函数:
function z = my_fun(x)
z=0.589*x(2)^3*(x(3)+2)*((60*x(1)+2+6/(x(1)+2))^2-(60*x(1)-6.4)^2);
非线性约束:
function [c,ceq] = mycon2(x)
c =[-x(2)^3*x(3)+38066/(x(1)^2);
-5390*x(2)^5*(x(3)-2.4)^4+1514300*sqrt(2.3889*((x(1)/x(3))^2)+0.132474)];
ceq =[];
保存!
>> x0 = [1;5;10]; % Starting guess at the solution
lb=[1;2;8;];ub=[4/3;18;16;];
options=optimset('LargeScale','off');
[x,fval] = fmincon(@my_fun,x0,[],[],[],[],lb,ub,@mycon2,options)
Optimization terminated: magnitude of search direction less than 2*options.TolX
and maximum constraint violation is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
3 1
x =
1.3333
11.0200
16.0000
fval =
2.2779e+007
%%%%%%%%%%%%%
楼主的x(1)的范围失效,第一条件x(1)>2,第二个条件x(1)