基于MatlabSimulink的汽车等速百公里燃料消耗量仿真
①編輯器輸入腳本代碼仿真:
ne=[1400 1400 1400 1400 1400 1400 1400 1400 1400 1400 1600 1600 1600 1600 1600 1600 1600 1600 1600 1600 1800 1800 1800 1800 1800 1800 1800 1800 1800 1800 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2200 2200 2200 2200 2200 2200 2200 2200 2200 2200 2400 2400 2400 2400 2400 2400 2400 2400 2400 2400 2600 2600 2600 2600 2600 2600 2600 2600 2600 2600 2800 2800 2800 2800 2800 2800 2800 2800 2800 2800]'; %賦值Tq=[399.8 354.1 318.5 278.1 236.2 203.6 185.3 157.2 117.2 80.8 409.1 365.7 328.3 284.1 243.7 203.2 164.3 123.9 83.5 39.7 408.3 368.3 328.3 289 244.4 208.8 167.7 132.1 89.5 46.1 425.6 380.3 332.7 290.9 244.4 205.1 160.2 114.5 68.8 30.7 420.7 379.6 334.6 291.6 244.4 202.8 157.5 116 74.1 37.8 404.6 360.5 322.7 283 243.3 205.5 162.1 124.7 86.8 52.4 378 344.7 310.3 264.3 226.1 186.8 154.2 115.3 76.3 34.1 315.6 275.5 242.5 210.3 178.5 145.6 118.6 72.6 52.8 22.4]'; %賦值X=[ones(80,1),ne,Tq,ne.^2,ne.*Tq,Tq.^2,ne.^3,ne.^2.*Tq,ne.*Tq.^2,Tq.^3]; %多元線性回歸設置be=[222.8 220.4 232.4 228.5 227.8 232.6 248.5 245.9 272.4 329.7 222 221.7 235.4 226.5 230.5 236.8 249.1 276.1 407.9 487 226 225.3 226.4 233.9 242.1 283.3 253.9 271.4 323.5 468.6 206.5 231.1 231.1 233 242 244.9 265 299.8 398 596.8 234.7 259.8 235.5 237.6 242.8 292.3 277.9 308.7 396.2 605.9 174.2 242.2 252.1 287.4 253.6 264.6 290.6 316.8 378 518.8 256.9 253.7 253.5 260 303.8 280.7 300.6 346.6 435.6 812.9 257.9 295.3 282.4 288.7 301.9 329.7 357 475.4 580.3 1080.1]'; %賦值[b,bint,r,rint,stats]=regress(be,X); %多元線性回歸函數模型ne1=linspace(1400,4000,200); %賦值范圍Tq1=linspace(0,600,200); %賦值范圍[X,Y]=meshgrid(ne1,Tq1); %網格矩陣劃分be1=b(1)*ones(200,200)+b(2)*X+b(3)*Y+b(4)*X.^2+b(5)*X.*Y+b(6)*Y.^2+b(7)*X.^3+b(8)*X.^2.*Y+b(9)*X.*Y.^2+b(10)*Y.^3; %回調函數計算燃料消耗率pe1=ne1.*Tq1/9550; %回調函數計算發動機功率u=input('請輸入轉速:'); %輸入設置n=u*0.778*4.1/(0.377*0.358); %計算發動機轉速pe=(2470*9.8*0.012*u/3600+0.42*2.7*u.^3/76140)/0.95; %計算發動機功率be=interp2(pe1,ne1,be1,pe,n); %計算燃油消耗率Qs=pe.*be/(1.02.*u*0.7*9.8); %計算燃油消耗量fprintf('等速百公里燃料消耗量Qs=% f\n',Qs); %輸出設置點擊運行,根據命令窗口提示‘輸入車速u’,Enter后,得到輸出結果‘等速百公里燃料消耗量Qs’
將多次輸入的不同車速u與其對應輸出的等速百公里燃料消耗量Qs生成曲線圖
輸入仿真曲線生成命令:
u=[60:10:140]; %賦值
Qs=[13.899430 9.973862 7.685801 7.064306 7.941033 9.824412 11.776197 12.289413 9.166296]; %賦值
plot(u,Qs); %定義坐標軸生成曲線圖
values=spcrv([[u(1) u u(end)];[Qs(1) Qs Qs(end)]],3); %曲線圓滑過渡設置
plot(values(1,:),values(2,:)); %定義坐標軸生成曲線圖
title('汽車等速行駛百公里燃料消耗仿真曲線圖'); %定義曲線圖標題
xlabel('車速/(km/h)'); %定義X軸標題
ylabel('燃料消耗量/(L/100km)'); %定義Y軸標題
最后得到汽車等速行駛百公里燃料消耗仿真曲線圖:
②Simulink模型仿真:
整體框架:
可以修改汽車發動機各參數,運行仿真模型,會生成仿真曲線圖
也將會把各組數據輸出到工作區,
或者返回Matlab命令窗口
輸入以下仿真曲線生成命令:
plot(u,Qs);?
values=spcrv([[u(1) u u(end)];[Qs(1) Qs Qs(end)]],3);?
plot(values(1,:),values(2,:));?
title('汽車等速行駛百公里燃料消耗仿真曲線圖');?
xlabel('車速/(km/h)'); %定義X軸標題
ylabel('燃料消耗量/(L/100km)');?
最后得到和①中編程仿真結果相同。
Simulink仿真模型參數下載
Simulink仿真模型源文件下載
總結
以上是生活随笔為你收集整理的基于MatlabSimulink的汽车等速百公里燃料消耗量仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菜鸟入门_Python_机器学习(1)_
- 下一篇: CVPR 2022 部分行人重识别