用MATLAB作非线性规划求最小值时,如何限定最终目标函数值大于0
作非线性优化求最小值,小于0的解是不需要的,如何限定fun的值大于0。函数程序略。以下为优化内容x0=[102*pi/180;25*pi/180;40*pi/180;55...
作非线性优化求最小值,小于0的解是不需要的,如何限定fun的值大于0。
函数程序略。以下为优化内容
x0=[102*pi/180;25*pi/180;40*pi/180;55*pi/180];
A=[-1 1 0 0;-1 0 0 1;0 1 0 -1];b=[0;0;0];
Aeq=[];beq=[];
VLB=[(90*pi/180);
(20*pi/180);
(40*pi/180);
(50*pi/180)];
VUB=[(110*pi/180);
(55*pi/180);
(40*pi/180);
(60*pi/180)];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB) 展开
函数程序略。以下为优化内容
x0=[102*pi/180;25*pi/180;40*pi/180;55*pi/180];
A=[-1 1 0 0;-1 0 0 1;0 1 0 -1];b=[0;0;0];
Aeq=[];beq=[];
VLB=[(90*pi/180);
(20*pi/180);
(40*pi/180);
(50*pi/180)];
VUB=[(110*pi/180);
(55*pi/180);
(40*pi/180);
(60*pi/180)];
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB) 展开
1个回答
展开全部
追问
如何限定f的值?比如说f必须大于4该添加什么命令?
追答
这要增加一个约束函数,如
function [c,ceq]=con(x)
%约束函数
c(1)=[4-x(1)];
c(2)=[4-x(2)];
c(3)=[4-x(3)];
c(4)=[4-x(4)];
ceq=[];
end
放在:
[x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB,'con')
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询