function f2=FUN(w,opentime,problem)
if nargin==3
n=20;
else
n=4;
end
data
fb=0.5;
fg=100;
pb=P(fb);
pg=P(fg);
Mg=pg*Vg;
Mb=pb*V(3.14);
% w=0.0744;
%无减压阀门的时候,最优角速度为74.4rad/s
fw=0.75;
status=zeros(n*length(0:0.01:100),6);
k=0;
OS=0;
ptime=0;
% opentime=0.05;
for i=1:n
for j=0:0.01:100
T=(i-1)*100+j;%实际流逝时间
seta=T*w;
if OS==0&&fg-100>0.5
OS=1;
end
if OS
ptime=ptime+1;
if ptime>=opentime
ptime=0;
OS=0;
else
OM1=0.01*DS*C*sqrt(2*(fg-0.5)/pg)*pg;
Mg=Mg-OM1;
pg=Mg/Vg;
fg=F(pg);
end
end
if j>=0&&j<=2.45%B出油
BS=bs(round(j*100+1));
OM=2*0.01*C*BS*sqrt(2*(fg-fw)/pg)*pg;
else
BS=0;
OM=0;
end
if fb>fg
IM=0.01*C*AS*sqrt(2*(fb-fg)/pb)*pb;
else
IM=0;
end
%状态更新
%油管
Mg=Mg+IM-OM;
pg=Mg/Vg;
fg=F(pg);
%油泵
Mb=Mb-IM;
pb=Mb/V(seta);
fb=F(pb);
if fb<0.5%充油
fb=0.5;
pb=P(fb);
Mb=pb*V(seta);
end
k=k+1;
status(k,:)=[fg fb Mg Mb pg pb];
end
end
f2=mean(status(:,1));
if nargin==3
plot(1*(1:n*length(0:0.01:100)),status(:,1),'r.');
hold on
plot(1*(1:n*length(0:0.01:100)),status(:,2),'g.');
xlabel('时间')
ylabel('压强')
title('高压油管和高压油泵内的压强随时间的变化')
legend('高压油泵','高压油管');
end
end