В этом примере показано, как получить город и магистральную экономию топлива и эмиссию выхлопной трубы для автомобиля с бензиновым двигателем с 1.5–L двигателем с искровым зажиганием. Чтобы запустить этот пример, установите город (FTP75) и магистраль (HWFET) циклы диска. Чтобы установить, смотрите Данные о Цикле Диска Установки.
Чтобы открыть скрипт, который выполняет эти команды в командном окне MATLAB®, введите:
Откройте проект примера готовых узлов автомобиля с бензиновым двигателем.
autoblkConVehStart;
Подготовьте пример готовых узлов к симуляции.
Назовите подсистемы.
model = 'SiCiPtReferenceApplication'; dcs = [model, '/Drive Cycle Source']; vis_sys = [model, '/Visualization'];
Добавьте регистраторы сигнала в модели с помощью функционального pt_set_logging
.
pt_set_logging([vis_sys,'/Performance Calculations'],'US MPG',... 'Fuel Economy [mpg]','both') pt_set_logging([vis_sys,'/Emission Calculations'],'TP HC Mass (g/mi)',... 'HC [g/mi]','both') pt_set_logging([vis_sys,'/Emission Calculations'],'TP CO Mass (g/mi)',... 'CO [g/mi]','both') pt_set_logging([vis_sys,'/Emission Calculations'],... 'TP NOx Mass (g/mi)','NOx [g/mi]','both') pt_set_logging([vis_sys,'/Emission Calculations'],... 'TP CO2 Mass (g/km)','CO2 [g/km]','both')
Запустите симуляцию автомобиля с бензиновым двигателем с помощью городского цикла диска FTP75
.
set_param(dcs,'cycleVar','FTP75'); tfinal = get_param(dcs, 'tfinal'); tf = tfinal(1:strfind(tfinal,' ')); simout1 = sim(model,'ReturnWorkspaceOutputs','on', 'StopTime', tf);
Запустите симуляцию автомобиля с бензиновым двигателем с помощью магистрального цикла диска HWFET
.
set_param(dcs,'cycleVar','HWFET'); tfinal = get_param(dcs, 'tfinal'); tf = tfinal(1:strfind(tfinal,' ')); simout2 = sim(model,'ReturnWorkspaceOutputs','on', 'StopTime', tf);
Извлеките магистральная экономия топлива и город. Вычислите объединенную экономию топлива.
logsout1 = simout1.get('logsout'); FE_urban = logsout1.get('Fuel Economy [mpg]').Values.Data(end); logsout2 = simout2.get('logsout'); FE_hwy = logsout2.get('Fuel Economy [mpg]').Values.Data(end); FE_combined = 0.55*FE_urban + 0.45*FE_hwy;
Извлеките выбросы выхлопной трубы городского цикла диска.
HC = logsout1.get('HC [g/mi]').Values.Data(end); CO = logsout1.get('CO [g/mi]').Values.Data(end); NOx = logsout1.get('NOx [g/mi]').Values.Data(end); CO2 = logsout1.get('CO2 [g/km]').Values.Data(end);
Отобразите экономию топлива и результаты эмиссии выхлопной трубы в командном окне.
fprintf('\n***********************\n') fprintf('FUEL ECONOMY\n'); fprintf(' City: %4.2f mpg\n', FE_urban); fprintf(' Highway: %4.2f mpg\n', FE_hwy); fprintf(' Combined: %4.2f mpg\n', FE_combined); fprintf('\nTAILPIPE EMISSIONS\n'); fprintf(' HC: %4.3f [g/mi]\n',HC); fprintf(' CO: %4.3f [g/mi]\n',CO); fprintf(' NOx: %4.3f [g/mi]\n',NOx); fprintf(' CO2: %4.1f [g/km]\n',CO2); fprintf(' NMOG: %4.3f [g/mi]',HC+NOx); fprintf('\n***********************\n')
Удалите временные переменные.
clear ans dcs model tf tfinal vis_sys
Вы не можете сделать паузу, симуляции начали использовать sim
команда.