嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
利用MATLAB完成发动机上止点测量
clc;
clear;
close all;
%读数据
filename1='汽油机(大负荷).csv';
M=csvread(filename1,1,0);
x=M(:,1);
y=M(:,2);
% filename2='柴油机B50.csv';
% M2=csvread(filename2,1,0);
% x2=M2(:,1);
% y2=M2(:,2);
%绘图
%柴油机
% D=126.5;
% r=83;
% L=261;
% Vc=126443;
%汽油机
D=73.4;
r=39.3;
L=136;
Vc=38673;
V=D*D*pi/4.*(L r-r.*cos(x.*pi./180)-(L*L-(r.*sin(x.*pi./180)).^2).^(1/2)) Vc;
% V2=D*D*pi/4.*(L r-r.*cos(x2.*pi./180)-(L*L-(r.*sin(x2.*pi./180)).^2).^(1/2)) Vc;
% figure(1);
% plot(x,y);
% title('p-φ图');
% ylabel('缸内压力[bar]');
% xlabel('曲轴转角[°CA]');
% legend('B25','B50');
figure(2);
plot(V,y);
% hold on;
% plot(V2,y2);
% hold on;
% plot(V3,y3);
% title('p-V图');
% ylabel('缸内压力[bar]');
% xlabel('发动机瞬时体积[mm^3]');
% legend('B25','B50');
% legend('怠速','小负荷','中等负荷');
%计算
V1=V(1:1800,:);
y1=y(1:1800,:);
V2=V(1801:3600,:);
y2=y(1801:3600,:);
V3=V(3601:5400,:);
y3=y(3601:5400,:);
V4=V(5401:7200,:);
y4=y(5401:7200,:);
sjbjg=(trapz(V4,y4) trapz(V1,y1))/10000;
dlxhg=(trapz(V3,y3) trapz(V2,y2) sjbjg)/10000;
fprintf('动力循环功:%fJ\n',dlxhg);
fprintf('实际泵气功:%fJ\n',sjbjg);
%平行线法
% nihe1=polyfit(x,y,70);
% ma=max(y);
% jiaoxx=zeros(10,2);
% jiaoy=zeros(10,1);
% yfit=polyval(nihe1,x);
% plot(x,y);
% title('p-φ图');
% ylabel('缸内压力[bar]');
% xlabel('曲轴转角[°CA]');
% hold on;
% hengbiaoji=int8(0);
% for n=0.3:0.3:3
% ma1=ma-n;
% i=int8(10*n/3);
% nihe1(71)=nihe1(71)-ma1;
% jiaox=roots(nihe1);
% for t=1:70
% if (jiaox(t)>-35)&&(jiaox(t)<35)&&(imag(jiaox(t))==0)
% hengbiaoji=hengbiaoji 1;
% jiaoxx(i,hengbiaoji)=jiaox(t);
% end
% end
% hengbiaoji=int8(0);
% jiaoy(i)=ma1;
% nihe1(71)=nihe1(71) ma1;
% end
% xx2=sum(jiaoxx,2)/2;
% szdfit=polyfit(xx2,jiaoy,1);
% szdfit(2)=szdfit(2)-1;
% szd=roots(szdfit);
%
% for i=1:10
% plot([-60,60],[jiaoy(i),jiaoy(i)],'k');
% text(jiaoxx(i,1)-6,jiaoy(i),'o','color','g');
% text(jiaoxx(i,2)-6,jiaoy(i),'o','color','g');
% text(xx2(i)-6,jiaoy(i),'o','color','r');
% hold on;
% plot([-100,100],[1,1],'k');
% text(szd-6,1,'o','color','r');
% hold on;
% plot([-0.06,0.2],polyval(szdfit,[-0.06,0.2]));
% end