EV是什么?
EV的全称是 "Electric Vehicle",翻译过来是 "电动汽车"。在混动汽车的语境下,通常所说的"EV模式"就是指纯电动驱动模式,即车辆仅依靠牵引电池和动力电机驱动,发动机不工作,当激活EV模式时,车辆不会消耗燃油。
为了弥补传统燃油车在城市拥堵路况下"怠速耗油"和"低速低效"的短板。混动EV模式做了如下改进:
-
堵车时:传统燃油车在停止时发动机仍在空转耗油,而混动车在EV模式下,停下来发动机就是彻底关闭的,完全不耗油。
-
起步时:传统燃油车起步阶段是油耗最高的时刻,而电动机起步不仅快,而且不烧油。
在低速、走走停停的城市拥堵路况下,传统燃油车因为发动机频繁怠速和低效率工作,油耗会很高。而混动车使用EV模式,正好避开了发动机最费油的工况,让电机充分发挥起步快、安静且零油耗的优势。
当然,EV模式省油是建立在电池有电的基础上的。混动系统会根据电量智能调整策略,这直接影响了最终的油耗表现.
-
电量充足时(理想状态):系统优先或可以强制使用EV模式,车辆完全由电力驱动。这是最省油的阶段,实现了局部零油耗。
-
电量不足时(关键转折点):当电池电量降到设定值以下,车辆会自动退出EV模式,进入混合动力模式。此时发动机会启动,一部分用来驱动车轮,一部分用来发电给电池充电。这个阶段的油耗会明显上升。在亏电状态下遇到严重堵车,油耗甚至可能比同型号的纯油车更高。
EV模式只是将油耗推迟了,而不是消除了,相当于再能量和动力之间增加了一个BUF。
EV比是什么?
EV比指的是在车辆行驶过程中,纯电驱动模式(EV模式)行驶的时间(或里程)占总行驶时间(或里程)的百分比。它是衡量一辆混动汽车"用电程度"的核心指标。
实测数据
经过不同路况(高速,市区通勤,堵车情况)实际测试,得到几组EV比和油耗数据如下:
- 数据1:EV比77%,油耗3.2L/100KM,里程27.2KM,用时45分钟。
- 数据2:EV比86%,油耗4.3L/100KM,里程4.5KM,用时15分钟。
- 数据3:EV比76%,油耗4.4L/100KM,里程28.3KM,用时1时16分钟。
- 数据4:EV比46%,油耗5.3L/100KM,里程133.4KM,用时1时47分钟。
- 数据5:EV比72%,油耗3.8L/100KM,里程23.4KM,用时38分钟。
- 数据6:EV比74%,油耗3.6L/100KM,里程18.3KM,用时27分钟
- 数据7:EV比83%,油耗3.2L/100KM,里程26.8KM,用时49分钟。
- 数据8:EV比82%,油耗3.4L/100KM,里程26.9KM,用时50分钟。
- 数据9:EV比72%,油耗3.7L/100KM,里程40.1KM,用时51分钟。
- 数据10:EV比71%,油耗3.6L/100KM,里程19.5KM,用时29分钟。
- 数据11:EV比80%,油耗3.5L/100KM,里程26.8KM,用时48分钟。
- 数据12:EV比72%,油耗3.6L/100KM,里程27.2KM,用时38分钟。
- 数据13:EV比75%,油耗4.4L/100KM,里程23.3KM,用时42分钟。
- 数据14:EV比58%,油耗4.9L/100KM,里程127.4KM,用时2时零9分钟。
将数据绘制到坐标系中:
最直观的发现是,数据点2(Point B, EV比86%,油耗4.3L),数据点3(Point C, EV比76%,油耗4.4L)和数据点13(Point N, EV比75%,油耗4.4L)非常特殊。它们呈现出"高EV比但高油耗"的反常现象,与"EV比越高,油耗越低"的普遍认知相悖。
相关性分析
为了量化EV比和油耗之间的关系,我们可以计算它们的相关系数。相关系数越接近-1,代表负相关关系越强(即EV比越高,油耗越低)。根据概率论公式,相关系数的计算方法如下:
编程计算相关系数:
#include <stdio.h>
#include <string.h>
#include <math.h>
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
static double Y[] = {3.2, 4.3, 4.4, 5.3, 3.8, 3.6, 3.2, 3.4, 3.7, 3.6, 3.5, 3.6, 4.4, 4.9};
static double X[] = {77 , 86 , 76 , 46 , 72 , 74 , 83 , 82 , 72 , 71 , 80 , 72 , 75, 58};
int main(void)
{
int i;
double ave_x = 0.0f, ave_y = 0.0f;
double fenzi = 0.0f, fenmu1=0.0f, fenmu2=0.0f;
if (ARRAY_SIZE(X) != ARRAY_SIZE(Y)) {
printf("%s line %d, error, array not match.\n", __func__, __LINE__);
return -1;
}
for (i = 0; i < ARRAY_SIZE(X); i++) {
ave_x += X[i];
ave_y += Y[i];
}
ave_x /=ARRAY_SIZE(X);
ave_y /=ARRAY_SIZE(Y);
printf("ave_x is %f, ave_y = %f.\n", ave_x, ave_y);
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenzi += (X[i]-ave_x) * (Y[i]-ave_y);
}
printf("fenzi is %f.\n", fenzi);
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenmu1 += pow((X[i]-ave_x), 2.0);
}
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenmu2 += pow((Y[i]-ave_y), 2.0);
}
fenmu1 = sqrt(fenmu1);
fenmu2 = sqrt(fenmu2);
printf("fenmu is %f.\n", fenmu1 * fenmu2);
printf("the r result is %f\n", fenzi / (fenmu1 * fenmu2));
return 0;
}
最后得到相关系数是-0.713181,表明EV比例和油耗呈现高度负相关。说明从整体趋势上看,EV比的提高确实能带来油耗的下降,但这个关系并不是绝对的,存在一些干扰因素(很可能就是数据点2和3,13代表的因素)。
剔除异常点(数据2和3,13):
得到的相关系数是-0.960535,是一个极强的负相关(接近极限值 -1.0)。这意味着,在剔除了三个异常数据点之后,剩下的10组数据几乎完美地落在一条下降的直线上, EV比的提高,几乎完全决定了油耗的下降。
用最小二乘法,计算剔除异常点后的拟合直线,设拟合直线方程 y = ax + b:
#include <stdio.h>
#include <string.h>
#include <math.h>
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
static double Y[] = {3.2, /*4.3, 4.4,*/ 5.3, 3.8, 3.6, 3.2, 3.4, 3.7, 3.6, 3.5, 3.6, /*4.4,*/ 4.9};
static double X[] = {77 , /*86 , 76 ,*/ 46 , 72 , 74 , 83 , 82 , 72 , 71 , 80 , 72 , /*75, */ 58};
static void calculate_line(void)
{
int i;
double a, b;
double tmp1 = 0.0f, tmp2=0.0f;
double fenzi_part1 = 0.0f, fenzi_part2=0.0f;
double fenmu_part1 = 0.0f, fenmu_part2=0.0f;
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenzi_part1 += X[i]*Y[i];
}
fenzi_part1 *= ARRAY_SIZE(X);
for (i = 0; i < ARRAY_SIZE(X); i++) {
tmp1 += X[i];
tmp2 += Y[i];
}
fenzi_part2 = tmp1 * tmp2;
tmp1 = tmp2 = 0.0f;
for (i = 0; i < ARRAY_SIZE(X); i++) {
tmp1 += X[i] * X[i];
tmp2 += X[i];
}
fenmu_part1 = tmp1 * ARRAY_SIZE(X);
fenmu_part2 = tmp2 * tmp2;
a = (fenzi_part1 - fenzi_part2) / (fenmu_part1 - fenmu_part2);
printf("a is %f.\n", a);
tmp1 = tmp2 = 0.0f;
for (i = 0; i < ARRAY_SIZE(X); i++) {
tmp1 += X[i];
tmp2 += Y[i];
}
b = (1.0f/ARRAY_SIZE(X)) * tmp2 - (a / ARRAY_SIZE(X)) * tmp1;
printf("b is %f.\n", b);
return;
}
int main(void)
{
int i;
double ave_x = 0.0f, ave_y = 0.0f;
double fenzi = 0.0f, fenmu1=0.0f, fenmu2=0.0f;
if (ARRAY_SIZE(X) != ARRAY_SIZE(Y)) {
printf("%s line %d, error, array not match.\n", __func__, __LINE__);
return -1;
}
for (i = 0; i < ARRAY_SIZE(X); i++) {
ave_x += X[i];
ave_y += Y[i];
}
ave_x /=ARRAY_SIZE(X);
ave_y /=ARRAY_SIZE(Y);
printf("ave_x is %f, ave_y = %f.\n", ave_x, ave_y);
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenzi += (X[i]-ave_x) * (Y[i]-ave_y);
}
printf("fenzi is %f.\n", fenzi);
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenmu1 += pow((X[i]-ave_x), 2.0);
}
for (i = 0; i < ARRAY_SIZE(X); i++) {
fenmu2 += pow((Y[i]-ave_y), 2.0);
}
fenmu1 = sqrt(fenmu1);
fenmu2 = sqrt(fenmu2);
printf("fenmu is %f.\n", fenmu1 * fenmu2);
printf("the r result is %f\n", fenzi / (fenmu1 * fenmu2));
calculate_line();
return 0;
}
得到拟合直线参数a=-0.059592,b= 8.063521,通过最小二乘法拟合得到的直线方程为:
y=-0.059592x + 8.063521
直线是下图的样子,可以看到,在排除三个异常点后,拟合直线几乎和样本数据重合,直线斜率为负,这也强烈说明了EV比和油耗的线性反相关的联系。
根据样本数据,直线截距8.063521表示在EV比为0,也就是纯油驱动情况下的平均油耗是8.063521/100KM,也就是说,这台丰田混动车型即便不用动力电池,仅靠纯油驱动,平均油耗也不会超过8.063521L/100KM。
D点和O点分别对应样本4和样本14,这是样本中唯二的在高速往返行使数据,跑高速的特点是车速高,在车速过高(如丰田RAV4超过60km/h或在高速巡航)、急加速或爬陡坡时,即使你选了EV模式,系统为了保障动力,也可能强制启动发动机介入,导致EV模式自动取消。在高速路段,由于发动机持续工作为电池充电或直接驱动车轮,混动车的油耗优势并不明显此时EV比明显低于市区通勤,反而可能出现高油耗,这与高速省油,但城市道路耗油的油车正好相反。
油耗区间是3.2/5.3, EV比区间是58/86,这是目前的数据,和厂家给出的数据是符合的,随着用车次数增加,后期会持续刷新。
三个异常点说明什么?
个人感觉这个问题和EV比定义究竟是时间比还是里程比有关,要理解这些异常数据,必须追问EV比的定义,更要追问那剩下的百分比是在什么工况下发生的。
如果EV是时间比,可能说明虽然行车过程中绝大部分时间是用的电驱,导致电池亏电,剩下一小部分时间用的发动机驱动,但是在这小部分时间中系统为了保障动力,发动机油耗远远高于平均值(比如中间一段路是快速路,路好走,行车时间短,车速快,发动机亏电,既要驱动行使又要给动力电池充电,出现用油高峰)。
如果EV是里程比,以样本2为例,4.5公里中,有86%(3.87km)在用动力电池驱动,导致电池亏电,剩下的小部分路程全部是在上大坡,路难走,行车时间长,然后在亏电状态下,发动机被迫高负荷工作(既要驱动又要充电),导致最后一段路的油耗急剧飙升,最终拉高了全程的平均油耗,油耗高。
这就像一个人说"我一周7天有6天在吃素,只有1天吃肉",但结果体重却增加了。原因可能是那1天吃的肉量惊人。种方式都是"先甜后苦",只不过一个是时间维度,一个是空间维度。
时间维度理解:
-
甜(用电时间占86%):市区、低速、平路。这些路段耗时很长(所以EV时间比高),但能耗强度低,用电非常划算。
-
苦(用油时间占14%):快速路/高速。这些路段耗时短(所以EV时间比被拉高),但能耗强度极高,而且此时电池已亏电,发动机既要维持高速巡航,又要强行充电。
-
结果:用14%的时间,烧掉了远超14%的油。先用电跑低速,后用油跑高速------这就是时间维度的"先甜后苦"。
空间维度理解:
-
甜(用电里程占86%):平路、好路。这些路段跑得远(所以EV里程比高),但单位里程能耗低。
-
苦(用油里程占14%):上大坡。这些路段里程短(所以EV里程比被拉高),但单位里程能耗极高,而且电池已亏电,发动机要拼命爬坡。
-
结果:用14%的里程,烧掉了远超14%的油。先用电跑平路,后用油爬大坡------这就是里程维度的"先甜后苦"。
这两种解释,虽然基于不同的EV比定义,但它们指向的其实是同一个本质错误:把电浪费在了本不需要它的地方,却让发动机去干它最不擅长的活。
因为没有更多渠道获取信息,暂时不清楚这个EV比是时间EV比还是里程EV比(我倾向于时间比),问题放在后面再研究,有知道的朋友也可以在本博客下面留言,如解此惑,不胜感激。
EV比有啥意义?
讨论了这么多,EV比对老司机有什么意义呢?我们能够从EV比中看出什么信息呢?以下是几点总结:
-
EV比反映充电频率:对于插电混动车,EV比高通常意味着你充电比较勤,很好地发挥了电车低成本的优势。
-
EV比反映路况:EV比高往往对应着低速、拥堵的城市路况(因为此时发动机效率低,系统更愿意用电);EV比低则可能对应着高速巡航(此时发动机效率高,系统更愿意用油)。
-
EV比帮助诊断油耗:当发现某次行程油耗突然变高时,先看一眼EV比。如果EV比本身就低,油耗高是正常的;如果EV比很高但油耗也高(比如数据2和3,13),那就说明行程规划可能出了问题(比如在亏电状态下遭遇了严重拥堵或长时间爬坡)。