主题:请帮忙看看这是哪里出错了??
请各位大侠帮忙看看是哪里出错了这个程序,非线性优化的,
function f=confun(x)
%x由[x1,x2,x3,x4,x5]
%x1是消声片的厚度,单位为m, x2是片间距(m), x3是片高(m), x4是有效片长(m), x5是片数
IL=35;
Q=18;
c=343;
f=x(4)*(x(1)+x(2))*(x(2)+x(3))*(1+Q/c*x(2)*x(3)*x(5))/2*IL*x(2)*x(2)*x(3);
function [g,c]=myfun(x)
IL=35;
Q=18;
c=343;
% % l=0.26=x4;
f1=10;
f2=7000;
vel=8;
alfa=0.072;
bta=1;
kec=alfa+bta*x(4);
density=1.29;
dH=kec*density*vel*vel/2;
lmax=75;
g(1)=Q/x(5)*x(2)*x(3)-sqrt(2*dH/kec*density);
g(2)=60*log10(Q)-(lmax+13)-50*log10(x(5)*x(2)*x(3));
g(3)=0.4-x(2)/(x(1)+x(2));
g(4)=x(2)/(x(1)+x(2))-0.65;
g=[g(1);g(2);g(3);g(4)]
c=[];
clear,clc
f1=10;
f2=7000;
x0=[0,0,0,0,0];
A=[0 1 0 0 0;-1 0 0 0 0];
b=[756.8/f1;-10.32/f2]';
lb=[0.09,0.172,2.04,1.94,24];
ub=[0.218,0.3,2.2,2.1,32];
% options=optimset('LargeScale','off','Display','iter');
x=fmincon(@confun,x0,A,b,[],[],lb,ub,@myfun);
总显示错误:
Optimization terminated: first-order optimality measure less
than options.TolFun and maximum constraint violation is less
than options.TolCon.
不知道是哪里出错了,请各位执教!!!!
function f=confun(x)
%x由[x1,x2,x3,x4,x5]
%x1是消声片的厚度,单位为m, x2是片间距(m), x3是片高(m), x4是有效片长(m), x5是片数
IL=35;
Q=18;
c=343;
f=x(4)*(x(1)+x(2))*(x(2)+x(3))*(1+Q/c*x(2)*x(3)*x(5))/2*IL*x(2)*x(2)*x(3);
function [g,c]=myfun(x)
IL=35;
Q=18;
c=343;
% % l=0.26=x4;
f1=10;
f2=7000;
vel=8;
alfa=0.072;
bta=1;
kec=alfa+bta*x(4);
density=1.29;
dH=kec*density*vel*vel/2;
lmax=75;
g(1)=Q/x(5)*x(2)*x(3)-sqrt(2*dH/kec*density);
g(2)=60*log10(Q)-(lmax+13)-50*log10(x(5)*x(2)*x(3));
g(3)=0.4-x(2)/(x(1)+x(2));
g(4)=x(2)/(x(1)+x(2))-0.65;
g=[g(1);g(2);g(3);g(4)]
c=[];
clear,clc
f1=10;
f2=7000;
x0=[0,0,0,0,0];
A=[0 1 0 0 0;-1 0 0 0 0];
b=[756.8/f1;-10.32/f2]';
lb=[0.09,0.172,2.04,1.94,24];
ub=[0.218,0.3,2.2,2.1,32];
% options=optimset('LargeScale','off','Display','iter');
x=fmincon(@confun,x0,A,b,[],[],lb,ub,@myfun);
总显示错误:
Optimization terminated: first-order optimality measure less
than options.TolFun and maximum constraint violation is less
than options.TolCon.
不知道是哪里出错了,请各位执教!!!!