一种考虑时序性的负荷建模方法、系统、存储介质与流程

文档序号:22740463发布日期:2020-10-31 09:23阅读:199来源:国知局
一种考虑时序性的负荷建模方法、系统、存储介质与流程

本发明涉及负荷仿真模拟技术领域,具体来说是一种考虑时序性的负荷建模方法、系统、存储介质。



背景技术:

电力系统规划中,负荷建模占据了极其重要的位置。由于负荷的历史数据是固定的,在仿真运算中,仅仅依靠历史数据很难考虑所有可能出现的负荷情况。因此能准确把握一个地区的负荷特征对电力系统规划的可靠性有着极大的意义。

传统的负荷建模有两个方向,概率模型和时序模型。概率模型主要使用蒙特卡洛法,以随机抽样得到负荷数据,不具备时序性,主要适用于风险评估的计算。时序模型主要适用于电网规划等问题,主流的时序负荷建模使用的是峰荷比法,以负荷历史数据提炼出年、周、天三组系数,乘以最大负荷得到模拟数据。尽管峰荷比法可以复现负荷的时序特征,但这种方法的日负荷变化是固定的,本质上是典型日负荷的复制,因此其不能复现负荷的全部概率分布特征,也不具备负荷的随机波动,在电力系统仿真中准确度较差。

如申请号为202010341288.4公开的一种短期负荷预测方法短期负荷预测模型训练方法及装置,其公开了依靠数据库,通过神经网络学习,然后由当前负荷特征推测下一时刻负荷,由于该方法为属于无监督学习,且不具有矫正功能,仅仅适合限制在几分钟或者几个时刻点的负荷预测;所以该方法如果用来长时间演变,肯定无法得到精确的负荷模拟。

随着新能源并网比例不断上升,电力系统仿真愈发重视时序性特征,传统的峰荷比法逐渐难以适应需求。这就需要一种新的时序负荷模拟方法,既可以复现该地区负荷的时序特征,又可以兼具负荷的概率分布和随机波动。



技术实现要素:

本发明所要解决的技术问题在于如何提供一种计算量小、成本低的日负荷模拟方法。

本发明通过以下技术手段实现解决上述技术问题的:

一种考虑时序性的负荷建模方法,包括以下步骤:

步骤1、获取同一类型的负荷历史数据,构成负荷数据矩阵l,第i天第j时刻的负荷为lij,依据数据量共m天,依据数据时间尺度每天共n个时刻点;

步骤2、获取各时刻所有天的负荷数据为集合,集合记为t1,t2,…,tj,…,tn;则tj即为集合{l1j,l2j,....,lij,…,lmj};

tj={l1j,l2j,...,lij,....,lmj}(j=1,2,...,n)(2)

步骤3、分别处理各个集合的数据得到各个集合的累计分布函数,记为ftj(x),及其反函数,记为ktj(x),则共计n个ftj(x)和n个ktj(x);

ftj(x)=cdf(tj)(j=1,2,...,n)(3)

ktj(x)=ftj-1(x)(j=1,2,...,n)(4)

步骤4、以0-1均匀分布抽样出一个0-1之间的数记为u,分别代入到函数ktj(x)中,得到kt1(u),kt2(u),…,ktj(u),…,ktn(u),即为模拟日负荷各时刻点的基准值。

本申请用单类型负荷的历史数据统计其分布规律,并按时刻点分别求取各时刻点的累计分布函数的反函数,再统计其误差分布规律,继而仅仅用0-1间的均匀抽样并代入所得的反函数中,就可以得到准确度高又兼顾负荷日变化规律的模拟负荷。相比于传统负荷模拟方法,本发明在建模完成后,抽样简单计算成本低,准确度高,适用性广,同时兼具了日负荷时序变化规律和负荷概率分布情况,在各种应用场景如电源规划、风险评估等有更好的效果。

进一步的,还包括误差削除步骤,具体为:

步骤5、将所有负荷历史数据lij分别代入到对应的ftj(x)中,求得数据yij,所述yij代表某一时刻点的负荷,在全年该时刻点所有负荷值中的大小关系;共计m*n个yij;

yij=ftj(lij)(i=1,2,...,m;j=1,2,...,n)(5)

步骤6、求取每天的yij的平均值ai,代入到ktj(x)中,求得每天的负荷标准值,记为laij,得到负荷标准值矩阵la

步骤7、以负荷历史数据矩阵l减去负荷标准值矩阵la得到模拟误差,记为c,统计误差矩阵c得到误差的概率密度函数,记为h(x);

h(x)=cdf(cij)(i=1,2,...,m;j=1,2,...,n)(10)

步骤8、再同样以0-1均匀分布抽样0-1之间的数,共抽样n次,记为p1,p2,…,pj,…,pn代入到h(x)中,得到h(p1),h(p2),…,h(pj),…,h(pn);即为模拟日负荷各时刻点的随机波动值;

步骤9、将模拟日负荷各时刻点的基准值和随机波动值相加得kt1(u)+h(p1),kt2(u)+h(p2),…,ktj(u)+h(pj),…,ktn(u)+h(pn),即为所抽样的一天的负荷模拟结果;

进一步的,还包括如果需要多天的负荷模拟结果,则按照所需天数重复步骤4、步骤8、步骤9,可获得重复次数数量的模拟日负荷数据的步骤。

本发明还提供一种考虑时序性的负荷建模系统,包括

负荷数据矩阵构建模块,获取同一类型的负荷历史数据,构成负荷数据矩阵l,第i天第j时刻的负荷为lij,依据数据量共m天,依据数据时间尺度每天共n个时刻点;

各时刻所有天的负荷数据集合构建模块,获取各时刻所有天的负荷数据为集合,集合记为t1,t2,…,tj,…,tn;则tj即为集合{l1j,l2j,...,lij,…,lmj};

tj={l1j,l2j,...,lij,....,lmj}(j=1,2,...,n)(2)

累计分布函数的反函数构建模块,分别处理各个集合的数据得到各个集合的累计分布函数,记为ftj(x),及其反函数,记为ktj(x),则共计n个ftj(x)和n个ktj(x);

ftj(x)=cdf(tj)(j=1,2,...,n)(3)

ktj(x)=ftj-1(x)(j=1,2,...,n)(4)

模拟日负荷各时刻点的基准值计算模块,以0-1均匀分布抽样出一个0-1之间的数记为u,分别代入到函数ktj(x)中,得到kt1(u),kt2(u),…,ktj(u),…,ktn(u),即为模拟日负荷各时刻点的基准值。

进一步的,还包括

某时刻负荷在全周期该时刻所有负荷中大小关系的计算模块,将所有负荷历史数据lij分别代入到对应的ftj(x)中,求得数据yij,所述yij代表某一时刻点的负荷,在全年该时刻点所有负荷值中的大小关系,共计m*n个yij;

yij=ftj(lij)(i=1,2,...,m;j=1,2,...,n)(5)

日负荷标准值计算模块,求取每天的yij的平均值ai,代入到ktj(x)中,求得每天的负荷标准值,记为laij,得到负荷标准值矩阵la

误差概率密度函数计算模块,以负荷历史数据矩阵l减去负荷标准值矩阵la得到模拟误差,记为c,统计误差矩阵c得到误差的概率密度函数,记为h(x);

h(x)=cdf(cij)(i=1,2,...,m;j=1,2,...,n)(10)

随机波动值计算模块,再同样以0-1均匀分布抽样0-1之间的数,共抽样n次,记为p1,p2,…,pj,…,pn代入到h(x)中,得到h(p1),h(p2),…,h(pj),…,h(pn);即为模拟日负荷各时刻点的随机波动值;

日负荷模拟结构计算模块,将模拟日负荷各时刻点的基准值和随机波动值相加得kt1(u)+h(p1),kt2(u)+h(p2),…,ktj(u)+h(pj),…,ktn(u)+h(pn),即为所抽样的一天的负荷模拟结果;

进一步的,还包括多天负荷模拟结果模块,如果需要多天的负荷模拟结果,则按照所需天数重复执行模拟日负荷各时刻点的基准值计算模块、随机波动值计算模块、日负荷模拟结构计算模块,可获得重复次数数量的模拟日负荷数据的步骤。

本发明还提供一种存储介质,其中存储多条指令,所述指令适用于处理器加载并执行,所述多条指令为:

负荷数据矩阵构建,获取同一类型的负荷历史数据,构成负荷数据矩阵l,第i天第j时刻的负荷为lij,依据数据量共m天,依据数据时间尺度每天共n个时刻点;

各时刻所有天的负荷数据集合构建,获取各时刻所有天的负荷数据为集合,集合记为t1,t2,…,tj,…,tn;则tj即为集合{l1j,l2j,....,lij,…,lmj};

tj={l1j,l2j,...,lij,....,lmj}(j=1,2,...,n)(2)

累计分布函数的反函数构建,分别处理各个集合的数据得到各个集合的累计分布函数,记为ftj(x),及其反函数,记为ktj(x),则共计n个ftj(x)和n个ktj(x);

ftj(x)=cdf(tj)(j=1,2,...,n)(3)

ktj(x)=ftj-1(x)(j=1,2,...,n)(4)

模拟日负荷各时刻点的基准值计算,以0-1均匀分布抽样出一个0-1之间的数记为u,分别代入到函数ktj(x)中,得到kt1(u),kt2(u),…,ktj(u),…,ktn(u),即为模拟日负荷各时刻点的基准值。

进一步的,所述指令还包括

某时刻负荷在全年该时刻所有负荷中大小关系的计算,将所有负荷历史数据lij分别代入到对应的ftj(x)中,求得数据yij,所述yij代表某一时刻点的负荷,在全年该时刻点所有负荷值中的大小关系,共计m*n个yij;

yij=ftj(lij)(i=1,2,...,m;j=1,2,...,n)(5)

日负荷标准值计算模块,求取每天的yij的平均值ai,代入到ktj(x)中,求得每天的负荷标准值,记为laij,得到负荷标准值矩阵la

误差概率密度函数计算,以负荷历史数据矩阵l减去负荷标准值矩阵la得到模拟误差,记为c,统计误差矩阵c得到误差的概率密度函数,记为h(x);

h(x)=cdf(cij)(i=1,2,...,m;j=1,2,...,n)(10)

随机波动值计算,再同样以0-1均匀分布抽样0-1之间的数,共抽样n次,记为p1,p2,…,pj,…,pn代入到h(x)中,得到h(p1),h(p2),…,h(pj),…,h(pn);即为模拟日负荷各时刻点的随机波动值;

日负荷模拟结构计算,将模拟日负荷各时刻点的基准值和随机波动值相加得kt1(u)+h(p1),kt2(u)+h(p2),…,ktj(u)+h(pj),…,ktn(u)+h(pn),即为所抽样的一天的负荷模拟结果;

进一步的,所述指令还还包括

多天负荷模拟结果,如果需要多天的负荷模拟结果,则按照所需天数重复执行模拟日负荷各时刻点的基准值计算、随机波动值计算、日负荷模拟结构计算指令,可获得重复次数数量的模拟日负荷数据的步骤。

本发明的优点在于:

本申请用单类型负荷的历史数据统计其分布规律,并按时刻点分别求取各时刻点的累计分布函数的反函数,再统计其误差分布规律,继而仅仅用0-1间的均匀抽样并代入所得的反函数中,就可以得到准确度高又兼顾负荷日变化规律的模拟负荷。相比于传统负荷模拟方法,本发明在建模完成后,抽样简单计算成本低,准确度高,适用性广,同时兼具了日负荷时序变化规律和负荷概率分布情况,在各种应用场景如电源规划、风险评估等有更好的效果。

本发明提供的方法应用范围广,可以抽样出一天、一年、多年的负荷数据,也可以点抽样得到一个时刻的数据。既能用于潮流计算的仿真模拟,也可用于地区电网容量规划的计算。

附图说明

图1为本发明实施例中案例的原始数据一年负荷的不透明散点图;

图2为本发明实施例中案例采用考虑时序性的负荷建模方法模拟数据一年负荷的不透明散点图;

图3为本发明实施例中案例采用传统方法模拟数据一年负荷不透明散点图;

图4为本发明实施例中案例考虑时序性的负荷建模方法、传统方法和原始数据的概率密度函数对比图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种考虑时序性的负荷建模方法,包括以下步骤:

步骤1、获取同地区同一类型的负荷历史数据,历史数据需要以年为单位,至少需要一年的负荷历史数据。历史数据需保证是同地区单一类型的负荷,负荷类型如商业负荷、工业负荷、居民负荷等。如果是负荷组成类型复杂,多种类型的负荷都有的情况,该方法虽然也可以适用但准确度将降低。负荷取点时间间隔可依据需求决定,时间间隔越小则数据量越大,初期建模时间和成本增加,但准确度会提高。反之时间间隔越大,建模越容易,准确度越低。一般可取15min,则以一年的负荷数据为例,构建负荷数据矩阵l。一年取365天,以15min为间隔一天共96个时刻点,则l为365行96列的矩阵,如式(1)所示。

式中,lij为i天j时刻的负荷历史数据;m为所取历史数据总天数,一年取365天,m等于365;n为所取历史数据每天的总时刻数即每天的样本点数,实施例取时间间隔为15min,则n为96;

步骤2、获取各时刻所有天的负荷数据为集合,集合记为t1,t2,…,tj,…,tn,实施例以15min为间隔,故一天共96个时刻点,共96个集合。j时刻的集合tj即为集合{l1j,l2j,....,lij,…,lmj}。

tj={l1j,l2j,...,lij,....,lmj}(j=1,2,...,n)(2)

步骤3、分别处理各个集合的数据得到各个集合的累计分布函数,记为ftj(x),及其反函数,记为ktj(x),则实施例共计96个ftj(x)和96个ktj(x)。

ftj(x)=cdf(tj)(j=1,2,...,n)(3)

ktj(x)=ftj-1(x)(j=1,2,...,n)(4)

步骤4、以0-1均匀分布抽样出一个0-1之间的数记为u,分别代入到函数ktj(x)中,得到kt1(u),kt2(u),…,ktj(u),…,ktn(u)。即为模拟日负荷各时刻点的基准值。

本申请用单类型负荷的历史数据统计其分布规律,并按时刻点分别求取各时刻点的累计分布函数的反函数,再统计其误差分布规律,继而仅仅用0-1间的均匀抽样并代入所得的反函数中,就可以得到准确度高又兼顾负荷日变化规律的模拟负荷。相比于传统负荷模拟方法,本发明在建模完成后,抽样简单计算成本低,准确度高,适用性广,同时兼具了日负荷时序变化规律和负荷概率分布情况,在各种应用场景如电源规划、风险评估等有更好的效果。

为了提高精度,本实施例还通过以下步骤消除误差:

步骤5、将所有负荷历史数据lij分别代入到对应的ftj(x)中,求得数据yij,yij代表某一时刻点的负荷,在全年该时刻点所有负荷值中的大小关系;共计m*n个yij,实施例中为365天每天96个时刻点共365*96即350404个yij;

yij=ftj(lij)(i=1,2,...,m;j=1,2,...,n)(5)

步骤6、求取每天的yij的平均值ai,如式(6)所示。再将ai代入到对应的ktj(x)中,求得每天的负荷标准值,记为laij,如式(7)所示。得到负荷标准值矩阵la,实施例中矩阵行数365行,列数96列,如式(8)所示。

步骤7、以负荷历史数据矩阵l减去负荷标准值矩阵la得到模拟误差,记为c,统计误差矩阵c得到误差的概率密度函数,记为h(x),通常为高斯分布。

h(x)=cdf(cij)(i=1,2,...,m;j=1,2,...,n)(10)

步骤8、再同样以0-1均匀分布抽样0-1之间的数,共抽样n次,记为p1,p2,…,pj,…,pn代入到h(x)中,得到h(p1),h(p2),…,h(pj),…,h(pn)。即为模拟日负荷各时刻点的随机波动值。

步骤9、将模拟日负荷各时刻点的标准值和随机波动值相加得kt1(u)+h(p1),kt2(u)+h(p2),…,ktj(u)+h(pj),…,ktn(u)+h(pn),即为所抽样的一天的负荷模拟结果。

步骤10、如果需要多天的负荷模拟结果,则按照所需天数重复步骤4、步骤8、步骤9,可获得重复次数数量的模拟日负荷数据。

案例

图1、2、3为不透明散点图,横坐标为时间,纵坐标为负荷数据,颜色深浅代表负荷数据出现频数大小,颜色深代表出现次数多,浅代表次数少,由不透明散点图可以看出数据的时序特征和分布情况。对比图1、图2、图3可以看到所提方法的模拟负荷结果更接近原始数据而传统方法虽然有时序变化趋势,但负荷概率分布情况并未复现。图4是所提方法、传统方法的模拟年负荷数据和原始数据的概率密度函数对比图,所提方法基本与原始数据概率密度保持一致,而传统方法则差距较大,不能复现负荷原始数据的概率分布情况。

本实施例还提供一种考虑时序性的负荷建模系统,包括

负荷数据矩阵构建模块,获取同地区同一类型的负荷历史数据,历史数据需要以年为单位,至少需要一年的负荷历史数据。历史数据需保证是同地区单一类型的负荷,负荷类型如商业负荷、工业负荷、居民负荷等。如果是负荷组成类型复杂,多种类型的负荷都有的情况,该方法虽然也可以适用但准确度将降低。负荷取点时间间隔可依据需求决定,时间间隔越小则数据量越大,初期建模时间和成本增加,但准确度会提高。反之时间间隔越大,建模越容易,准确度越低。一般可取15min,则以一年的负荷数据为例,构建负荷数据矩阵l。一年取365天,以15min为间隔一天共96个时刻点,则l为365行96列的矩阵,如式(1)所示。

式中,lij为i天j时刻的负荷历史数据;m为所取历史数据总天数,一年取365天,m等于365;n为所取历史数据每天的总时刻数即每天的样本点数,实施例取时间间隔为15min,则n为96;

各时刻所有天的负荷数据集合构建模块,获取各时刻所有天的负荷数据为集合,集合记为t1,t2,…,tj,…,tn,实施例以15min为间隔,故一天共96个时刻点,共96个集合。j时刻的集合tj即为集合{l1j,l2j,....,lij,…,lmj}。

tj={l1j,l2j,...,lij,....,lmj}(j=1,2,...,n)(2)

累计分布函数的反函数构建模块,分别处理各个集合的数据得到各个集合的累计分布函数,记为ftj(x),及其反函数,记为ktj(x),则实施例共计96个ftj(x)和96个ktj(x)。

ftj(x)=cdf(tj)(j=1,2,...,n)(3)

ktj(x)=ftj-1(x)(j=1,2,...,n)(4)

模拟日负荷各时刻点的基准值计算模块,以0-1均匀分布抽样出一个0-1之间的数记为u,分别代入到函数ktj(x)中,得到kt1(u),kt2(u),…,ktj(u),…,ktn(u)。即为模拟日负荷各时刻点的基准值。

本申请用单类型负荷的历史数据统计其分布规律,并按时刻点分别求取各时刻点的累计分布函数的反函数,再统计其误差分布规律,继而仅仅用0-1间的均匀抽样并代入所得的反函数中,就可以得到准确度高又兼顾负荷日变化规律的模拟负荷。相比于传统负荷模拟方法,本发明在建模完成后,抽样简单计算成本低,准确度高,适用性广,同时兼具了日负荷时序变化规律和负荷概率分布情况,在各种应用场景如电源规划、风险评估等有更好的效果。

为了提高精度,本实施例还通过以下模块削除误差:

某时刻负荷在全周期该时刻所有负荷中大小关系的计算模块,将所有负荷历史数据lij分别代入到对应的ftj(x)中,求得数据yij,yij代表某一时刻点的负荷,在全年该时刻点所有负荷值中的大小关系;共计m*n个yij,实施例中为365天每天96个时刻点共365*96即350404个yij;

yij=ftj(lij)(i=1,2,...,m;j=1,2,...,n)(5)

日负荷标准值计算模块,求取每天的yij的平均值ai,如式(6)所示。再将ai代入到对应的ktj(x)中,求得每天的负荷标准值,记为laij,如式(7)所示。得到负荷标准值矩阵la,实施例中矩阵行数365行,列数96列,如式(8)所示。

误差概率密度函数计算模块,以负荷历史数据矩阵l减去负荷标准值矩阵la得到模拟误差,记为c,统计误差矩阵c得到误差的概率密度函数,记为h(x),通常为高斯分布。

h(x)=cdf(cij)(i=1,2,...,m;j=1,2,...,n)(10)

随机波动值计算模块,再同样以0-1均匀分布抽样0-1之间的数,共抽样n次,记为p1,p2,…,pj,…,pn代入到h(x)中,得到h(p1),h(p2),…,h(pj),…,h(pn)。即为模拟日负荷各时刻点的随机波动值。

日负荷模拟结构计算模块,将模拟日负荷各时刻点的标准值和随机波动值相加得kt1(u)+h(p1),kt2(u)+h(p2),…,ktj(u)+h(pj),…,ktn(u)+h(pn),即为所抽样的一天的负荷模拟结果。

多天负荷模拟结果模块,如果需要多天的负荷模拟结果,则按照所需天数重复执行模拟日负荷各时刻点的基准值计算模块、随机波动值计算模块、日负荷模拟结构计算模块,可获得重复次数数量的模拟日负荷数据。

本实施例还提供一种存储介质,其中存储多条指令,指令适用于处理器加载并执行,多条指令为:

负荷数据矩阵构建,获取同一类型的负荷历史数据,构成负荷数据矩阵l,第i天第j时刻的负荷为lij,依据数据量共m天,依据数据时间尺度每天共n个时刻点;

各时刻所有天的负荷数据集合构建,获取各时刻所有天的负荷数据为集合,集合记为t1,t2,…,tj,…,tn;则tj即为集合{l1j,l2j,....,lij,…,lmj};

tj={l1j,l2j,...,lij,....,lmj}(j=1,2,...,n)(2)

累计分布函数的反函数构建,分别处理各个集合的数据得到各个集合的累计分布函数,记为ftj(x),及其反函数,记为ktj(x),则共计n个ftj(x)和n个ktj(x);

ftj(x)=cdf(tj)(j=1,2,...,n)(3)

ktj(x)=ftj-1(x)(j=1,2,...,n)(4)

模拟日负荷各时刻点的基准值计算,以0-1均匀分布抽样出一个0-1之间的数记为u,分别代入到函数ktj(x)中,得到kt1(u),kt2(u),…,ktj(u),…,ktn(u),即为模拟日负荷各时刻点的基准值。

某时刻负荷在全年该时刻所有负荷中大小关系的计算,将所有负荷历史数据lij分别代入到对应的ftj(x)中,求得数据yij,所述yij代表某一时刻点的负荷,在全年该时刻点所有负荷值中的大小关系,共计m*n个yij;

yij=ftj(lij)(i=1,2,...,m;j=1,2,...,n)(5)

日负荷标准值计算模块,求取每天的yij的平均值ai,代入到ktj(x)中,求得每天的负荷标准值,记为laij,得到负荷标准值矩阵la

误差概率密度函数计算,以负荷历史数据矩阵l减去负荷标准值矩阵la得到模拟误差,记为c,统计误差矩阵c得到误差的概率密度函数,记为h(x);

h(x)=cdf(cij)(i=1,2,...,m;j=1,2,...,n)(10)

随机波动值计算,再同样以0-1均匀分布抽样0-1之间的数,共抽样n次,记为p1,p2,…,pj,…,pn代入到h(x)中,得到h(p1),h(p2),…,h(pj),…,h(pn);即为模拟日负荷各时刻点的随机波动值;

日负荷模拟结构计算,将模拟日负荷各时刻点的基准值和随机波动值相加得kt1(u)+h(p1),kt2(u)+h(p2),…,ktj(u)+h(pj),…,ktn(u)+h(pn),即为所抽样的一天的负荷模拟结果;

多天负荷模拟结果,如果需要多天的负荷模拟结果,则按照所需天数重复执行模拟日负荷各时刻点的基准值计算、随机波动值计算、日负荷模拟结构计算指令,可获得重复次数数量的模拟日负荷数据的步骤。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1